p++;
if (p >= end) return FALSE;
if (*p < 0x40) {
- if (*p < 0x30 || *p > 0x39)
- return FALSE;
+ if (*p < 0x30 || *p > 0x39)
+ return FALSE;
- p++;
- if (p >= end) return FALSE;
- if (*p < 0x81 || *p == 0xff) return FALSE;
+ p++;
+ if (p >= end) return FALSE;
+ if (*p < 0x81 || *p == 0xff) return FALSE;
- p++;
- if (p >= end) return FALSE;
- if (*p < 0x30 || *p > 0x39)
- return FALSE;
+ p++;
+ if (p >= end) return FALSE;
+ if (*p < 0x30 || *p > 0x39)
+ return FALSE;
- p++;
+ p++;
}
else if (*p == 0x7f || *p == 0xff) {
- return FALSE;
+ return FALSE;
}
else {
- p++;
+ p++;
}
}
}
#if 0
static int
gb18030_is_mbc_ambiguous(OnigCaseFoldType flag,
- const UChar** pp, const UChar* end)
+ const UChar** pp, const UChar* end)
{
return onigenc_mbn_is_mbc_ambiguous(ONIG_ENCODING_GB18030, flag, pp, end);
}
case S_START:
switch (GB18030_MAP[*p]) {
case C1:
- return (UChar *)s;
+ return (UChar *)s;
case C2:
- state = S_one_C2; /* C2 */
- break;
+ state = S_one_C2; /* C2 */
+ break;
case C4:
- state = S_one_C4; /* C4 */
- break;
+ state = S_one_C4; /* C4 */
+ break;
case CM:
- state = S_one_CM; /* CM */
- break;
+ state = S_one_CM; /* CM */
+ break;
}
break;
case S_one_C2: /* C2 */
case C1:
case C2:
case C4:
- return (UChar *)s;
+ return (UChar *)s;
case CM:
- state = S_odd_CM_one_CX; /* CM C2 */
- break;
+ state = S_odd_CM_one_CX; /* CM C2 */
+ break;
}
break;
case S_one_C4: /* C4 */
case C1:
case C2:
case C4:
- return (UChar *)s;
+ return (UChar *)s;
case CM:
- state = S_one_CMC4;
- break;
+ state = S_one_CMC4;
+ break;
}
break;
case S_one_CM: /* CM */
switch (GB18030_MAP[*p]) {
case C1:
case C2:
- return (UChar *)s;
+ return (UChar *)s;
case C4:
- state = S_odd_C4CM;
- break;
+ state = S_odd_C4CM;
+ break;
case CM:
- state = S_odd_CM_one_CX; /* CM CM */
- break;
+ state = S_odd_CM_one_CX; /* CM CM */
+ break;
}
break;
case C1:
case C2:
case C4:
- return (UChar *)(s - 1);
+ return (UChar *)(s - 1);
case CM:
- state = S_even_CM_one_CX;
- break;
+ state = S_even_CM_one_CX;
+ break;
}
break;
case S_even_CM_one_CX: /* CM CM C2 */ /* CM CM CM */ /* CM CM C4 */
case C1:
case C2:
case C4:
- return (UChar *)s;
+ return (UChar *)s;
case CM:
- state = S_odd_CM_one_CX;
- break;
+ state = S_odd_CM_one_CX;
+ break;
}
break;
switch (GB18030_MAP[*p]) {
case C1:
case C2:
- return (UChar *)(s - 1);
+ return (UChar *)(s - 1);
case C4:
- state = S_one_C4_odd_CMC4; /* C4 CM C4 */
- break;
+ state = S_one_C4_odd_CMC4; /* C4 CM C4 */
+ break;
case CM:
- state = S_even_CM_one_CX; /* CM CM C4 */
- break;
+ state = S_even_CM_one_CX; /* CM CM C4 */
+ break;
}
break;
case S_odd_CMC4: /* CM C4 CM C4 CM C4 */
switch (GB18030_MAP[*p]) {
case C1:
case C2:
- return (UChar *)(s - 1);
+ return (UChar *)(s - 1);
case C4:
- state = S_one_C4_odd_CMC4;
- break;
+ state = S_one_C4_odd_CMC4;
+ break;
case CM:
- state = S_odd_CM_odd_CMC4;
- break;
+ state = S_odd_CM_odd_CMC4;
+ break;
}
break;
case S_one_C4_odd_CMC4: /* C4 CM C4 */
case C1:
case C2:
case C4:
- return (UChar *)(s - 1);
+ return (UChar *)(s - 1);
case CM:
- state = S_even_CMC4; /* CM C4 CM C4 */
- break;
+ state = S_even_CMC4; /* CM C4 CM C4 */
+ break;
}
break;
case S_even_CMC4: /* CM C4 CM C4 */
switch (GB18030_MAP[*p]) {
case C1:
case C2:
- return (UChar *)(s - 3);
+ return (UChar *)(s - 3);
case C4:
- state = S_one_C4_even_CMC4;
- break;
+ state = S_one_C4_even_CMC4;
+ break;
case CM:
- state = S_odd_CM_even_CMC4;
- break;
+ state = S_odd_CM_even_CMC4;
+ break;
}
break;
case S_one_C4_even_CMC4: /* C4 CM C4 CM C4 */
case C1:
case C2:
case C4:
- return (UChar *)(s - 3);
+ return (UChar *)(s - 3);
case CM:
- state = S_odd_CMC4;
- break;
+ state = S_odd_CMC4;
+ break;
}
break;
case C1:
case C2:
case C4:
- return (UChar *)(s - 3);
+ return (UChar *)(s - 3);
case CM:
- state = S_even_CM_odd_CMC4;
- break;
+ state = S_even_CM_odd_CMC4;
+ break;
}
break;
case S_even_CM_odd_CMC4: /* CM CM CM C4 CM C4 CM C4 */
case C1:
case C2:
case C4:
- return (UChar *)(s - 1);
+ return (UChar *)(s - 1);
case CM:
- state = S_odd_CM_odd_CMC4;
- break;
+ state = S_odd_CM_odd_CMC4;
+ break;
}
break;
case C1:
case C2:
case C4:
- return (UChar *)(s - 1);
+ return (UChar *)(s - 1);
case CM:
- state = S_even_CM_even_CMC4;
- break;
+ state = S_even_CM_even_CMC4;
+ break;
}
break;
case S_even_CM_even_CMC4: /* CM CM CM C4 CM C4 */
case C1:
case C2:
case C4:
- return (UChar *)(s - 3);
+ return (UChar *)(s - 3);
case CM:
- state = S_odd_CM_even_CMC4;
- break;
+ state = S_odd_CM_even_CMC4;
+ break;
}
break;
case C1:
case C2:
case C4:
- return (UChar *)s;
+ return (UChar *)s;
case CM:
- state = S_one_CM_odd_C4CM; /* CM C4 CM */
- break;
+ state = S_one_CM_odd_C4CM; /* CM C4 CM */
+ break;
}
break;
case S_one_CM_odd_C4CM: /* CM C4 CM */ /* CM C4 CM C4 CM C4 CM */
switch (GB18030_MAP[*p]) {
case C1:
case C2:
- return (UChar *)(s - 2); /* |CM C4 CM */
+ return (UChar *)(s - 2); /* |CM C4 CM */
case C4:
- state = S_even_C4CM;
- break;
+ state = S_even_C4CM;
+ break;
case CM:
- state = S_even_CM_odd_C4CM;
- break;
+ state = S_even_CM_odd_C4CM;
+ break;
}
break;
case S_even_C4CM: /* C4 CM C4 CM */
case C1:
case C2:
case C4:
- return (UChar *)(s - 2); /* C4|CM C4 CM */
+ return (UChar *)(s - 2); /* C4|CM C4 CM */
case CM:
- state = S_one_CM_even_C4CM;
- break;
+ state = S_one_CM_even_C4CM;
+ break;
}
break;
case S_one_CM_even_C4CM: /* CM C4 CM C4 CM */
switch (GB18030_MAP[*p]) {
case C1:
case C2:
- return (UChar *)(s - 0); /*|CM C4 CM C4|CM */
+ return (UChar *)(s - 0); /*|CM C4 CM C4|CM */
case C4:
- state = S_odd_C4CM;
- break;
+ state = S_odd_C4CM;
+ break;
case CM:
- state = S_even_CM_even_C4CM;
- break;
+ state = S_even_CM_even_C4CM;
+ break;
}
break;
case C1:
case C2:
case C4:
- return (UChar *)(s - 0); /* |CM CM|C4|CM */
+ return (UChar *)(s - 0); /* |CM CM|C4|CM */
case CM:
- state = S_odd_CM_odd_C4CM;
- break;
+ state = S_odd_CM_odd_C4CM;
+ break;
}
break;
case S_odd_CM_odd_C4CM: /* CM CM CM C4 CM */
case C1:
case C2:
case C4:
- return (UChar *)(s - 2); /* |CM CM|CM C4 CM */
+ return (UChar *)(s - 2); /* |CM CM|CM C4 CM */
case CM:
- state = S_even_CM_odd_C4CM;
- break;
+ state = S_even_CM_odd_C4CM;
+ break;
}
break;
case C1:
case C2:
case C4:
- return (UChar *)(s - 2); /* |CM CM|C4|CM C4 CM */
+ return (UChar *)(s - 2); /* |CM CM|C4|CM C4 CM */
case CM:
- state = S_odd_CM_even_C4CM;
- break;
+ state = S_odd_CM_even_C4CM;
+ break;
}
break;
case S_odd_CM_even_C4CM: /* CM CM CM C4 CM C4 CM */
case C1:
case C2:
case C4:
- return (UChar *)(s - 0); /* |CM CM|CM C4 CM C4|CM */
+ return (UChar *)(s - 0); /* |CM CM|CM C4 CM C4|CM */
case CM:
- state = S_even_CM_even_C4CM;
- break;
+ state = S_even_CM_even_C4CM;
+ break;
}
break;
}