From d20988a1cb5692fafa4b22c8752882dc4bf09f3b Mon Sep 17 00:00:00 2001 From: eck Date: Wed, 10 May 1989 09:39:49 +0000 Subject: [PATCH] Initial revision --- lang/cem/libcc.ansi/ctype/ctype.c | 61 +++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 lang/cem/libcc.ansi/ctype/ctype.c diff --git a/lang/cem/libcc.ansi/ctype/ctype.c b/lang/cem/libcc.ansi/ctype/ctype.c new file mode 100644 index 000000000..7392fc2c3 --- /dev/null +++ b/lang/cem/libcc.ansi/ctype/ctype.c @@ -0,0 +1,61 @@ +/* + * ctype.c - character handling + */ +/* $Header$ */ + +int isalnum(c) { /* Alpha numeric character */ + return isdigit(c) || isalpha(c); +} + +int isalpha(c) { /* Alpha character */ + return isupper(c) || islower(c); +} + +int iscntrl(c) { /* Control character */ + return (c >= 0 && c <= 0x1f) || c == 0x7f; +} + +int isdigit(c) { /* Digit character */ + return (unsigned)(c - '0') < 10; +} + +int isgraph(c) { /* Graphical character */ + return isprint(c) && c != ' '; +} + +int islower(c) { /* Lower case character */ + return (unsigned)(c - 'a') < 26; +} + +int isprint(c) { /* Printable character */ + return c > ' ' && c < 0x7f; +} + +int ispunct(c) { /* Punctuation character */ + return isprint(c) && !(c == ' ' || isalnum(c)); +} + +int isspace(c) { /* Space character */ + return c == ' ' || c == '\f' || c == '\n' || + c == '\r' || c == '\t' || c == '\v'; +} + +int isupper(c) { /* Upper case character */ + return (unsigned)(c - 'A') < 26; +} + +int isxdigit(c) { /* Hexdecimal digit character */ + return isdigit(c) || + (c >= 'A' && c <= 'F') || + (c >= 'a' && c <= 'f'); +} + +int tolower(c) { /* Convert to lower case character */ + if (!isupper(c)) return c; + else return c - 'A' + 'a'; +} + +int toupper(c) { /* Convert to upper case character */ + if (!islower(c)) return c; + else return c - 'a' + 'A'; +}