]> pd.if.org Git - pdclib/blobdiff - functions/wctype/wctype.c
dos2unix
[pdclib] / functions / wctype / wctype.c
index c07fc0f2682b200b3ba512c7dbdca7992f8a2ff8..3e8aa1f1234849af217fa4c8dc75a374a1f3ee18 100644 (file)
-/* wctype( const char * )\r
-\r
-   This file is part of the Public Domain C Library (PDCLib).\r
-   Permission is granted to use, modify, and / or redistribute at will.\r
-*/\r
-\r
-#include <wctype.h>\r
-#ifndef REGTEST\r
-#include <string.h>\r
-#include "_PDCLIB_locale.h"\r
-\r
-wctype_t wctype( const char * property )\r
-{\r
-    if(property) switch(property[0])\r
-    {\r
-        case 'a':\r
-            if(strcmp(property, "alpha") == 0) {\r
-                return _PDCLIB_CTYPE_ALPHA;\r
-            } else if(strcmp(property, "alnum") == 0) {\r
-                return _PDCLIB_CTYPE_ALPHA | _PDCLIB_CTYPE_DIGIT;\r
-            } else return 0;\r
-\r
-        case 'b':\r
-            if(strcmp(property, "blank") == 0) {\r
-                return _PDCLIB_CTYPE_BLANK;\r
-            } else return 0;\r
-\r
-        case 'c':\r
-            if(strcmp(property, "cntrl") == 0) {\r
-                return _PDCLIB_CTYPE_CNTRL;\r
-            } else return 0;\r
-\r
-        case 'd':\r
-            if(strcmp(property, "digit") == 0) {\r
-                return _PDCLIB_CTYPE_DIGIT;\r
-            } else return 0;\r
-\r
-        case 'g':\r
-            if(strcmp(property, "graph") == 0) {\r
-                return _PDCLIB_CTYPE_GRAPH;\r
-            } else return 0;\r
-\r
-        case 'l':\r
-            if(strcmp(property, "lower") == 0) {\r
-                return _PDCLIB_CTYPE_LOWER;\r
-            } else return 0;\r
-\r
-        case 'p':\r
-            if(strcmp(property, "print") == 0) {\r
-                return _PDCLIB_CTYPE_GRAPH | _PDCLIB_CTYPE_SPACE;\r
-            } else if(strcmp(property, "punct") == 0) {\r
-                return _PDCLIB_CTYPE_PUNCT;\r
-            } else return 0;\r
-\r
-        case 's':\r
-            if(strcmp(property, "space") == 0) {\r
-                return _PDCLIB_CTYPE_SPACE;\r
-            } else return 0;\r
-\r
-        case 'u':\r
-            if(strcmp(property, "upper") == 0) {\r
-                return _PDCLIB_CTYPE_UPPER;\r
-            } else return 0;\r
-\r
-        case 'x':\r
-            if(strcmp(property, "xdigit") == 0) {\r
-                return _PDCLIB_CTYPE_XDIGT;\r
-            } else return 0;\r
-    }\r
-    return 0;\r
-}\r
-\r
-#endif\r
-\r
-#ifdef TEST\r
-#include "_PDCLIB_test.h"\r
-\r
-int main( void )\r
-{\r
-    TESTCASE(wctype("")   == 0);\r
-    TESTCASE_NOREG(wctype(NULL) == 0); // mingw libc crashes on this\r
-\r
-    TESTCASE(wctype("alpha")  != 0);\r
-    TESTCASE(wctype("alnum")  != 0);\r
-    TESTCASE(wctype("blank")  != 0);\r
-    TESTCASE(wctype("cntrl")  != 0);\r
-    TESTCASE(wctype("digit")  != 0);\r
-    TESTCASE(wctype("graph")  != 0);\r
-    TESTCASE(wctype("lower")  != 0);\r
-    TESTCASE(wctype("print")  != 0);\r
-    TESTCASE(wctype("punct")  != 0);\r
-    TESTCASE(wctype("space")  != 0);\r
-    TESTCASE(wctype("upper")  != 0);\r
-    TESTCASE(wctype("xdigit") != 0);\r
-\r
-    TESTCASE_NOREG(wctype("alpha")  == _PDCLIB_CTYPE_ALPHA);\r
-    TESTCASE_NOREG(wctype("alnum")  == (_PDCLIB_CTYPE_ALPHA | _PDCLIB_CTYPE_DIGIT));\r
-    TESTCASE_NOREG(wctype("blank")  == _PDCLIB_CTYPE_BLANK);\r
-    TESTCASE_NOREG(wctype("cntrl")  == _PDCLIB_CTYPE_CNTRL);\r
-    TESTCASE_NOREG(wctype("digit")  == _PDCLIB_CTYPE_DIGIT);\r
-    TESTCASE_NOREG(wctype("graph")  == _PDCLIB_CTYPE_GRAPH);\r
-    TESTCASE_NOREG(wctype("lower")  == _PDCLIB_CTYPE_LOWER);\r
-    TESTCASE_NOREG(wctype("print")  == (_PDCLIB_CTYPE_GRAPH | _PDCLIB_CTYPE_SPACE));\r
-    TESTCASE_NOREG(wctype("punct")  == _PDCLIB_CTYPE_PUNCT);\r
-    TESTCASE_NOREG(wctype("space")  == _PDCLIB_CTYPE_SPACE);\r
-    TESTCASE_NOREG(wctype("upper")  == _PDCLIB_CTYPE_UPPER);\r
-    TESTCASE_NOREG(wctype("xdigit") == _PDCLIB_CTYPE_XDIGT);\r
-    return TEST_RESULTS;\r
-}\r
-#endif\r
+/* wctype( const char * )
+
+   This file is part of the Public Domain C Library (PDCLib).
+   Permission is granted to use, modify, and / or redistribute at will.
+*/
+
+#include <wctype.h>
+#ifndef REGTEST
+#include <string.h>
+#include "_PDCLIB_locale.h"
+
+wctype_t wctype( const char * property )
+{
+    if(property) switch(property[0])
+    {
+        case 'a':
+            if(strcmp(property, "alpha") == 0) {
+                return _PDCLIB_CTYPE_ALPHA;
+            } else if(strcmp(property, "alnum") == 0) {
+                return _PDCLIB_CTYPE_ALPHA | _PDCLIB_CTYPE_DIGIT;
+            } else return 0;
+
+        case 'b':
+            if(strcmp(property, "blank") == 0) {
+                return _PDCLIB_CTYPE_BLANK;
+            } else return 0;
+
+        case 'c':
+            if(strcmp(property, "cntrl") == 0) {
+                return _PDCLIB_CTYPE_CNTRL;
+            } else return 0;
+
+        case 'd':
+            if(strcmp(property, "digit") == 0) {
+                return _PDCLIB_CTYPE_DIGIT;
+            } else return 0;
+
+        case 'g':
+            if(strcmp(property, "graph") == 0) {
+                return _PDCLIB_CTYPE_GRAPH;
+            } else return 0;
+
+        case 'l':
+            if(strcmp(property, "lower") == 0) {
+                return _PDCLIB_CTYPE_LOWER;
+            } else return 0;
+
+        case 'p':
+            if(strcmp(property, "print") == 0) {
+                return _PDCLIB_CTYPE_GRAPH | _PDCLIB_CTYPE_SPACE;
+            } else if(strcmp(property, "punct") == 0) {
+                return _PDCLIB_CTYPE_PUNCT;
+            } else return 0;
+
+        case 's':
+            if(strcmp(property, "space") == 0) {
+                return _PDCLIB_CTYPE_SPACE;
+            } else return 0;
+
+        case 'u':
+            if(strcmp(property, "upper") == 0) {
+                return _PDCLIB_CTYPE_UPPER;
+            } else return 0;
+
+        case 'x':
+            if(strcmp(property, "xdigit") == 0) {
+                return _PDCLIB_CTYPE_XDIGT;
+            } else return 0;
+    }
+    return 0;
+}
+
+#endif
+
+#ifdef TEST
+#include "_PDCLIB_test.h"
+
+int main( void )
+{
+    TESTCASE(wctype("")   == 0);
+    TESTCASE_NOREG(wctype(NULL) == 0); // mingw libc crashes on this
+
+    TESTCASE(wctype("alpha")  != 0);
+    TESTCASE(wctype("alnum")  != 0);
+    TESTCASE(wctype("blank")  != 0);
+    TESTCASE(wctype("cntrl")  != 0);
+    TESTCASE(wctype("digit")  != 0);
+    TESTCASE(wctype("graph")  != 0);
+    TESTCASE(wctype("lower")  != 0);
+    TESTCASE(wctype("print")  != 0);
+    TESTCASE(wctype("punct")  != 0);
+    TESTCASE(wctype("space")  != 0);
+    TESTCASE(wctype("upper")  != 0);
+    TESTCASE(wctype("xdigit") != 0);
+
+    TESTCASE_NOREG(wctype("alpha")  == _PDCLIB_CTYPE_ALPHA);
+    TESTCASE_NOREG(wctype("alnum")  == (_PDCLIB_CTYPE_ALPHA | _PDCLIB_CTYPE_DIGIT));
+    TESTCASE_NOREG(wctype("blank")  == _PDCLIB_CTYPE_BLANK);
+    TESTCASE_NOREG(wctype("cntrl")  == _PDCLIB_CTYPE_CNTRL);
+    TESTCASE_NOREG(wctype("digit")  == _PDCLIB_CTYPE_DIGIT);
+    TESTCASE_NOREG(wctype("graph")  == _PDCLIB_CTYPE_GRAPH);
+    TESTCASE_NOREG(wctype("lower")  == _PDCLIB_CTYPE_LOWER);
+    TESTCASE_NOREG(wctype("print")  == (_PDCLIB_CTYPE_GRAPH | _PDCLIB_CTYPE_SPACE));
+    TESTCASE_NOREG(wctype("punct")  == _PDCLIB_CTYPE_PUNCT);
+    TESTCASE_NOREG(wctype("space")  == _PDCLIB_CTYPE_SPACE);
+    TESTCASE_NOREG(wctype("upper")  == _PDCLIB_CTYPE_UPPER);
+    TESTCASE_NOREG(wctype("xdigit") == _PDCLIB_CTYPE_XDIGT);
+    return TEST_RESULTS;
+}
+#endif