2 #define T_ESCAPE_SHELL_CMD (1)
3 #define T_ESCAPE_PATH_SEGMENT (2)
4 #define T_OS_ESCAPE_PATH (4)
5 #define T_HTTP_TOKEN_STOP (8)
6 #define T_ESCAPE_LOGITEM (16)
7 #define T_ESCAPE_FORENSIC (32)
8 #define T_ESCAPE_URLENCODED (64)
9 #define T_HTTP_CTRLS (128)
10 #define T_VCHAR_OBSTEXT (256)
11 #define T_URI_UNRESERVED (512)
13 static const unsigned short test_char_table[256] = {
14 0x0a8,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,
15 0x0fe,0x07e,0x0ff,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,
16 0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,
17 0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,
18 0x00e,0x140,0x15f,0x146,0x141,0x166,0x141,0x141,
19 0x149,0x149,0x101,0x140,0x148,0x300,0x300,0x14a,
20 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,
21 0x300,0x300,0x168,0x14b,0x14f,0x148,0x14f,0x14f,
22 0x148,0x300,0x300,0x300,0x300,0x300,0x300,0x300,
23 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,
24 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,
25 0x300,0x300,0x300,0x14f,0x15f,0x14f,0x147,0x300,
26 0x147,0x300,0x300,0x300,0x300,0x300,0x300,0x300,
27 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,
28 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,
29 0x300,0x300,0x300,0x14f,0x167,0x14f,0x341,0x0fe,
30 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
31 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
32 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
33 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
34 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
35 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
36 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
37 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
38 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
39 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
40 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
41 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
42 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
43 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
44 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,
45 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e
53 #define TEST_CHAR(c, f) (test_char_table[(unsigned char)(c)] & (f))