#ifndef __CTYPE_H
#define __CTYPE_H
-#include <features.h>
-extern unsigned char __ctype[];
-
-#define __CT_c 0x01 /* control character */
-#define __CT_u 0x02 /* upper case */
-#define __CT_l 0x04 /* lower case */
-#define __CT_d 0x08 /* numeric digit */
-#define __CT_s 0x10 /* whitespace */
-#define __CT_p 0x20 /* punctuation */
-#define __CT_x 0x40 /* hexadecimal */
-
-#define __CT_a (__CT_u|__CT_l) /* alpha */
-
-/* always functions ! */
-extern int toupper __P((int));
-extern int tolower __P((int));
-
-#define _toupper(c) (islower(c) ? (c)^0x20 : (c))
-#define _tolower(c) (isupper(c) ? (c)^0x20 : (c))
-#define __toupper(c) ((c)^0x20)
-#define __tolower(c) ((c)^0x20)
-#define toascii(c) ((c)&0x7F)
-
-#define _CTYPE(c) (__ctype[(unsigned char)(c)])
-
-/* Note the '!!' is a cast to 'bool' and even BCC deletes it in an if() */
-#define isascii(c) (!((c)&~0x7F))
-#define isalnum(c) (!!(_CTYPE(c)&(__CT_a|__CT_d)))
-#define isalpha(c) (!!(_CTYPE(c)&__CT_a))
-#define iscntrl(c) (!!(_CTYPE(c)&__CT_c))
-#define isdigit(c) (!!(_CTYPE(c)&__CT_d))
-#define isgraph(c) (! (_CTYPE(c)&(__CT_c|__CT_s)))
-#define islower(c) (!!(_CTYPE(c)&__CT_l))
-#define isprint(c) (! (_CTYPE(c)&__CT_c))
-#define ispunct(c) (!!(_CTYPE(c)&__CT_p))
-#define isspace(c) (!!(_CTYPE(c)&__CT_s))
-#define isupper(c) (!!(_CTYPE(c)&__CT_u))
-#define isxdigit(c) (!!(_CTYPE(c)&__CT_x))
-
-#define isdecimal(c) isdigit(c)
-#define isoctal(c) ((c) >= '0' && (c) <= '7')
+extern int toupper(int c);
+extern int tolower(int c);
+
+#define toascii(c) ((c) & 0x7f)
+
+extern int isalnum(int c);
+extern int isalpha(int c);
+extern int isascii(int c);
+extern int isblank(int c);
+extern int iscntrl(int c);
+extern int isdigit(int c);
+extern int isgraph(int c);
+extern int islower(int c);
+extern int ispunct(int c);
+extern int isspace(int c);
+extern int isupper(int c);
+extern int isxdigit(int c);
+extern int isoctal(int c);
+
+#define isdecimal isdigit
+#define isprint(c) (!iscntrl(c))
+#define _tolower tolower
+#define _toupper toupper
#endif /* __CTYPE_H */
+++ /dev/null
-/*\r
- * CTYPE.C Character classification and conversion\r
- */ \r
-/* Copyright (C) 1995,1996 Robert de Bath <rdebath@cix.compulink.co.uk>\r
- * This file is part of the Linux-8086 C library and is distributed\r
- * under the GNU Library General Public License.\r
- */ \r
-#include <types.h>\r
-#include <ctype.h>\r
- \r
-#undef toupper\r
-#undef tolower\r
-\r
-unsigned char __ctype[256] = { \r__CT_c, __CT_c, __CT_c, __CT_c, /* 0x00..0x03 */ \r
- __CT_c, __CT_c, __CT_c, __CT_c, /* 0x04..0x07 */ \r
- __CT_c, __CT_c | __CT_s, __CT_c | __CT_s, __CT_c | __CT_s, /* 0x08..0x0B */ \r
- __CT_c | __CT_s, __CT_c | __CT_s, __CT_c, __CT_c, /* 0x0C..0x0F */ \r
- __CT_c, __CT_c, __CT_c, __CT_c, /* 0x10..0x13 */ \r
- __CT_c, __CT_c, __CT_c, __CT_c, /* 0x14..0x17 */ \r
- __CT_c, __CT_c, __CT_c, __CT_c, /* 0x18..0x1B */ \r
- __CT_c, __CT_c, __CT_c, __CT_c, /* 0x1C..0x1F */ \r
- __CT_s, __CT_p, __CT_p, __CT_p, /* 0x20..0x23 */ \r
- __CT_p, __CT_p, __CT_p, __CT_p, /* 0x24..0x27 */ \r
- __CT_p, __CT_p, __CT_p, __CT_p, /* 0x28..0x2B */ \r
- __CT_p, __CT_p, __CT_p, __CT_p, /* 0x2C..0x2F */ \r
- __CT_d | __CT_x, __CT_d | __CT_x, __CT_d | __CT_x,
- __CT_d | __CT_x, /* 0x30..0x33 */ \r
- __CT_d | __CT_x, __CT_d | __CT_x, __CT_d | __CT_x,
- __CT_d | __CT_x, /* 0x34..0x37 */ \r
- __CT_d | __CT_x, __CT_d | __CT_x, __CT_p, __CT_p, /* 0x38..0x3B */ \r
- __CT_p, __CT_p, __CT_p, __CT_p, /* 0x3C..0x3F */ \r
- __CT_p, __CT_u | __CT_x, __CT_u | __CT_x, __CT_u | __CT_x, /* 0x40..0x43 */ \r
- __CT_u | __CT_x, __CT_u | __CT_x, __CT_u | __CT_x, __CT_u, /* 0x44..0x47 */ \r
- __CT_u, __CT_u, __CT_u, __CT_u, /* 0x48..0x4B */ \r
- __CT_u, __CT_u, __CT_u, __CT_u, /* 0x4C..0x4F */ \r
- __CT_u, __CT_u, __CT_u, __CT_u, /* 0x50..0x53 */ \r
- __CT_u, __CT_u, __CT_u, __CT_u, /* 0x54..0x57 */ \r
- __CT_u, __CT_u, __CT_u, __CT_p, /* 0x58..0x5B */ \r
- __CT_p, __CT_p, __CT_p, __CT_p, /* 0x5C..0x5F */ \r
- __CT_p, __CT_l | __CT_x, __CT_l | __CT_x, __CT_l | __CT_x, /* 0x60..0x63 */ \r
- __CT_l | __CT_x, __CT_l | __CT_x, __CT_l | __CT_x, __CT_l, /* 0x64..0x67 */ \r
- __CT_l, __CT_l, __CT_l, __CT_l, /* 0x68..0x6B */ \r
- __CT_l, __CT_l, __CT_l, __CT_l, /* 0x6C..0x6F */ \r
- __CT_l, __CT_l, __CT_l, __CT_l, /* 0x70..0x73 */ \r
- __CT_l, __CT_l, __CT_l, __CT_l, /* 0x74..0x77 */ \r
- __CT_l, __CT_l, __CT_l, __CT_p, /* 0x78..0x7B */ \r
- __CT_p, __CT_p, __CT_p, __CT_c /* 0x7C..0x7F */ \r
-};
-
-int toupper(int c) \r
-{
- return (islower(c) ? (c ^ 0x20) : (c));
-}
-
-int tolower(int c) \r
-{
- return (isupper(c) ? (c ^ 0x20) : (c));
-}