From 92b4f1b83af03ec0760800c20aedb0c67bc818bb Mon Sep 17 00:00:00 2001 From: Gitea Date: Sun, 13 Dec 2020 04:55:41 -0600 Subject: [PATCH] Initial ascii-only versions --- ctype/isalnum.c | 5 +++++ ctype/isalpha.c | 5 +++++ ctype/isascii.c | 5 +++++ ctype/isblank.c | 5 +++++ ctype/iscntrl.c | 5 +++++ ctype/isdigit.c | 5 +++++ ctype/isgraph.c | 5 +++++ ctype/islower.c | 5 +++++ ctype/isprint.c | 5 +++++ ctype/ispunct.c | 5 +++++ ctype/isspace.c | 13 +++++++++++++ ctype/isupper.c | 5 +++++ ctype/isxdigit.c | 5 +++++ ctype/toascii.c | 5 +++++ ctype/tolower.c | 5 +++++ ctype/toupper.c | 5 +++++ 16 files changed, 88 insertions(+) create mode 100644 ctype/isalnum.c create mode 100644 ctype/isalpha.c create mode 100644 ctype/isascii.c create mode 100644 ctype/isblank.c create mode 100644 ctype/iscntrl.c create mode 100644 ctype/isdigit.c create mode 100644 ctype/isgraph.c create mode 100644 ctype/islower.c create mode 100644 ctype/isprint.c create mode 100644 ctype/ispunct.c create mode 100644 ctype/isspace.c create mode 100644 ctype/isupper.c create mode 100644 ctype/isxdigit.c create mode 100644 ctype/toascii.c create mode 100644 ctype/tolower.c create mode 100644 ctype/toupper.c diff --git a/ctype/isalnum.c b/ctype/isalnum.c new file mode 100644 index 0000000..f4a0abd --- /dev/null +++ b/ctype/isalnum.c @@ -0,0 +1,5 @@ +#include + +int isalnum(int c) { + return (isalpha(c) || isdigit(c)); +} \ No newline at end of file diff --git a/ctype/isalpha.c b/ctype/isalpha.c new file mode 100644 index 0000000..605ffe2 --- /dev/null +++ b/ctype/isalpha.c @@ -0,0 +1,5 @@ +#include + +int isalpha(int c) { + return (isupper(c) || islower(c)); +} \ No newline at end of file diff --git a/ctype/isascii.c b/ctype/isascii.c new file mode 100644 index 0000000..6694249 --- /dev/null +++ b/ctype/isascii.c @@ -0,0 +1,5 @@ +#include + +int isascii(int c) { + return (c >= 0 && c <= 0177); +} \ No newline at end of file diff --git a/ctype/isblank.c b/ctype/isblank.c new file mode 100644 index 0000000..0f632db --- /dev/null +++ b/ctype/isblank.c @@ -0,0 +1,5 @@ +#include + +int isblank(int c) { + return (c == ' ' || c == '\t'); +} \ No newline at end of file diff --git a/ctype/iscntrl.c b/ctype/iscntrl.c new file mode 100644 index 0000000..e91271e --- /dev/null +++ b/ctype/iscntrl.c @@ -0,0 +1,5 @@ +#include + +int iscntrl(int c) { + return ((c >= 0 && c < 32) || c == 127); +} \ No newline at end of file diff --git a/ctype/isdigit.c b/ctype/isdigit.c new file mode 100644 index 0000000..851e2cd --- /dev/null +++ b/ctype/isdigit.c @@ -0,0 +1,5 @@ +#include + +int isdigit(int c) { + return (c <= '9' && c >= '0'); +} \ No newline at end of file diff --git a/ctype/isgraph.c b/ctype/isgraph.c new file mode 100644 index 0000000..a04024f --- /dev/null +++ b/ctype/isgraph.c @@ -0,0 +1,5 @@ +#include + +int isgraph(int c) { + return (isalnum(c) || ispunct(c)); +} \ No newline at end of file diff --git a/ctype/islower.c b/ctype/islower.c new file mode 100644 index 0000000..6b98cb1 --- /dev/null +++ b/ctype/islower.c @@ -0,0 +1,5 @@ +#include + +int islower(int c) { + return (c >= 'a' && c <= 'z'); +} \ No newline at end of file diff --git a/ctype/isprint.c b/ctype/isprint.c new file mode 100644 index 0000000..be61c39 --- /dev/null +++ b/ctype/isprint.c @@ -0,0 +1,5 @@ +#include + +int isprint(int c) { + return (isgraph(c) || c == ' '); +} \ No newline at end of file diff --git a/ctype/ispunct.c b/ctype/ispunct.c new file mode 100644 index 0000000..3417907 --- /dev/null +++ b/ctype/ispunct.c @@ -0,0 +1,5 @@ +#include + +int ispunct(int c) { + return (c < 128 && !(isalnum(c) || iscntrl(c))); +} \ No newline at end of file diff --git a/ctype/isspace.c b/ctype/isspace.c new file mode 100644 index 0000000..621caef --- /dev/null +++ b/ctype/isspace.c @@ -0,0 +1,13 @@ +#include + +int isspace(int c) { + switch(c) { + case ' ': + case '\f': + case '\n': + case '\r': + case '\t': + case '\v': return 1; + default: return 0; + } +} \ No newline at end of file diff --git a/ctype/isupper.c b/ctype/isupper.c new file mode 100644 index 0000000..399a6cf --- /dev/null +++ b/ctype/isupper.c @@ -0,0 +1,5 @@ +#include + +int isupper(int c) { + return (c >= 'A' && c <= 'Z'); +} \ No newline at end of file diff --git a/ctype/isxdigit.c b/ctype/isxdigit.c new file mode 100644 index 0000000..adc4fbf --- /dev/null +++ b/ctype/isxdigit.c @@ -0,0 +1,5 @@ +#include + +int isxdigit(int c) { + return (isdigit(c) || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')); +} \ No newline at end of file diff --git a/ctype/toascii.c b/ctype/toascii.c new file mode 100644 index 0000000..6bf7b40 --- /dev/null +++ b/ctype/toascii.c @@ -0,0 +1,5 @@ +#include + +int toascii(int c) { + return (c & 0x7f) +} \ No newline at end of file diff --git a/ctype/tolower.c b/ctype/tolower.c new file mode 100644 index 0000000..c26f03b --- /dev/null +++ b/ctype/tolower.c @@ -0,0 +1,5 @@ +#include + +int tolower(int c) { + return (c + 32); +} \ No newline at end of file diff --git a/ctype/toupper.c b/ctype/toupper.c new file mode 100644 index 0000000..b704294 --- /dev/null +++ b/ctype/toupper.c @@ -0,0 +1,5 @@ +#include + +int tolower(int c) { + return (c - 32); +} \ No newline at end of file