X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fctype.h;h=7936536f577c7d5ee5fd9257b8baad2fc491f4ec;hb=31fb174dd295e50f7c5cf18d31fcfd5fe5a063b7;hp=97b9737cb18343280af09d1e4d54c6b30d63ec45;hpb=74eea628cf43355ba2b227f0bb3c31697d637761;p=oweals%2Fmusl.git diff --git a/include/ctype.h b/include/ctype.h index 97b9737c..7936536f 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -1,6 +1,12 @@ #ifndef _CTYPE_H #define _CTYPE_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + int isalnum(int); int isalpha(int); int isblank(int); @@ -16,17 +22,25 @@ int isxdigit(int); int tolower(int); int toupper(int); -#define isalpha(a) ((unsigned)(((a)|32)-'a') < 26) -#define isdigit(a) ((unsigned)((a)-'0') < 10) -#define islower(a) ((unsigned)((a)-'a') < 26) -#define isupper(a) ((unsigned)((a)-'A') < 26) -#define isprint(a) ((unsigned)((a)-0x20) < 0x5f) -#define isgraph(a) ((unsigned)((a)-0x21) < 0x5e) +#ifndef __cplusplus +static __inline int __isspace(int _c) +{ + return _c == ' ' || (unsigned)_c-'\t' < 5; +} +#define isalpha(a) (0 ? isalpha(a) : (((unsigned)(a)|32)-'a') < 26) +#define isdigit(a) (0 ? isdigit(a) : ((unsigned)(a)-'0') < 10) +#define islower(a) (0 ? islower(a) : ((unsigned)(a)-'a') < 26) +#define isupper(a) (0 ? isupper(a) : ((unsigned)(a)-'A') < 26) +#define isprint(a) (0 ? isprint(a) : ((unsigned)(a)-0x20) < 0x5f) +#define isgraph(a) (0 ? isgraph(a) : ((unsigned)(a)-0x21) < 0x5e) +#define isspace(a) __isspace(a) +#endif #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ - || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) #define __NEED_locale_t #include @@ -50,7 +64,12 @@ int isascii(int); int toascii(int); #define _tolower(a) ((a)|0x20) #define _toupper(a) ((a)&0x5f) +#define isascii(a) (0 ? isascii(a) : (unsigned)(a) < 128) + +#endif +#ifdef __cplusplus +} #endif #endif