/* (-lgl * Mark Williams C for the Atari ST Version 1.0 * Copyright (c) 1984-1986 by Mark Williams Company, Chicago. * All rights reserved. May not be copied without permission. -lgl) */ /* * Character type classification routines. * (This is implemented by table lookup). */ #ifndef _U extern char _ctype[]; /* Bits classifications */ #define _U 01 /* Upper case alphabetic */ #define _L 02 /* Lower case alphabetic */ #define _A (_U|_L) /* Alphabetic */ #define _D 010 /* Digit */ #define _S 020 /* White space character */ #define _P 040 /* Punctuation character */ #define _C 0100 /* Control character */ #define _X 0200 /* Printable but nothing else */ #define isalpha(c) (_ctype[(c)+1]&_A) #define isupper(c) (_ctype[(c)+1]&_U) #define islower(c) (_ctype[(c)+1]&_L) #define isdigit(c) (_ctype[(c)+1]&_D) #define isalnum(c) (_ctype[(c)+1]&(_A|_D)) #define isspace(c) (_ctype[(c)+1]&_S) #define ispunct(c) (_ctype[(c)+1]&_P) #define isprint(c) (_ctype[(c)+1]&(_P|_X|_A|_D)) #define iscntrl(c) (_ctype[(c)+1]&_C) #define isascii(c) (((c)&~0177)==0) #define _tolower(c) ((c)|('a'-'A')) #define _toupper(c) ((c)&~('a'-'A')) #define toascii(c) ((c)&0177) #endif