github.com/afumu/libc@v0.0.6/musl/src/ctype/wctrans.c (about) 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);