Browse Source

improve iswdigit macro to diagnose errors

this is analogous to commit 2ca55a93f2a11185d72dcb69006fd2c30b5c3144
for the macros in ctype.h.
Rich Felker 10 năm trước cách đây
mục cha
commit
d0040e239e
2 tập tin đã thay đổi với 2 bổ sung2 xóa
  1. 1 1
      include/wchar.h
  2. 1 1
      include/wctype.h

+ 1 - 1
include/wchar.h

@@ -175,7 +175,7 @@ wctype_t  wctype(const char *);
 
 #ifndef __cplusplus
 #undef iswdigit
-#define iswdigit(a) ((unsigned)(a)-'0' < 10)
+#define iswdigit(a) (0 ? iswdigit(a) : ((unsigned)(a)-'0') < 10)
 #endif
 #endif
 

+ 1 - 1
include/wctype.h

@@ -45,7 +45,7 @@ wctype_t  wctype(const char *);
 
 #ifndef __cplusplus
 #undef iswdigit
-#define iswdigit(a) (((unsigned)(a)-L'0') < 10)
+#define iswdigit(a) (0 ? iswdigit(a) : ((unsigned)(a)-'0') < 10)
 #endif
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \