wctrans.c raw
1 #include <wctype.h>
2 #include <string.h>
3
4 wctrans_t wctrans(const char *class)
5 {
6 if (!strcmp(class, "toupper")) return (wctrans_t)1;
7 if (!strcmp(class, "tolower")) return (wctrans_t)2;
8 return 0;
9 }
10
11 wint_t towctrans(wint_t wc, wctrans_t trans)
12 {
13 if (trans == (wctrans_t)1) return towupper(wc);
14 if (trans == (wctrans_t)2) return towlower(wc);
15 return wc;
16 }
17
18 wctrans_t __wctrans_l(const char *s, locale_t l)
19 {
20 return wctrans(s);
21 }
22
23 wint_t __towctrans_l(wint_t c, wctrans_t t, locale_t l)
24 {
25 return towctrans(c, t);
26 }
27
28 weak_alias(__wctrans_l, wctrans_l);
29 weak_alias(__towctrans_l, towctrans_l);
30