--- /dev/null
+/* wcscspn( const wchar_t *, const wchar_t * )\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 <wchar.h>\r
+\r
+#ifndef REGTEST\r
+\r
+size_t wcscspn( const wchar_t * s1, const wchar_t * s2 )\r
+{\r
+ size_t len = 0;\r
+ const wchar_t * p;\r
+ while ( s1[len] )\r
+ {\r
+ p = s2;\r
+ while ( *p )\r
+ {\r
+ if ( s1[len] == *p++ )\r
+ {\r
+ return len;\r
+ }\r
+ }\r
+ ++len;\r
+ }\r
+ return len;\r
+}\r
+\r
+#endif\r
+\r
+#ifdef TEST\r
+#include <_PDCLIB_test.h>\r
+\r
+int main( void )\r
+{\r
+ TESTCASE( wcscspn( wabcde, L"x" ) == 5 );\r
+ TESTCASE( wcscspn( wabcde, L"xyz" ) == 5 );\r
+ TESTCASE( wcscspn( wabcde, L"zyx" ) == 5 );\r
+ TESTCASE( wcscspn( wabcdx, L"x" ) == 4 );\r
+ TESTCASE( wcscspn( wabcdx, L"xyz" ) == 4 );\r
+ TESTCASE( wcscspn( wabcdx, L"zyx" ) == 4 );\r
+ TESTCASE( wcscspn( wabcde, L"a" ) == 0 );\r
+ TESTCASE( wcscspn( wabcde, L"abc" ) == 0 );\r
+ TESTCASE( wcscspn( wabcde, L"cba" ) == 0 );\r
+ return TEST_RESULTS;\r
+}\r
+#endif\r