Fix build error if "close" macro is not always visible.
authorBen Pfaff <blp@cs.stanford.edu>
Fri, 26 Aug 2011 03:28:26 +0000 (20:28 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Fri, 26 Aug 2011 03:28:26 +0000 (20:28 -0700)
commit3b74aa9059aefe4ce82ecab1a5fd48cd251600dc
tree5695317318c5f07f5be41c6778a104451af3688f
parent14319bf7eda3adf7be9003fd51eae4b82874beee
Fix build error if "close" macro is not always visible.

Harry Thijssen <pspp@sjpaes.nl> reported the following errors
with recent Gnulib on Win32:

src/language/lexer/lexer.c: In function 'lex_source_destroy':
src/language/lexer/lexer.c:1455: error: 'const struct
    lex_reader_class' has no member named 'rpl_close'
src/language/lexer/lexer.c:1456: error: 'const struct
    lex_reader_class' has no member named 'rpl_close'

The problem was that the Gnulib substitute for <unistd.h>
defines close to rpl_close, but this macro definition wasn't
visible when lexer.c included lexer.h and became visible later.
This commit fixes the problem by making sure that the macro
definition is always visible in lexer.h.

A better solution would probably be to rename the 'close'
member to something other than a standard POSIX function name.

The change to control-stack.h is just precautionary; Harry
didn't report the same problem there.
src/language/control/control-stack.h
src/language/lexer/lexer.h