]> pd.if.org Git - pdclib.old/blob - functions/wctype/towlower.c
Compress the Unicode data into runs. This results in a significant size reduction.
[pdclib.old] / functions / wctype / towlower.c
1 /* towlower( wint_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 <_PDCLIB_locale.h>\r
10 \r
11 wint_t _PDCLIB_towlower_l( wint_t wc, locale_t l )\r
12 {\r
13     wint_t uwc = _PDCLIB_unpackwint( wc );\r
14     _PDCLIB_wcinfo_t *info = _PDCLIB_wcgetinfo( l, uwc );\r
15     if( info ) \r
16     {\r
17         uwc += info->lower_delta;\r
18     }\r
19     return uwc;\r
20 }\r
21 \r
22 wint_t towlower( wint_t wc )\r
23 {\r
24     return _PDCLIB_towlower_l( wc, _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(towlower(0) == 0);\r
35     TESTCASE(towlower(L'a') == L'a');\r
36     TESTCASE(towlower(L'B') == L'b');\r
37     TESTCASE(towlower(L'0') == L'0');\r
38 \r
39     return TEST_RESULTS;\r
40 }\r
41 #endif\r