]> pd.if.org Git - pdclib/blob - functions/wctype/towctrans.c
PDCLib includes with quotes, not <>.
[pdclib] / functions / wctype / towctrans.c
1 /* towctrans( wint_t, wctrans_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 <wctype.h>\r
8 #ifndef REGTEST\r
9 #include <string.h>\r
10 #include "_PDCLIB_locale.h"\r
11 \r
12 wint_t _PDCLIB_towctrans_l( wint_t wc, wctrans_t trans, locale_t l )\r
13 {\r
14     switch( trans ) {\r
15         case 0:                         return wc;\r
16         case _PDCLIB_WCTRANS_TOLOWER:   return _PDCLIB_towlower_l( wc, l );\r
17         case _PDCLIB_WCTRANS_TOUPPER:   return _PDCLIB_towupper_l( wc, l );\r
18         default: abort();\r
19     }\r
20 }\r
21 \r
22 wint_t towctrans( wint_t wc, wctrans_t trans )\r
23 {\r
24     return _PDCLIB_towctrans_l( wc, trans, _PDCLIB_threadlocale() );\r
25 }\r
26 \r
27 #endif\r
28 \r
29 #ifdef TEST\r
30 #include "_PDCLIB_test.h"\r
31 \r
32 int main( void )\r
33 {\r
34     TESTCASE(towctrans(L'a', wctrans("toupper")) == L'A');\r
35     TESTCASE(towctrans(L'B', wctrans("toupper")) == L'B');\r
36     TESTCASE(towctrans(L'a', wctrans("tolower")) == L'a');\r
37     TESTCASE(towctrans(L'B', wctrans("tolower")) == L'b');\r
38     TESTCASE(towctrans(L'B', wctrans("invalid")) == L'B');\r
39     TESTCASE(towctrans(L'B', 0)                  == L'B');\r
40     return TEST_RESULTS;\r
41 }\r
42 #endif\r