]> pd.if.org Git - pdclib.old/blob - functions/wchar/wcsspn.c
Use the GCC ability to place each function/piece of data in its' own section, and...
[pdclib.old] / functions / wchar / wcsspn.c
1 /* wcsspn( 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 wcsspn( 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                 break;\r
23             }\r
24             ++p;\r
25         }\r
26         if ( ! *p )\r
27         {\r
28             return len;\r
29         }\r
30         ++len;\r
31     }\r
32     return len;\r
33 }\r
34 \r
35 #endif\r
36 \r
37 #ifdef TEST\r
38 #include <_PDCLIB_test.h>\r
39 \r
40 int main( void )\r
41 {\r
42     TESTCASE( wcsspn( wabcde, L"abc" ) == 3 );\r
43     TESTCASE( wcsspn( wabcde, L"b" ) == 0 );\r
44     TESTCASE( wcsspn( wabcde, wabcde ) == 5 );\r
45     return TEST_RESULTS;\r
46 }\r
47 #endif\r