]> pd.if.org Git - pdclib/blob - functions/wchar/wcscat.c
ad25291ae03d2b51da00060c3328b254cfbe7f2c
[pdclib] / functions / wchar / wcscat.c
1 /* wcscat( 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 wchar_t * wcscat( wchar_t * _PDCLIB_restrict s1, \r
12                   const wchar_t * _PDCLIB_restrict s2 )\r
13 {\r
14     wchar_t * rc = s1;\r
15     if ( *s1 )\r
16     {\r
17         while ( *++s1 );\r
18     }\r
19     while ( (*s1++ = *s2++) );\r
20     return rc;\r
21 }\r
22 \r
23 #endif\r
24 \r
25 #ifdef TEST\r
26 #include <_PDCLIB_test.h>\r
27 \r
28 int main( void )\r
29 {\r
30     wchar_t s[] = L"xx\0xxxxxx";\r
31     TESTCASE( wcscat( s, wabcde ) == s );\r
32     TESTCASE( s[2] == L'a' );\r
33     TESTCASE( s[6] == L'e' );\r
34     TESTCASE( s[7] == L'\0' );\r
35     TESTCASE( s[8] == L'x' );\r
36     s[0] = L'\0';\r
37     TESTCASE( wcscat( s, wabcdx ) == s );\r
38     TESTCASE( s[4] == L'x' );\r
39     TESTCASE( s[5] == L'\0' );\r
40     TESTCASE( wcscat( s, L"\0" ) == s );\r
41     TESTCASE( s[5] == L'\0' );\r
42     TESTCASE( s[6] == L'e' );\r
43     return TEST_RESULTS;\r
44 }\r
45 #endif\r