From d8e418bff15614315cee0cc20cd890146dd086f4 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Mon, 24 Mar 2003 12:56:56 +0000 Subject: 18376: Fix headers for wchar.h and some related gcc waringnings --- ChangeLog | 6 ++++++ Src/system.h | 10 ++++++++++ Src/utils.c | 6 +++--- zshconfig.ac | 2 +- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5d6b88edf..2119589ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-03-24 Peter Stephenson + + * 18376: zshconfig.ac, Src/system.h, Src/utils.c: use of + wide characters needs some more header munging; also silence + a couple of related gcc warnings. + 2003-03-20 Doug Kearns * 18369: Completion/Unix/Command/_tidy: update HTML Tidy completion diff --git a/Src/system.h b/Src/system.h index 42a5f1197..c9e1a5a27 100644 --- a/Src/system.h +++ b/Src/system.h @@ -89,6 +89,16 @@ char *alloca _((size_t)); # include #endif +#ifdef HAVE_STDDEF_H +/* + * Seen on Solaris 8 with gcc: stddef defines offsetof, which clashes + * with system.h's definition of the symbol unless we include this + * first. Otherwise, this will be hooked in by wchar.h, too late + * for comfort. + */ +#include +#endif + #include #include #include diff --git a/Src/utils.c b/Src/utils.c index 57a5e6771..6671c62d9 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -3395,8 +3395,8 @@ getkeystring(char *s, int *len, int fromwhere, int *misc) for (i=(*s == 'u' ? 4 : 8); i>0; i--) { if (*++s && idigit(*s)) wval = wval * 16 + (*s - '0'); - else if (*s && (*s >= 'a' && *s <= 'f') || - (*s >= 'A' && *s <= 'F')) + else if (*s && ((*s >= 'a' && *s <= 'f') || + (*s >= 'A' && *s <= 'F'))) wval = wval * 16 + (*s & 0x1f) + 9; else { s--; @@ -3430,7 +3430,7 @@ getkeystring(char *s, int *len, int fromwhere, int *misc) *len = t - buf; return buf; } - iconv(cd, &inptr, &inbytes, &outptr, &outbytes); + iconv(cd, (const char **)&inptr, &inbytes, &outptr, &outbytes); iconv_close(cd); count = wctomb(t, *outbuf); #endif diff --git a/zshconfig.ac b/zshconfig.ac index 5d561fb33..0d03cd19d 100644 --- a/zshconfig.ac +++ b/zshconfig.ac @@ -494,7 +494,7 @@ AC_CHECK_HEADERS(sys/time.h sys/times.h sys/select.h termcap.h termio.h \ limits.h fcntl.h libc.h sys/utsname.h sys/resource.h \ locale.h errno.h stdio.h stdlib.h unistd.h sys/capability.h \ utmp.h utmpx.h sys/types.h pwd.h grp.h poll.h sys/mman.h \ - netinet/in_systm.h pcre.h langinfo.h wchar.h) + netinet/in_systm.h pcre.h langinfo.h wchar.h stddef.h) if test $dynamic = yes; then AC_CHECK_HEADERS(dlfcn.h) AC_CHECK_HEADERS(dl.h) -- cgit 1.4.1