diff options
Diffstat (limited to 'intl/l10nflist.c')
-rw-r--r-- | intl/l10nflist.c | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/intl/l10nflist.c b/intl/l10nflist.c index 8add175601..cfead52561 100644 --- a/intl/l10nflist.c +++ b/intl/l10nflist.c @@ -23,7 +23,7 @@ Cambridge, MA 02139, USA. */ # include <config.h> #endif -#if defined _LIBC && (defined __ARGZ_COUNT || defined __ARGZ_STRINGIFY) +#if defined _LIBC || defined HAVE_ARGZ_H # include <argz.h> #endif #include <ctype.h> @@ -33,6 +33,9 @@ Cambridge, MA 02139, USA. */ #endif #if defined HAVE_STRING_H || defined _LIBC +# ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +# endif # include <string.h> #else # include <strings.h> @@ -45,6 +48,15 @@ Cambridge, MA 02139, USA. */ #include "loadinfo.h" +/* On some strange systems still no definition of NULL is found. Sigh! */ +#ifndef NULL +# if defined __STDC__ && __STDC__ +# define NULL ((void *) 0) +# else +# define NULL 0 +# endif +#endif + /* @@ end of prolog @@ */ #ifdef _LIBC @@ -60,12 +72,12 @@ static char *stpcpy PARAMS ((char *dest, const char *src)); /* Define function which are usually not available. */ -#if !defined _LIBC && !defined __ARGZ_COUNT +#if !defined _LIBC && !defined HAVE___ARGZ_COUNT /* Returns the number of strings in ARGZ. */ -static size_t __argz_count PARAMS ((const char *argz, size_t len)); +static size_t argz_count__ PARAMS ((const char *argz, size_t len)); static size_t -__argz_count (argz, len) +argz_count__ (argz, len) const char *argz; size_t len; { @@ -79,15 +91,17 @@ __argz_count (argz, len) } return count; } -#endif /* !_LIBC && !__ARGZ_COUNT */ +# undef __argz_count +# define __argz_count(argz, len) argz_count__ (argz, len) +#endif /* !_LIBC && !HAVE___ARGZ_COUNT */ -#if !defined _LIBC && !defined __ARGZ_STRINGIFY +#if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's except the last into the character SEP. */ -static void __argz_stringify PARAMS ((char *argz, size_t len, int sep)); +static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep)); static void -__argz_stringify (argz, len, sep) +argz_stringify__ (argz, len, sep) char *argz; size_t len; int sep; @@ -101,11 +115,16 @@ __argz_stringify (argz, len, sep) *argz++ = sep; } } -#endif /* !_LIBC && !__ARGZ_COUNT */ +# undef __argz_stringify +# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep) +#endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */ + +#if !defined _LIBC && !defined HAVE___ARGZ_NEXT +static char *argz_next__ PARAMS ((char *argz, size_t argz_len, + const char *entry)); -#if !defined _LIBC && !defined __ARGZ_NEXT static char * -__argz_next (argz, argz_len, entry) +argz_next__ (argz, argz_len, entry) char *argz; size_t argz_len; const char *entry; @@ -123,7 +142,9 @@ __argz_next (argz, argz_len, entry) else return 0; } -#endif +# undef __argz_next +# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry) +#endif /* !_LIBC && !HAVE___ARGZ_NEXT */ /* Return number of bits set in X. */ |