OS-2834 ship lx brand
377 ep += 32;
378 continue;
379 }
380 return (0);
381 /*FALLTHRU*/
382
383 case NCCL:
384 neg = 1;
385 /*FALLTHRU*/
386
387 case CCL:
388 c = *lp++;
389 if (((c & 0200) == 0 && ISTHERE(c)) ^ neg) {
390 ep += 16;
391 continue;
392 }
393 return (0);
394 /*FALLTHRU*/
395
396 case CBRA:
397 braslist[*ep++] = (char *)lp;
398 continue;
399 /*FALLTHRU*/
400
401 case CKET:
402 braelist[*ep++] = (char *)lp;
403 continue;
404 /*FALLTHRU*/
405
406 case CCHR | RNGE:
407 c = *ep++;
408 getrnge(ep);
409 while (low--)
410 if (*lp++ != c)
411 return (0);
412 curlp = lp;
413 while (size--)
414 if (*lp++ != c)
415 break;
416 if (size < 0)
417 lp++;
418 ep += 2;
419 goto star;
420 /*FALLTHRU*/
421
422 case CDOT | RNGE:
460 case CCL | RNGE:
461 getrnge(ep + 16);
462 while (low--) {
463 c = *lp++;
464 if (((c & 0200) || !ISTHERE(c)) ^ neg)
465 return (0);
466 }
467 curlp = lp;
468 while (size--) {
469 c = *lp++;
470 if (((c & 0200) || !ISTHERE(c)) ^ neg)
471 break;
472 }
473 if (size < 0)
474 lp++;
475 ep += 18; /* 16 + 2 */
476 goto star;
477 /*FALLTHRU*/
478
479 case CBACK:
480 bbeg = braslist[*ep];
481 ct = braelist[*ep++] - bbeg;
482
483 if (ecmp(bbeg, lp, ct)) {
484 lp += ct;
485 continue;
486 }
487 return (0);
488 /*FALLTHRU*/
489
490 case CBACK | STAR:
491 bbeg = braslist[*ep];
492 ct = braelist[*ep++] - bbeg;
493 curlp = lp;
494 while (ecmp(bbeg, lp, ct))
495 lp += ct;
496
497 while (lp >= curlp) {
498 if (advance(lp, ep))
499 return (1);
500 lp -= ct;
501 }
502 return (0);
503 /*FALLTHRU*/
504
505 case CDOT | STAR:
506 curlp = lp;
507 while (*lp++);
508 goto star;
509 /*FALLTHRU*/
510
511 case CCHR | STAR:
512 curlp = lp;
|
377 ep += 32;
378 continue;
379 }
380 return (0);
381 /*FALLTHRU*/
382
383 case NCCL:
384 neg = 1;
385 /*FALLTHRU*/
386
387 case CCL:
388 c = *lp++;
389 if (((c & 0200) == 0 && ISTHERE(c)) ^ neg) {
390 ep += 16;
391 continue;
392 }
393 return (0);
394 /*FALLTHRU*/
395
396 case CBRA:
397 braslist[(int)*ep++] = (char *)lp;
398 continue;
399 /*FALLTHRU*/
400
401 case CKET:
402 braelist[(int)*ep++] = (char *)lp;
403 continue;
404 /*FALLTHRU*/
405
406 case CCHR | RNGE:
407 c = *ep++;
408 getrnge(ep);
409 while (low--)
410 if (*lp++ != c)
411 return (0);
412 curlp = lp;
413 while (size--)
414 if (*lp++ != c)
415 break;
416 if (size < 0)
417 lp++;
418 ep += 2;
419 goto star;
420 /*FALLTHRU*/
421
422 case CDOT | RNGE:
460 case CCL | RNGE:
461 getrnge(ep + 16);
462 while (low--) {
463 c = *lp++;
464 if (((c & 0200) || !ISTHERE(c)) ^ neg)
465 return (0);
466 }
467 curlp = lp;
468 while (size--) {
469 c = *lp++;
470 if (((c & 0200) || !ISTHERE(c)) ^ neg)
471 break;
472 }
473 if (size < 0)
474 lp++;
475 ep += 18; /* 16 + 2 */
476 goto star;
477 /*FALLTHRU*/
478
479 case CBACK:
480 bbeg = braslist[(int)*ep];
481 ct = braelist[(int)*ep++] - bbeg;
482
483 if (ecmp(bbeg, lp, ct)) {
484 lp += ct;
485 continue;
486 }
487 return (0);
488 /*FALLTHRU*/
489
490 case CBACK | STAR:
491 bbeg = braslist[(int)*ep];
492 ct = braelist[(int)*ep++] - bbeg;
493 curlp = lp;
494 while (ecmp(bbeg, lp, ct))
495 lp += ct;
496
497 while (lp >= curlp) {
498 if (advance(lp, ep))
499 return (1);
500 lp -= ct;
501 }
502 return (0);
503 /*FALLTHRU*/
504
505 case CDOT | STAR:
506 curlp = lp;
507 while (*lp++);
508 goto star;
509 /*FALLTHRU*/
510
511 case CCHR | STAR:
512 curlp = lp;
|