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);