ctype.h revision 9720d5f59b9c1f5d1b9ecbc9173dbcb71bd557be
16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* 26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Copyright (c) 1999 36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Boris Fomitchev 46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * 56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This material is provided "as is", with absolutely no warranty expressed 66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * or implied. Any use is at your own risk. 76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * 86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Permission to use or copy this software for any purpose is hereby granted 96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * without fee, provided the above notices are retained on all copies. 106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Permission to modify the code and to distribute modified code is granted, 116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * provided the above notices are retained, and a notice that the code was 126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * modified is included with the above copyright notice. 136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * 146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef _STLP_CTYPE_H 176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* Workaround for a "misbehaviour" when compiling resource scripts using 196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * eMbedded Visual C++. The standard .rc file includes windows header files, 206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * which in turn include ctype.h, which results in warnings and errors 216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#if !defined(RC_INVOKED) 236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# if !defined (_STLP_OUTERMOST_HEADER_ID) 256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# define _STLP_OUTERMOST_HEADER_ID 0x219 266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# include <stl/_prolog.h> 276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# elif (_STLP_OUTERMOST_HEADER_ID == 0x219) 286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# define _STLP_DONT_POP_HEADER_ID 296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# define _STLP_CTYPE_H 306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# endif 316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# if defined(_STLP_WCE_EVC3) 336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct _exception; 346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# endif 356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# include _STLP_NATIVE_C_HEADER(ctype.h) 376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* on evc4 including ctype.h also defines setjmp macro */ 396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# if defined (_STLP_WCE) 406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# define _STLP_NATIVE_SETJMP_H_INCLUDED 416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# endif 426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# ifndef _STLP_CTYPE_H_SEEN 446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# define _STLP_CTYPE_H_SEEN 456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* Undef convenience interfaces */ 476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef isspace 486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef isprint 496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef iscntrl 506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef isupper 516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef islower 526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef isalpha 536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef isdigit 546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef ispunct 556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef isxdigit 566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef isalnum 576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef isgraph 586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef toupper 596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef tolower 606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# if defined (UNDER_CE) 626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# if (_WIN32_WCE < 300) /* Only wide chars for older versions */ 646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# define _isctype iswctype 656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# endif 666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (isalpha)(int c) { return _isctype(c, _ALPHA); } 686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (isupper)(int c) { return _isctype(c, _UPPER); } 696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (islower)(int c) { return _isctype(c, _LOWER); } 706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (isdigit)(int c) { return _isctype(c, _DIGIT); } 716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (isxdigit)(int c) { return _isctype(c, _HEX); } 726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (isspace)(int c) { return _isctype(c, _SPACE); } 736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (ispunct)(int c) { return _isctype(c, _PUNCT); } 746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (isalnum)(int c) { return _isctype(c, _ALPHA|_DIGIT); } 756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (isprint)(int c) { return _isctype(c, _BLANK|_PUNCT|_ALPHA|_DIGIT); } 766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (isgraph)(int c) { return _isctype(c, _PUNCT|_ALPHA|_DIGIT); } 776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iscntrl)(int c) { return _isctype(c, _CONTROL); } 786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (isascii)(int c) { return ((unsigned)(c) < 0x80); } 796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef _isctype 816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswalpha)(int c) { return iswctype(c, _ALPHA); } 836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswupper)(int c) { return iswctype(c, _UPPER); } 846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswlower)(int c) { return iswctype(c, _LOWER); } 856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswdigit)(int c) { return iswctype(c, _DIGIT); } 866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswxdigit)(int c) { return iswctype(c, _HEX); } 876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswspace)(int c) { return iswctype(c, _SPACE); } 886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswpunct)(int c) { return iswctype(c, _PUNCT); } 896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswalnum)(int c) { return iswctype(c, _ALPHA|_DIGIT); } 906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswprint)(int c) { return iswctype(c, _BLANK|_PUNCT|_ALPHA|_DIGIT); } 916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswgraph)(int c) { return iswctype(c, _PUNCT|_ALPHA|_DIGIT); } 926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswcntrl)(int c) { return iswctype(c, _CONTROL); } 936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org__inline int (iswascii)(int c) { return ((unsigned)(c) < 0x80); } 946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# endif /* UNDER_CE */ 966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# endif /* _STLP_CTYPE_H_SEEN */ 986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# if (_STLP_OUTERMOST_HEADER_ID == 0x219) 1006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# if ! defined (_STLP_DONT_POP_HEADER_ID) 1016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# include <stl/_epilog.h> 1026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef _STLP_OUTERMOST_HEADER_ID 1036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# else 1046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# undef _STLP_DONT_POP_HEADER_ID 1056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# endif 1066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# endif 1076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif /* RC_INVOKED */ 1096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif /* _STLP_CTYPE_H */ 1116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org