suppress macro definitions of ctype functions under C++
authorRich Felker <dalias@aerifal.cx>
Tue, 14 Oct 2014 16:30:50 +0000 (12:30 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 14 Oct 2014 16:30:50 +0000 (12:30 -0400)
based on patch by Sergey Dmitrouk.

include/ctype.h
include/wchar.h
include/wctype.h

index a6f44df..a7d5db5 100644 (file)
@@ -22,6 +22,7 @@ int   isxdigit(int);
 int   tolower(int);
 int   toupper(int);
 
+#ifndef __cplusplus
 static __inline int __isspace(int _c)
 {
        return _c == ' ' || (unsigned)_c-'\t' < 5;
@@ -34,6 +35,7 @@ static __inline int __isspace(int _c)
 #define isprint(a) (((unsigned)(a)-0x20) < 0x5f)
 #define isgraph(a) (((unsigned)(a)-0x21) < 0x5e)
 #define isspace(a) __isspace(a)
+#endif
 
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
index 52da639..ad727a8 100644 (file)
@@ -172,9 +172,12 @@ int       iswctype(wint_t, wctype_t);
 wint_t    towlower(wint_t);
 wint_t    towupper(wint_t);
 wctype_t  wctype(const char *);
+
+#ifndef __cplusplus
 #undef iswdigit
 #define iswdigit(a) ((unsigned)(a)-'0' < 10)
 #endif
+#endif
 
 #ifdef __cplusplus
 }
index 3ac24f1..3da1219 100644 (file)
@@ -43,8 +43,10 @@ wint_t    towupper(wint_t);
 wctrans_t wctrans(const char *);
 wctype_t  wctype(const char *);
 
+#ifndef __cplusplus
 #undef iswdigit
 #define iswdigit(a) (((unsigned)(a)-L'0') < 10)
+#endif
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)