00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef UTILSTR_H
00023 #define UTILSTR_H
00024
00025 #include <defs.h>
00026
00027 SWORD_NAMESPACE_START
00028
00031 char *stdstr (char **iistr, const char *istr);
00032 char *strstrip (char *istr);
00033 const char *stristr (const char *s1, const char *s2);
00034 const char strnicmp(const char *s1, const char *s2, int len);
00035 unsigned int strlenw(const char *s1);
00036 char *toupperstr(char *buf);
00037 char *toupperstr_utf8(char *buf);
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 static const unsigned char SW_toupper_array[256] =
00051 {
00052 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
00053 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
00054 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
00055 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
00056 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
00057 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
00058 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
00059 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
00060 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
00061 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
00062 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
00063 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
00064 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
00065 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
00066 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
00067 0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
00068 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
00069 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
00070 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
00071 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
00072 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
00073 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
00074 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
00075 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
00076 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
00077 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
00078 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
00079 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
00080 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
00081 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
00082 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xf7,
00083 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xff
00084 };
00085
00086 #define SW_toupper(c) SW_toupper_array[(unsigned char)c]
00087
00088 SWORD_NAMESPACE_END
00089 #endif