Hi Paul,

quotearg.c fails to compile with Sun C 5.0 on Solaris 2.5.1:

cc -O -DHAVE_CONFIG_H -I. -I..      -g -c quotearg.c
"///usr/include/wctype.h", line 83: syntax error before or at: +
"///usr/include/wctype.h", line 83: undefined or not a type: c
"///usr/include/wctype.h", line 83: cannot recover from previous errors
cc: acomp failed for quotearg.c

The reason is the definition of iswprint() as a macro in quotearg.c:48,
which messes up the declaration of the function iswprint in <wctype.h>.

The fix is simple: Include all system headers before defining such macros.
Here is a proposed patch.


2007-03-11  Bruno Haible  <[EMAIL PROTECTED]>

        * lib/quotearg.c: Include <wctype.h> early, before the definition of
        the iswprint macro. Needed on Solaris 2.5.1.

*** lib/quotearg.c      16 Jan 2007 16:31:23 -0000      1.54
--- lib/quotearg.c      11 Mar 2007 22:42:17 -0000
***************
*** 32,37 ****
--- 32,38 ----
  #include <stdlib.h>
  #include <string.h>
  #include <wchar.h>
+ #include <wctype.h>
  
  #include "gettext.h"
  #define _(msgid) gettext (msgid)
***************
*** 54,61 ****
  # define mbsinit(ps) 1
  #endif
  
- #include <wctype.h>
- 
  #ifndef SIZE_MAX
  # define SIZE_MAX ((size_t) -1)
  #endif
--- 55,60 ----



Reply via email to