getopt: fix null pointer arithmetic ub
[musl] / src / ctype / wctrans.c
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);