summaryrefslogtreecommitdiff
path: root/lib/fnmatch.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/fnmatch.c')
-rw-r--r--lib/fnmatch.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/fnmatch.c b/lib/fnmatch.c
index 452edc063..73dc0e78e 100644
--- a/lib/fnmatch.c
+++ b/lib/fnmatch.c
@@ -63,9 +63,11 @@ char *alloca ();
# include <stdlib.h>
#endif
+#define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)
+
/* For platform which support the ISO C amendement 1 functionality we
support user defined character classes. */
-#if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H)
+#if defined _LIBC || WIDE_CHAR_SUPPORT
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
# include <wchar.h>
# include <wctype.h>
@@ -103,7 +105,6 @@ extern int fnmatch (const char *pattern, const char *string, int flags);
#if defined _LIBC || !defined __GNU_LIBRARY__ || !HAVE_FNMATCH_GNU
-# undef ISASCII /* defined in Solaris5.6's /usr/include/sys/euc.h */
# if defined STDC_HEADERS || !defined isascii
# define ISASCII(c) 1
# else
@@ -121,7 +122,6 @@ extern int fnmatch (const char *pattern, const char *string, int flags);
# define ISGRAPH(c) (ISASCII (c) && isprint (c) && !isspace (c))
# endif
-# undef ISPRINT /* defined in Solaris5.6's /usr/include/sys/euc.h */
# define ISPRINT(c) (ISASCII (c) && isprint (c))
# define ISDIGIT(c) (ISASCII (c) && isdigit (c))
# define ISALNUM(c) (ISASCII (c) && isalnum (c))
@@ -135,7 +135,7 @@ extern int fnmatch (const char *pattern, const char *string, int flags);
# define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
-# if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H)
+# if defined _LIBC || WIDE_CHAR_SUPPORT
/* The GNU C library provides support for user-defined character classes
and the functions from ISO C amendement 1. */
# ifdef CHARCLASS_NAME_MAX