summaryrefslogtreecommitdiff
path: root/src/user/lib/ctype.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/lib/ctype.c')
-rw-r--r--src/user/lib/ctype.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/user/lib/ctype.c b/src/user/lib/ctype.c
index 7d3a707..fa49a07 100644
--- a/src/user/lib/ctype.c
+++ b/src/user/lib/ctype.c
@@ -1,21 +1,40 @@
#include <ctype.h>
+int isalnum(int c) {
+ return isalpha(c) || isdigit(c);
+}
+
int isalpha(int c) {
return islower(c) || isupper(c);
}
-int isalnum(int c) {
- return isalpha(c) || isdigit(c);
+int iscntrl(int c) {
+ return c <= 0x1f || c == 0x7f;
}
int isdigit(int c) {
return '0' <= c && c <= '9';
}
+int isgraph(int c) {
+ return isalpha(c) || isdigit(c) || ispunct(c);
+}
+
int islower(int c) {
return 'a' <= c && c <= 'z';
}
+int isprint(int c) {
+ return isgraph(c) || c == ' ';
+}
+
+int ispunct(int c) {
+ return ('!' <= c && c <= '/')
+ || (':' <= c && c <= '@')
+ || ('[' <= c && c <= '`')
+ || ('{' <= c && c <= '~');
+}
+
int isspace(int c) {
return c == ' '
|| c == '\f'
@@ -29,6 +48,12 @@ int isupper(int c) {
return 'A' <= c && c <= 'Z';
}
+int isxdigit(int c) {
+ return ('0' <= c && c <= '9')
+ || ('A' <= c && c <= 'F')
+ || ('a' <= c && c <= 'f');
+}
+
int tolower(int c) {
if (isupper(c)) return c - 'A' + 'a';
return c;