-#define isalnum(c) ((_ctype_ + 1)[c] & (_U|_L|_N))
-#define isalpha(c) ((_ctype_ + 1)[c] & (_U|_L))
-#define iscntrl(c) ((_ctype_ + 1)[c] & _C)
-#define isdigit(c) ((_ctype_ + 1)[c] & _N)
-#define isgraph(c) ((_ctype_ + 1)[c] & (_P|_U|_L|_N))
-#define islower(c) ((_ctype_ + 1)[c] & _L)
-#define isprint(c) ((_ctype_ + 1)[c] & (_P|_U|_L|_N|_B))
-#define ispunct(c) ((_ctype_ + 1)[c] & _P)
-#define isspace(c) ((_ctype_ + 1)[c] & _S)
-#define isupper(c) ((_ctype_ + 1)[c] & _U)
-#define isxdigit(c) ((_ctype_ + 1)[c] & (_N|_X))
-#define tolower(c) ((c) - 'A' + 'a')
-#define toupper(c) ((c) - 'a' + 'A')
+#define isalnum(c) ((__ctype + 1)[c] & (_U|_L|_N))
+#define isalpha(c) ((__ctype + 1)[c] & (_U|_L))
+#define iscntrl(c) ((__ctype + 1)[c] & _C)
+#define isdigit(c) ((__ctype + 1)[c] & _N)
+#define isgraph(c) ((__ctype + 1)[c] & (_P|_U|_L|_N))
+#define islower(c) ((__ctype + 1)[c] & _L)
+#define isprint(c) ((__ctype + 1)[c] & (_P|_U|_L|_N|_B))
+#define ispunct(c) ((__ctype + 1)[c] & _P)
+#define isspace(c) ((__ctype + 1)[c] & _S)
+#define isupper(c) ((__ctype + 1)[c] & _U)
+#define isxdigit(c) ((__ctype + 1)[c] & (_N|_X))
+#define tolower(c) ((__maplower + 1)[c])
+#define toupper(c) ((__mapupper + 1)[c])