34 #define DEBUG_GB18030(arg)
36 #define DEBUG_GB18030(arg) printf arg
47 C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
48 C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
49 C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
C1,
50 C4,
C4,
C4,
C4,
C4,
C4,
C4,
C4,
C4,
C4,
C1,
C1,
C1,
C1,
C1,
C1,
51 C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
52 C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
53 C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
54 C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C2,
C1,
55 C2,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
56 CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
57 CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
58 CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
59 CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
60 CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
61 CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
62 CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM,
CM, C1
68 static const signed char trans[][0x100] = {
70 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
71 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
72 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
73 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
74 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
75 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
76 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
77 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
78 F, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
79 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
80 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
81 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
82 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
83 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
84 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
85 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, F
88 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
89 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
90 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
91 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
F,
F,
F,
F,
F,
F,
92 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
93 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
94 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
95 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
F,
96 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
97 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
98 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
99 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
100 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
101 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
102 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
103 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A, F
106 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
107 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
108 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
109 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
110 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
111 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
112 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
113 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
114 F, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
115 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
116 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
117 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
118 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
119 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
120 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
121 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, F
124 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
125 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
126 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
127 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
F,
F,
F,
F,
F,
F,
128 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
129 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
130 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
131 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
132 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
133 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
134 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
135 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
136 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
137 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
138 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
139 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F, F
148 int firstbyte = *p++;
151 return s == ACCEPT ? ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND(n) : \
152 ONIGENC_CONSTRUCT_MBCLEN_INVALID()
172 len =
enclen(enc, p, end);
174 if (len == 1)
return n;
176 for (i = 1; i <
len; i++) {
203 return onigenc_mbn_is_mbc_ambiguous(enc, flag, pp, end);
254 for (p = s; p >= start; p--) {
313 return (
UChar *)(s - 1);
335 return (
UChar *)(s - 1);
348 return (
UChar *)(s - 1);
362 return (
UChar *)(s - 1);
372 return (
UChar *)(s - 3);
386 return (
UChar *)(s - 3);
398 return (
UChar *)(s - 3);
409 return (
UChar *)(s - 1);
421 return (
UChar *)(s - 1);
432 return (
UChar *)(s - 3);
454 return (
UChar *)(s - 2);
468 return (
UChar *)(s - 2);
478 return (
UChar *)(s - 0);
493 return (
UChar *)(s - 0);
504 return (
UChar *)(s - 2);
516 return (
UChar *)(s - 2);
527 return (
UChar *)(s - 0);