1482 |
ecode++; |
ecode++; |
1483 |
break; |
break; |
1484 |
|
|
1485 |
|
case OP_NOT_HSPACE: |
1486 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
1487 |
|
GETCHARINCTEST(c, eptr); |
1488 |
|
switch(c) |
1489 |
|
{ |
1490 |
|
default: break; |
1491 |
|
case 0x09: /* HT */ |
1492 |
|
case 0x20: /* SPACE */ |
1493 |
|
case 0xa0: /* NBSP */ |
1494 |
|
case 0x1680: /* OGHAM SPACE MARK */ |
1495 |
|
case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */ |
1496 |
|
case 0x2000: /* EN QUAD */ |
1497 |
|
case 0x2001: /* EM QUAD */ |
1498 |
|
case 0x2002: /* EN SPACE */ |
1499 |
|
case 0x2003: /* EM SPACE */ |
1500 |
|
case 0x2004: /* THREE-PER-EM SPACE */ |
1501 |
|
case 0x2005: /* FOUR-PER-EM SPACE */ |
1502 |
|
case 0x2006: /* SIX-PER-EM SPACE */ |
1503 |
|
case 0x2007: /* FIGURE SPACE */ |
1504 |
|
case 0x2008: /* PUNCTUATION SPACE */ |
1505 |
|
case 0x2009: /* THIN SPACE */ |
1506 |
|
case 0x200A: /* HAIR SPACE */ |
1507 |
|
case 0x202f: /* NARROW NO-BREAK SPACE */ |
1508 |
|
case 0x205f: /* MEDIUM MATHEMATICAL SPACE */ |
1509 |
|
case 0x3000: /* IDEOGRAPHIC SPACE */ |
1510 |
|
RRETURN(MATCH_NOMATCH); |
1511 |
|
} |
1512 |
|
ecode++; |
1513 |
|
break; |
1514 |
|
|
1515 |
|
case OP_HSPACE: |
1516 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
1517 |
|
GETCHARINCTEST(c, eptr); |
1518 |
|
switch(c) |
1519 |
|
{ |
1520 |
|
default: RRETURN(MATCH_NOMATCH); |
1521 |
|
case 0x09: /* HT */ |
1522 |
|
case 0x20: /* SPACE */ |
1523 |
|
case 0xa0: /* NBSP */ |
1524 |
|
case 0x1680: /* OGHAM SPACE MARK */ |
1525 |
|
case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */ |
1526 |
|
case 0x2000: /* EN QUAD */ |
1527 |
|
case 0x2001: /* EM QUAD */ |
1528 |
|
case 0x2002: /* EN SPACE */ |
1529 |
|
case 0x2003: /* EM SPACE */ |
1530 |
|
case 0x2004: /* THREE-PER-EM SPACE */ |
1531 |
|
case 0x2005: /* FOUR-PER-EM SPACE */ |
1532 |
|
case 0x2006: /* SIX-PER-EM SPACE */ |
1533 |
|
case 0x2007: /* FIGURE SPACE */ |
1534 |
|
case 0x2008: /* PUNCTUATION SPACE */ |
1535 |
|
case 0x2009: /* THIN SPACE */ |
1536 |
|
case 0x200A: /* HAIR SPACE */ |
1537 |
|
case 0x202f: /* NARROW NO-BREAK SPACE */ |
1538 |
|
case 0x205f: /* MEDIUM MATHEMATICAL SPACE */ |
1539 |
|
case 0x3000: /* IDEOGRAPHIC SPACE */ |
1540 |
|
break; |
1541 |
|
} |
1542 |
|
ecode++; |
1543 |
|
break; |
1544 |
|
|
1545 |
|
case OP_NOT_VSPACE: |
1546 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
1547 |
|
GETCHARINCTEST(c, eptr); |
1548 |
|
switch(c) |
1549 |
|
{ |
1550 |
|
default: break; |
1551 |
|
case 0x0a: /* LF */ |
1552 |
|
case 0x0b: /* VT */ |
1553 |
|
case 0x0c: /* FF */ |
1554 |
|
case 0x0d: /* CR */ |
1555 |
|
case 0x85: /* NEL */ |
1556 |
|
case 0x2028: /* LINE SEPARATOR */ |
1557 |
|
case 0x2029: /* PARAGRAPH SEPARATOR */ |
1558 |
|
RRETURN(MATCH_NOMATCH); |
1559 |
|
} |
1560 |
|
ecode++; |
1561 |
|
break; |
1562 |
|
|
1563 |
|
case OP_VSPACE: |
1564 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
1565 |
|
GETCHARINCTEST(c, eptr); |
1566 |
|
switch(c) |
1567 |
|
{ |
1568 |
|
default: RRETURN(MATCH_NOMATCH); |
1569 |
|
case 0x0a: /* LF */ |
1570 |
|
case 0x0b: /* VT */ |
1571 |
|
case 0x0c: /* FF */ |
1572 |
|
case 0x0d: /* CR */ |
1573 |
|
case 0x85: /* NEL */ |
1574 |
|
case 0x2028: /* LINE SEPARATOR */ |
1575 |
|
case 0x2029: /* PARAGRAPH SEPARATOR */ |
1576 |
|
break; |
1577 |
|
} |
1578 |
|
ecode++; |
1579 |
|
break; |
1580 |
|
|
1581 |
#ifdef SUPPORT_UCP |
#ifdef SUPPORT_UCP |
1582 |
/* Check the next character by Unicode property. We will get here only |
/* Check the next character by Unicode property. We will get here only |
1583 |
if the support is in the binary; otherwise a compile-time error occurs. */ |
if the support is in the binary; otherwise a compile-time error occurs. */ |
2910 |
} |
} |
2911 |
break; |
break; |
2912 |
|
|
2913 |
|
case OP_NOT_HSPACE: |
2914 |
|
for (i = 1; i <= min; i++) |
2915 |
|
{ |
2916 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
2917 |
|
GETCHARINC(c, eptr); |
2918 |
|
switch(c) |
2919 |
|
{ |
2920 |
|
default: break; |
2921 |
|
case 0x09: /* HT */ |
2922 |
|
case 0x20: /* SPACE */ |
2923 |
|
case 0xa0: /* NBSP */ |
2924 |
|
case 0x1680: /* OGHAM SPACE MARK */ |
2925 |
|
case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */ |
2926 |
|
case 0x2000: /* EN QUAD */ |
2927 |
|
case 0x2001: /* EM QUAD */ |
2928 |
|
case 0x2002: /* EN SPACE */ |
2929 |
|
case 0x2003: /* EM SPACE */ |
2930 |
|
case 0x2004: /* THREE-PER-EM SPACE */ |
2931 |
|
case 0x2005: /* FOUR-PER-EM SPACE */ |
2932 |
|
case 0x2006: /* SIX-PER-EM SPACE */ |
2933 |
|
case 0x2007: /* FIGURE SPACE */ |
2934 |
|
case 0x2008: /* PUNCTUATION SPACE */ |
2935 |
|
case 0x2009: /* THIN SPACE */ |
2936 |
|
case 0x200A: /* HAIR SPACE */ |
2937 |
|
case 0x202f: /* NARROW NO-BREAK SPACE */ |
2938 |
|
case 0x205f: /* MEDIUM MATHEMATICAL SPACE */ |
2939 |
|
case 0x3000: /* IDEOGRAPHIC SPACE */ |
2940 |
|
RRETURN(MATCH_NOMATCH); |
2941 |
|
} |
2942 |
|
} |
2943 |
|
break; |
2944 |
|
|
2945 |
|
case OP_HSPACE: |
2946 |
|
for (i = 1; i <= min; i++) |
2947 |
|
{ |
2948 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
2949 |
|
GETCHARINC(c, eptr); |
2950 |
|
switch(c) |
2951 |
|
{ |
2952 |
|
default: RRETURN(MATCH_NOMATCH); |
2953 |
|
case 0x09: /* HT */ |
2954 |
|
case 0x20: /* SPACE */ |
2955 |
|
case 0xa0: /* NBSP */ |
2956 |
|
case 0x1680: /* OGHAM SPACE MARK */ |
2957 |
|
case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */ |
2958 |
|
case 0x2000: /* EN QUAD */ |
2959 |
|
case 0x2001: /* EM QUAD */ |
2960 |
|
case 0x2002: /* EN SPACE */ |
2961 |
|
case 0x2003: /* EM SPACE */ |
2962 |
|
case 0x2004: /* THREE-PER-EM SPACE */ |
2963 |
|
case 0x2005: /* FOUR-PER-EM SPACE */ |
2964 |
|
case 0x2006: /* SIX-PER-EM SPACE */ |
2965 |
|
case 0x2007: /* FIGURE SPACE */ |
2966 |
|
case 0x2008: /* PUNCTUATION SPACE */ |
2967 |
|
case 0x2009: /* THIN SPACE */ |
2968 |
|
case 0x200A: /* HAIR SPACE */ |
2969 |
|
case 0x202f: /* NARROW NO-BREAK SPACE */ |
2970 |
|
case 0x205f: /* MEDIUM MATHEMATICAL SPACE */ |
2971 |
|
case 0x3000: /* IDEOGRAPHIC SPACE */ |
2972 |
|
break; |
2973 |
|
} |
2974 |
|
} |
2975 |
|
break; |
2976 |
|
|
2977 |
|
case OP_NOT_VSPACE: |
2978 |
|
for (i = 1; i <= min; i++) |
2979 |
|
{ |
2980 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
2981 |
|
GETCHARINC(c, eptr); |
2982 |
|
switch(c) |
2983 |
|
{ |
2984 |
|
default: break; |
2985 |
|
case 0x0a: /* LF */ |
2986 |
|
case 0x0b: /* VT */ |
2987 |
|
case 0x0c: /* FF */ |
2988 |
|
case 0x0d: /* CR */ |
2989 |
|
case 0x85: /* NEL */ |
2990 |
|
case 0x2028: /* LINE SEPARATOR */ |
2991 |
|
case 0x2029: /* PARAGRAPH SEPARATOR */ |
2992 |
|
RRETURN(MATCH_NOMATCH); |
2993 |
|
} |
2994 |
|
} |
2995 |
|
break; |
2996 |
|
|
2997 |
|
case OP_VSPACE: |
2998 |
|
for (i = 1; i <= min; i++) |
2999 |
|
{ |
3000 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
3001 |
|
GETCHARINC(c, eptr); |
3002 |
|
switch(c) |
3003 |
|
{ |
3004 |
|
default: RRETURN(MATCH_NOMATCH); |
3005 |
|
case 0x0a: /* LF */ |
3006 |
|
case 0x0b: /* VT */ |
3007 |
|
case 0x0c: /* FF */ |
3008 |
|
case 0x0d: /* CR */ |
3009 |
|
case 0x85: /* NEL */ |
3010 |
|
case 0x2028: /* LINE SEPARATOR */ |
3011 |
|
case 0x2029: /* PARAGRAPH SEPARATOR */ |
3012 |
|
break; |
3013 |
|
} |
3014 |
|
} |
3015 |
|
break; |
3016 |
|
|
3017 |
case OP_NOT_DIGIT: |
case OP_NOT_DIGIT: |
3018 |
for (i = 1; i <= min; i++) |
for (i = 1; i <= min; i++) |
3019 |
{ |
{ |
3125 |
} |
} |
3126 |
break; |
break; |
3127 |
|
|
3128 |
|
case OP_NOT_HSPACE: |
3129 |
|
for (i = 1; i <= min; i++) |
3130 |
|
{ |
3131 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
3132 |
|
switch(*eptr++) |
3133 |
|
{ |
3134 |
|
default: break; |
3135 |
|
case 0x09: /* HT */ |
3136 |
|
case 0x20: /* SPACE */ |
3137 |
|
case 0xa0: /* NBSP */ |
3138 |
|
RRETURN(MATCH_NOMATCH); |
3139 |
|
} |
3140 |
|
} |
3141 |
|
break; |
3142 |
|
|
3143 |
|
case OP_HSPACE: |
3144 |
|
for (i = 1; i <= min; i++) |
3145 |
|
{ |
3146 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
3147 |
|
switch(*eptr++) |
3148 |
|
{ |
3149 |
|
default: RRETURN(MATCH_NOMATCH); |
3150 |
|
case 0x09: /* HT */ |
3151 |
|
case 0x20: /* SPACE */ |
3152 |
|
case 0xa0: /* NBSP */ |
3153 |
|
break; |
3154 |
|
} |
3155 |
|
} |
3156 |
|
break; |
3157 |
|
|
3158 |
|
case OP_NOT_VSPACE: |
3159 |
|
for (i = 1; i <= min; i++) |
3160 |
|
{ |
3161 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
3162 |
|
switch(*eptr++) |
3163 |
|
{ |
3164 |
|
default: break; |
3165 |
|
case 0x0a: /* LF */ |
3166 |
|
case 0x0b: /* VT */ |
3167 |
|
case 0x0c: /* FF */ |
3168 |
|
case 0x0d: /* CR */ |
3169 |
|
case 0x85: /* NEL */ |
3170 |
|
RRETURN(MATCH_NOMATCH); |
3171 |
|
} |
3172 |
|
} |
3173 |
|
break; |
3174 |
|
|
3175 |
|
case OP_VSPACE: |
3176 |
|
for (i = 1; i <= min; i++) |
3177 |
|
{ |
3178 |
|
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
3179 |
|
switch(*eptr++) |
3180 |
|
{ |
3181 |
|
default: RRETURN(MATCH_NOMATCH); |
3182 |
|
case 0x0a: /* LF */ |
3183 |
|
case 0x0b: /* VT */ |
3184 |
|
case 0x0c: /* FF */ |
3185 |
|
case 0x0d: /* CR */ |
3186 |
|
case 0x85: /* NEL */ |
3187 |
|
break; |
3188 |
|
} |
3189 |
|
} |
3190 |
|
break; |
3191 |
|
|
3192 |
case OP_NOT_DIGIT: |
case OP_NOT_DIGIT: |
3193 |
for (i = 1; i <= min; i++) |
for (i = 1; i <= min; i++) |
3194 |
if ((md->ctypes[*eptr++] & ctype_digit) != 0) RRETURN(MATCH_NOMATCH); |
if ((md->ctypes[*eptr++] & ctype_digit) != 0) RRETURN(MATCH_NOMATCH); |
3380 |
} |
} |
3381 |
break; |
break; |
3382 |
|
|
3383 |
|
case OP_NOT_HSPACE: |
3384 |
|
switch(c) |
3385 |
|
{ |
3386 |
|
default: break; |
3387 |
|
case 0x09: /* HT */ |
3388 |
|
case 0x20: /* SPACE */ |
3389 |
|
case 0xa0: /* NBSP */ |
3390 |
|
case 0x1680: /* OGHAM SPACE MARK */ |
3391 |
|
case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */ |
3392 |
|
case 0x2000: /* EN QUAD */ |
3393 |
|
case 0x2001: /* EM QUAD */ |
3394 |
|
case 0x2002: /* EN SPACE */ |
3395 |
|
case 0x2003: /* EM SPACE */ |
3396 |
|
case 0x2004: /* THREE-PER-EM SPACE */ |
3397 |
|
case 0x2005: /* FOUR-PER-EM SPACE */ |
3398 |
|
case 0x2006: /* SIX-PER-EM SPACE */ |
3399 |
|
case 0x2007: /* FIGURE SPACE */ |
3400 |
|
case 0x2008: /* PUNCTUATION SPACE */ |
3401 |
|
case 0x2009: /* THIN SPACE */ |
3402 |
|
case 0x200A: /* HAIR SPACE */ |
3403 |
|
case 0x202f: /* NARROW NO-BREAK SPACE */ |
3404 |
|
case 0x205f: /* MEDIUM MATHEMATICAL SPACE */ |
3405 |
|
case 0x3000: /* IDEOGRAPHIC SPACE */ |
3406 |
|
RRETURN(MATCH_NOMATCH); |
3407 |
|
} |
3408 |
|
break; |
3409 |
|
|
3410 |
|
case OP_HSPACE: |
3411 |
|
switch(c) |
3412 |
|
{ |
3413 |
|
default: RRETURN(MATCH_NOMATCH); |
3414 |
|
case 0x09: /* HT */ |
3415 |
|
case 0x20: /* SPACE */ |
3416 |
|
case 0xa0: /* NBSP */ |
3417 |
|
case 0x1680: /* OGHAM SPACE MARK */ |
3418 |
|
case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */ |
3419 |
|
case 0x2000: /* EN QUAD */ |
3420 |
|
case 0x2001: /* EM QUAD */ |
3421 |
|
case 0x2002: /* EN SPACE */ |
3422 |
|
case 0x2003: /* EM SPACE */ |
3423 |
|
case 0x2004: /* THREE-PER-EM SPACE */ |
3424 |
|
case 0x2005: /* FOUR-PER-EM SPACE */ |
3425 |
|
case 0x2006: /* SIX-PER-EM SPACE */ |
3426 |
|
case 0x2007: /* FIGURE SPACE */ |
3427 |
|
case 0x2008: /* PUNCTUATION SPACE */ |
3428 |
|
case 0x2009: /* THIN SPACE */ |
3429 |
|
case 0x200A: /* HAIR SPACE */ |
3430 |
|
case 0x202f: /* NARROW NO-BREAK SPACE */ |
3431 |
|
case 0x205f: /* MEDIUM MATHEMATICAL SPACE */ |
3432 |
|
case 0x3000: /* IDEOGRAPHIC SPACE */ |
3433 |
|
break; |
3434 |
|
} |
3435 |
|
break; |
3436 |
|
|
3437 |
|
case OP_NOT_VSPACE: |
3438 |
|
switch(c) |
3439 |
|
{ |
3440 |
|
default: break; |
3441 |
|
case 0x0a: /* LF */ |
3442 |
|
case 0x0b: /* VT */ |
3443 |
|
case 0x0c: /* FF */ |
3444 |
|
case 0x0d: /* CR */ |
3445 |
|
case 0x85: /* NEL */ |
3446 |
|
case 0x2028: /* LINE SEPARATOR */ |
3447 |
|
case 0x2029: /* PARAGRAPH SEPARATOR */ |
3448 |
|
RRETURN(MATCH_NOMATCH); |
3449 |
|
} |
3450 |
|
break; |
3451 |
|
|
3452 |
|
case OP_VSPACE: |
3453 |
|
switch(c) |
3454 |
|
{ |
3455 |
|
default: RRETURN(MATCH_NOMATCH); |
3456 |
|
case 0x0a: /* LF */ |
3457 |
|
case 0x0b: /* VT */ |
3458 |
|
case 0x0c: /* FF */ |
3459 |
|
case 0x0d: /* CR */ |
3460 |
|
case 0x85: /* NEL */ |
3461 |
|
case 0x2028: /* LINE SEPARATOR */ |
3462 |
|
case 0x2029: /* PARAGRAPH SEPARATOR */ |
3463 |
|
break; |
3464 |
|
} |
3465 |
|
break; |
3466 |
|
|
3467 |
case OP_NOT_DIGIT: |
case OP_NOT_DIGIT: |
3468 |
if (c < 256 && (md->ctypes[c] & ctype_digit) != 0) |
if (c < 256 && (md->ctypes[c] & ctype_digit) != 0) |
3469 |
RRETURN(MATCH_NOMATCH); |
RRETURN(MATCH_NOMATCH); |
3535 |
} |
} |
3536 |
break; |
break; |
3537 |
|
|
3538 |
|
case OP_NOT_HSPACE: |
3539 |
|
switch(c) |
3540 |
|
{ |
3541 |
|
default: break; |
3542 |
|
case 0x09: /* HT */ |
3543 |
|
case 0x20: /* SPACE */ |
3544 |
|
case 0xa0: /* NBSP */ |
3545 |
|
RRETURN(MATCH_NOMATCH); |
3546 |
|
} |
3547 |
|
break; |
3548 |
|
|
3549 |
|
case OP_HSPACE: |
3550 |
|
switch(c) |
3551 |
|
{ |
3552 |
|
default: RRETURN(MATCH_NOMATCH); |
3553 |
|
case 0x09: /* HT */ |
3554 |
|
case 0x20: /* SPACE */ |
3555 |
|
case 0xa0: /* NBSP */ |
3556 |
|
break; |
3557 |
|
} |
3558 |
|
break; |
3559 |
|
|
3560 |
|
case OP_NOT_VSPACE: |
3561 |
|
switch(c) |
3562 |
|
{ |
3563 |
|
default: break; |
3564 |
|
case 0x0a: /* LF */ |
3565 |
|
case 0x0b: /* VT */ |
3566 |
|
case 0x0c: /* FF */ |
3567 |
|
case 0x0d: /* CR */ |
3568 |
|
case 0x85: /* NEL */ |
3569 |
|
RRETURN(MATCH_NOMATCH); |
3570 |
|
} |
3571 |
|
break; |
3572 |
|
|
3573 |
|
case OP_VSPACE: |
3574 |
|
switch(c) |
3575 |
|
{ |
3576 |
|
default: RRETURN(MATCH_NOMATCH); |
3577 |
|
case 0x0a: /* LF */ |
3578 |
|
case 0x0b: /* VT */ |
3579 |
|
case 0x0c: /* FF */ |
3580 |
|
case 0x0d: /* CR */ |
3581 |
|
case 0x85: /* NEL */ |
3582 |
|
break; |
3583 |
|
} |
3584 |
|
break; |
3585 |
|
|
3586 |
case OP_NOT_DIGIT: |
case OP_NOT_DIGIT: |
3587 |
if ((md->ctypes[c] & ctype_digit) != 0) RRETURN(MATCH_NOMATCH); |
if ((md->ctypes[c] & ctype_digit) != 0) RRETURN(MATCH_NOMATCH); |
3588 |
break; |
break; |
3844 |
} |
} |
3845 |
break; |
break; |
3846 |
|
|
3847 |
|
case OP_NOT_HSPACE: |
3848 |
|
case OP_HSPACE: |
3849 |
|
for (i = min; i < max; i++) |
3850 |
|
{ |
3851 |
|
BOOL gotspace; |
3852 |
|
int len = 1; |
3853 |
|
if (eptr >= md->end_subject) break; |
3854 |
|
GETCHARLEN(c, eptr, len); |
3855 |
|
switch(c) |
3856 |
|
{ |
3857 |
|
default: gotspace = FALSE; break; |
3858 |
|
case 0x09: /* HT */ |
3859 |
|
case 0x20: /* SPACE */ |
3860 |
|
case 0xa0: /* NBSP */ |
3861 |
|
case 0x1680: /* OGHAM SPACE MARK */ |
3862 |
|
case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */ |
3863 |
|
case 0x2000: /* EN QUAD */ |
3864 |
|
case 0x2001: /* EM QUAD */ |
3865 |
|
case 0x2002: /* EN SPACE */ |
3866 |
|
case 0x2003: /* EM SPACE */ |
3867 |
|
case 0x2004: /* THREE-PER-EM SPACE */ |
3868 |
|
case 0x2005: /* FOUR-PER-EM SPACE */ |
3869 |
|
case 0x2006: /* SIX-PER-EM SPACE */ |
3870 |
|
case 0x2007: /* FIGURE SPACE */ |
3871 |
|
case 0x2008: /* PUNCTUATION SPACE */ |
3872 |
|
case 0x2009: /* THIN SPACE */ |
3873 |
|
case 0x200A: /* HAIR SPACE */ |
3874 |
|
case 0x202f: /* NARROW NO-BREAK SPACE */ |
3875 |
|
case 0x205f: /* MEDIUM MATHEMATICAL SPACE */ |
3876 |
|
case 0x3000: /* IDEOGRAPHIC SPACE */ |
3877 |
|
gotspace = TRUE; |
3878 |
|
break; |
3879 |
|
} |
3880 |
|
if (gotspace == (ctype == OP_NOT_HSPACE)) break; |
3881 |
|
eptr += len; |
3882 |
|
} |
3883 |
|
break; |
3884 |
|
|
3885 |
|
case OP_NOT_VSPACE: |
3886 |
|
case OP_VSPACE: |
3887 |
|
for (i = min; i < max; i++) |
3888 |
|
{ |
3889 |
|
BOOL gotspace; |
3890 |
|
int len = 1; |
3891 |
|
if (eptr >= md->end_subject) break; |
3892 |
|
GETCHARLEN(c, eptr, len); |
3893 |
|
switch(c) |
3894 |
|
{ |
3895 |
|
default: gotspace = FALSE; break; |
3896 |
|
case 0x0a: /* LF */ |
3897 |
|
case 0x0b: /* VT */ |
3898 |
|
case 0x0c: /* FF */ |
3899 |
|
case 0x0d: /* CR */ |
3900 |
|
case 0x85: /* NEL */ |
3901 |
|
case 0x2028: /* LINE SEPARATOR */ |
3902 |
|
case 0x2029: /* PARAGRAPH SEPARATOR */ |
3903 |
|
gotspace = TRUE; |
3904 |
|
break; |
3905 |
|
} |
3906 |
|
if (gotspace == (ctype == OP_NOT_VSPACE)) break; |
3907 |
|
eptr += len; |
3908 |
|
} |
3909 |
|
break; |
3910 |
|
|
3911 |
case OP_NOT_DIGIT: |
case OP_NOT_DIGIT: |
3912 |
for (i = min; i < max; i++) |
for (i = min; i < max; i++) |
3913 |
{ |
{ |
4034 |
} |
} |
4035 |
break; |
break; |
4036 |
|
|
4037 |
|
case OP_NOT_HSPACE: |
4038 |
|
for (i = min; i < max; i++) |
4039 |
|
{ |
4040 |
|
if (eptr >= md->end_subject) break; |
4041 |
|
c = *eptr; |
4042 |
|
if (c == 0x09 || c == 0x20 || c == 0xa0) break; |
4043 |
|
eptr++; |
4044 |
|
} |
4045 |
|
break; |
4046 |
|
|
4047 |
|
case OP_HSPACE: |
4048 |
|
for (i = min; i < max; i++) |
4049 |
|
{ |
4050 |
|
if (eptr >= md->end_subject) break; |
4051 |
|
c = *eptr; |
4052 |
|
if (c != 0x09 && c != 0x20 && c != 0xa0) break; |
4053 |
|
eptr++; |
4054 |
|
} |
4055 |
|
break; |
4056 |
|
|
4057 |
|
case OP_NOT_VSPACE: |
4058 |
|
for (i = min; i < max; i++) |
4059 |
|
{ |
4060 |
|
if (eptr >= md->end_subject) break; |
4061 |
|
c = *eptr; |
4062 |
|
if (c == 0x0a || c == 0x0b || c == 0x0c || c == 0x0d || c == 0x85) |
4063 |
|
break; |
4064 |
|
eptr++; |
4065 |
|
} |
4066 |
|
break; |
4067 |
|
|
4068 |
|
case OP_VSPACE: |
4069 |
|
for (i = min; i < max; i++) |
4070 |
|
{ |
4071 |
|
if (eptr >= md->end_subject) break; |
4072 |
|
c = *eptr; |
4073 |
|
if (c != 0x0a && c != 0x0b && c != 0x0c && c != 0x0d && c != 0x85) |
4074 |
|
break; |
4075 |
|
eptr++; |
4076 |
|
} |
4077 |
|
break; |
4078 |
|
|
4079 |
case OP_NOT_DIGIT: |
case OP_NOT_DIGIT: |
4080 |
for (i = min; i < max; i++) |
for (i = min; i < max; i++) |
4081 |
{ |
{ |