1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#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; }