]> pd.if.org Git - pdclib.old/blob - functions/wchar/wcscspn.c
PDCLIB-3 wctype: add parentheses around bitwise logic in test cases due to C's quirky...
[pdclib.old] / functions / wchar / wcscspn.c
1 /* wcscspn( const wchar_t *, const wchar_t * )\r
2 \r
3    This file is part of the Public Domain C Library (PDCLib).\r
4    Permission is granted to use, modify, and / or redistribute at will.\r
5 */\r
6 \r
7 #include <wchar.h>\r
8 \r
9 #ifndef REGTEST\r
10 \r
11 size_t wcscspn( const wchar_t * s1, const wchar_t * s2 )\r
12 {\r
13     size_t len = 0;\r
14     const wchar_t * p;\r
15     while ( s1[len] )\r
16     {\r
17         p = s2;\r
18         while ( *p )\r
19         {\r
20             if ( s1[len] == *p++ )\r
21             {\r
22                 return len;\r
23             }\r
24         }\r
25         ++len;\r
26     }\r
27     return len;\r
28 }\r
29 \r
30 #endif\r
31 \r
32 #ifdef TEST\r
33 #include <_PDCLIB_test.h>\r
34 \r
35 int main( void )\r
36 {\r
37     TESTCASE( wcscspn( wabcde, L"x" ) == 5 );\r
38     TESTCASE( wcscspn( wabcde, L"xyz" ) == 5 );\r
39     TESTCASE( wcscspn( wabcde, L"zyx" ) == 5 );\r
40     TESTCASE( wcscspn( wabcdx, L"x" ) == 4 );\r
41     TESTCASE( wcscspn( wabcdx, L"xyz" ) == 4 );\r
42     TESTCASE( wcscspn( wabcdx, L"zyx" ) == 4 );\r
43     TESTCASE( wcscspn( wabcde, L"a" ) == 0 );\r
44     TESTCASE( wcscspn( wabcde, L"abc" ) == 0 );\r
45     TESTCASE( wcscspn( wabcde, L"cba" ) == 0 );\r
46     return TEST_RESULTS;\r
47 }\r
48 #endif\r