From 4abab5ad6c8465a7528ccdd5f49367da05f78bbd Mon Sep 17 00:00:00 2001 From: Vladimir Azarov Date: Tue, 1 Oct 2024 15:47:05 +0200 Subject: Initial version --- src/ctype/wctrans.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/ctype/wctrans.c (limited to 'src/ctype/wctrans.c') 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 +#include + +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); -- cgit v1.2.3