diff options
Diffstat (limited to 'src/ctype/wctrans.c')
-rw-r--r-- | src/ctype/wctrans.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/ctype/wctrans.c b/src/ctype/wctrans.c new file mode 100644 index 0000000..d3eda52 --- /dev/null +++ b/src/ctype/wctrans.c @@ -0,0 +1,29 @@ +#include <wctype.h> +#include <string.h> + +wctrans_t wctrans(const char *class) +{ + if (!strcmp(class, "toupper")) return (wctrans_t)1; + if (!strcmp(class, "tolower")) return (wctrans_t)2; + return 0; +} + +wint_t towctrans(wint_t wc, wctrans_t trans) +{ + if (trans == (wctrans_t)1) return towupper(wc); + if (trans == (wctrans_t)2) return towlower(wc); + return wc; +} + +wctrans_t __wctrans_l(const char *s, locale_t l) +{ + return wctrans(s); +} + +wint_t __towctrans_l(wint_t c, wctrans_t t, locale_t l) +{ + return towctrans(c, t); +} + +weak_alias(__wctrans_l, wctrans_l); +weak_alias(__towctrans_l, towctrans_l); |