about summary refs log tree commit diff
path: root/include/wctype.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/wctype.h')
-rw-r--r--include/wctype.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/wctype.h b/include/wctype.h
index 5f818decaa..d094d624c5 100644
--- a/include/wctype.h
+++ b/include/wctype.h
@@ -1,5 +1,37 @@
 #ifndef _WCTYPE_H
 
+/* We try to get wint_t from <stddef.h>, but not all GCC versions define it
+   there.  So define it ourselves if it remains undefined.  */
+# define __need_wint_t
+# include <stddef.h>
+# ifndef _WINT_T
+/* Integral type unchanged by default argument promotions that can
+   hold any value corresponding to members of the extended character
+   set, as well as at least one value that does not correspond to any
+   member of the extended character set.  */
+#  define _WINT_T
+typedef unsigned int wint_t;
+# endif
+
+/* Need to repeat these prototypes here, as wctype/wctype.h defines all
+   these as macros and thus we couldn't add libc_hidden_proto.  */
+
+extern int iswalpha (wint_t __wc);
+extern int iswdigit (wint_t __wc);
+extern int iswlower (wint_t __wc);
+extern int iswspace (wint_t __wc);
+extern int iswxdigit (wint_t __wc);
+extern wint_t towlower (wint_t __wc);
+extern wint_t towupper (wint_t __wc);
+
+libc_hidden_proto (iswalpha)
+libc_hidden_proto (iswdigit)
+libc_hidden_proto (iswlower)
+libc_hidden_proto (iswspace)
+libc_hidden_proto (iswxdigit)
+libc_hidden_proto (towlower)
+libc_hidden_proto (towupper)
+
 #include <wctype/wctype.h>
 
 /* Internal interfaces.  */