From a60457c84a4b59ab564d7f4abb660a70283ba98d Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 14 Oct 2014 12:30:50 -0400 Subject: [PATCH] suppress macro definitions of ctype functions under C++ based on patch by Sergey Dmitrouk. --- include/ctype.h | 2 ++ include/wchar.h | 3 +++ include/wctype.h | 2 ++ 3 files changed, 7 insertions(+) diff --git a/include/ctype.h b/include/ctype.h index a6f44df2..a7d5db5d 100644 --- a/include/ctype.h +++ b/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) \ diff --git a/include/wchar.h b/include/wchar.h index 52da6395..ad727a86 100644 --- a/include/wchar.h +++ b/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 } diff --git a/include/wctype.h b/include/wctype.h index 3ac24f13..3da12195 100644 --- a/include/wctype.h +++ b/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)