X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fwchar%2Fwcscat.c;fp=functions%2Fwchar%2Fwcscat.c;h=ad25291ae03d2b51da00060c3328b254cfbe7f2c;hb=14b5b78e19a79f590233caee7848e7cb19084088;hp=0000000000000000000000000000000000000000;hpb=41777e3d5dc655f59a8c3bcd071639e6878e853a;p=pdclib diff --git a/functions/wchar/wcscat.c b/functions/wchar/wcscat.c new file mode 100644 index 0000000..ad25291 --- /dev/null +++ b/functions/wchar/wcscat.c @@ -0,0 +1,45 @@ +/* wcscat( wchar_t *, const wchar_t * ) + + This file is part of the Public Domain C Library (PDCLib). + Permission is granted to use, modify, and / or redistribute at will. +*/ + +#include + +#ifndef REGTEST + +wchar_t * wcscat( wchar_t * _PDCLIB_restrict s1, + const wchar_t * _PDCLIB_restrict s2 ) +{ + wchar_t * rc = s1; + if ( *s1 ) + { + while ( *++s1 ); + } + while ( (*s1++ = *s2++) ); + return rc; +} + +#endif + +#ifdef TEST +#include <_PDCLIB_test.h> + +int main( void ) +{ + wchar_t s[] = L"xx\0xxxxxx"; + TESTCASE( wcscat( s, wabcde ) == s ); + TESTCASE( s[2] == L'a' ); + TESTCASE( s[6] == L'e' ); + TESTCASE( s[7] == L'\0' ); + TESTCASE( s[8] == L'x' ); + s[0] = L'\0'; + TESTCASE( wcscat( s, wabcdx ) == s ); + TESTCASE( s[4] == L'x' ); + TESTCASE( s[5] == L'\0' ); + TESTCASE( wcscat( s, L"\0" ) == s ); + TESTCASE( s[5] == L'\0' ); + TESTCASE( s[6] == L'e' ); + return TEST_RESULTS; +} +#endif