For libc, define iswdigit, iswdigit_l, and __iswdigit_l as simple
authordrepper <drepper>
Tue, 16 Mar 2004 10:08:21 +0000 (10:08 +0000)
committerdrepper <drepper>
Tue, 16 Mar 2004 10:08:21 +0000 (10:08 +0000)
comparison macros.

include/wctype.h

index a2d5e18..2828c3a 100644 (file)
@@ -84,4 +84,15 @@ libc_hidden_proto (__iswxdigit_l)
 libc_hidden_proto (__towlower_l)
 libc_hidden_proto (__towupper_l)
 
+/* The spec says that isdigit must only match the decimal digits.  We
+   can check this without a memory access.  */
+# ifndef NOT_IN_libc
+#  undef iswdigit
+#  define iswdigit(c) ({ wint_t __c = (c); __c >= L'0' && __c <= L'9'; })
+#  undef iswdigit_l
+#  define iswdigit_l(c, l) ({ wint_t __c = (c); __c >= L'0' && __c <= L'9'; })
+#  undef __iswdigit_l
+#  define __iswdigit_l(c, l) ({ wint_t __c = (c); __c >= L'0' && __c <= L'9'; })
+# endif
+
 #endif