Pārlūkot izejas kodu

suppress macro definitions of ctype functions under C++

based on patch by Sergey Dmitrouk.
Rich Felker 10 gadi atpakaļ
vecāks
revīzija
a60457c84a
3 mainītis faili ar 7 papildinājumiem un 0 dzēšanām
  1. 2 0
      include/ctype.h
  2. 3 0
      include/wchar.h
  3. 2 0
      include/wctype.h

+ 2 - 0
include/ctype.h

@@ -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) \

+ 3 - 0
include/wchar.h

@@ -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
 }

+ 2 - 0
include/wctype.h

@@ -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)