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 a6f44df2e34dca33ee3148577f58a68f9348b59e..a7d5db5d92ad059cb6c555264a6f755391414704 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 52da63956643c926793878dd0581f9b51042fbb2..ad727a86aefd2ea61c3e4513d9f2f03dd025319f 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 3ac24f13841a762c1ee948cffed32c19841162e3..3da1219566d802cb92b2313fbcf9449ee97bef74 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)