libpayload: avoid excessive casts in printf.c
[coreboot.git] / payloads / libpayload / libc / ctype.c
index c2f42a52d2d45ae1c22ac5f612818f2293fe042e..fba9a7caee672fc84adfbce874b2129ba45b197c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the libpayload project.
  *
- * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ * Copyright (C) 2008 Uwe Hermann <uwe@hermann-uwe.de>
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * SUCH DAMAGE.
  */
 
-/* Basic ctype functions */
-
 #include <libpayload.h>
 
-int isspace(int c)
+int isalpha(int c)
+{
+       return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));
+}
+
+int isascii(int c)
+{
+       return (c >= 0 && c <= 127);
+}
+
+int isblank(int c)
+{
+       return (c == ' ' || c == '\t');
+}
+
+int iscntrl(int c)
 {
-    switch (c) {
-    case ' ': case '\f': case '\n':
-    case '\r': case '\t': case '\v':
-       return 1;
-    default:
-       return 0;
-    }
+       return (c <= 31 || c == 127);
 }
 
 int isdigit(int c)
 {
-    switch (c) {
-    case '0'...'9':
-       return 1;
-    default:
-       return 0;
-    }
+       return (c >= '0' && c <= '9');
+}
+
+int isalnum(int c)
+{
+       return isalpha(c) || isdigit(c);
+}
+
+int isgraph(int c)
+{
+       return (c >= 33 && c <= 126);
+}
+
+int islower(int c)
+{
+       return (c >= 'a' && c <= 'z');
+}
+
+int isprint(int c)
+{
+       return (c >= 32 && c <= 126);
+}
+
+int ispunct(int c)
+{
+       return isprint(c) && !isspace(c) && !isalnum(c);
+}
+
+int isspace(int c)
+{
+       return (c == ' ' || (c >= '\t' && c <= '\r'));
+}
+
+int isupper(int c)
+{
+       return (c >= 'A' && c <= 'Z');
+}
+
+int isxdigit(int c)
+{
+       return isdigit(c) || (tolower(c) >= 'a' && tolower(c) <= 'f');
 }
 
 int tolower(int c)
 {
-    if (c >= 'A' && c <= 'Z')
-       return c - 'A' + 'a';
-    return c;
+       return (c >= 'A' && c <= 'Z') ? (c + 32) : c;
 }
+
+int toupper(int c)
+{
+       return (c >= 'a' && c <= 'z') ? (c - 32) : c;
+}
+