/*
- * Sherlock Library -- Character Types
+ * UCW Library -- Character Types
*
- * (c) 1997 Martin Mares <mj@ucw.cz>
+ * (c) 1997--2004 Martin Mares <mj@ucw.cz>
*
* This software may be freely distributed and used according to the terms
* of the GNU Lesser General Public License.
*/
-#ifndef _SHERLOCK_CHARTYPE_H
-#define _SHERLOCK_CHARTYPE_H
+#ifndef _UCW_CHARTYPE_H
+#define _UCW_CHARTYPE_H
#define _C_UPPER 1 /* Upper-case letters */
#define _C_LOWER 2 /* Lower-case letters */
#define _C_WORD (_C_ALNUM | _C_INNER)
#define _C_WSTART (_C_ALPHA | _C_INNER)
-extern unsigned char _c_cat[256], _c_upper[256], _c_collate[256], _c_order[256];
+extern const unsigned char _c_cat[256], _c_upper[256], _c_lower[256];
#define Category(x) (_c_cat[(unsigned char)(x)])
#define Ccat(x,y) (Category(x) & y)
#define Cspace(x) Cblank(x)
#define Cupcase(x) _c_upper[(unsigned char)(x)]
+#define Clocase(x) _c_lower[(unsigned char)(x)]
#define Cxvalue(x) (((x)<'A')?((x)-'0'):(((x)&0xdf)-'A'+10))