bufsize_t _scan_html_block_end_4()

in src/scanners.c [10563:10834]


bufsize_t _scan_html_block_end_4(const unsigned char *p) {
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

  {
    unsigned char yych;
    unsigned int yyaccept = 0;
    static const unsigned char yybm[] = {
        0,   128, 128, 128, 128, 128, 128, 128, 128, 128, 0,   128, 128, 128,
        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
        128, 128, 128, 128, 128, 128, 64,  128, 128, 128, 128, 128, 128, 128,
        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
        128, 128, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        0,   0,   0,   0,
    };
    yych = *p;
    if (yybm[0 + yych] & 64) {
      goto yy645;
    }
    if (yych <= 0xE0) {
      if (yych <= '\n') {
        if (yych <= 0x00)
          goto yy642;
        if (yych <= '\t')
          goto yy644;
      } else {
        if (yych <= 0x7F)
          goto yy644;
        if (yych <= 0xC1)
          goto yy642;
        if (yych <= 0xDF)
          goto yy648;
        goto yy649;
      }
    } else {
      if (yych <= 0xEF) {
        if (yych == 0xED)
          goto yy651;
        goto yy650;
      } else {
        if (yych <= 0xF0)
          goto yy652;
        if (yych <= 0xF3)
          goto yy653;
        if (yych <= 0xF4)
          goto yy654;
      }
    }
  yy642:
    ++p;
  yy643 : { return 0; }
  yy644:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych <= '\n') {
      if (yych <= 0x00)
        goto yy643;
      if (yych <= '\t')
        goto yy656;
      goto yy643;
    } else {
      if (yych <= 0x7F)
        goto yy656;
      if (yych <= 0xC1)
        goto yy643;
      if (yych <= 0xF4)
        goto yy656;
      goto yy643;
    }
  yy645:
    yyaccept = 1;
    marker = ++p;
    yych = *p;
    if (yybm[0 + yych] & 128) {
      goto yy655;
    }
    if (yych <= 0xEC) {
      if (yych <= 0xC1) {
        if (yych <= '\n')
          goto yy647;
        if (yych <= '>')
          goto yy645;
      } else {
        if (yych <= 0xDF)
          goto yy658;
        if (yych <= 0xE0)
          goto yy659;
        goto yy660;
      }
    } else {
      if (yych <= 0xF0) {
        if (yych <= 0xED)
          goto yy661;
        if (yych <= 0xEF)
          goto yy660;
        goto yy662;
      } else {
        if (yych <= 0xF3)
          goto yy663;
        if (yych <= 0xF4)
          goto yy664;
      }
    }
  yy647 : { return (bufsize_t)(p - start); }
  yy648:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych <= 0x7F)
      goto yy643;
    if (yych <= 0xBF)
      goto yy655;
    goto yy643;
  yy649:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych <= 0x9F)
      goto yy643;
    if (yych <= 0xBF)
      goto yy658;
    goto yy643;
  yy650:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych <= 0x7F)
      goto yy643;
    if (yych <= 0xBF)
      goto yy658;
    goto yy643;
  yy651:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych <= 0x7F)
      goto yy643;
    if (yych <= 0x9F)
      goto yy658;
    goto yy643;
  yy652:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych <= 0x8F)
      goto yy643;
    if (yych <= 0xBF)
      goto yy660;
    goto yy643;
  yy653:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych <= 0x7F)
      goto yy643;
    if (yych <= 0xBF)
      goto yy660;
    goto yy643;
  yy654:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych <= 0x7F)
      goto yy643;
    if (yych <= 0x8F)
      goto yy660;
    goto yy643;
  yy655:
    ++p;
    yych = *p;
  yy656:
    if (yybm[0 + yych] & 128) {
      goto yy655;
    }
    if (yych <= 0xEC) {
      if (yych <= 0xC1) {
        if (yych <= '\n')
          goto yy657;
        if (yych <= '>')
          goto yy645;
      } else {
        if (yych <= 0xDF)
          goto yy658;
        if (yych <= 0xE0)
          goto yy659;
        goto yy660;
      }
    } else {
      if (yych <= 0xF0) {
        if (yych <= 0xED)
          goto yy661;
        if (yych <= 0xEF)
          goto yy660;
        goto yy662;
      } else {
        if (yych <= 0xF3)
          goto yy663;
        if (yych <= 0xF4)
          goto yy664;
      }
    }
  yy657:
    p = marker;
    if (yyaccept == 0) {
      goto yy643;
    } else {
      goto yy647;
    }
  yy658:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy657;
    if (yych <= 0xBF)
      goto yy655;
    goto yy657;
  yy659:
    ++p;
    yych = *p;
    if (yych <= 0x9F)
      goto yy657;
    if (yych <= 0xBF)
      goto yy658;
    goto yy657;
  yy660:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy657;
    if (yych <= 0xBF)
      goto yy658;
    goto yy657;
  yy661:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy657;
    if (yych <= 0x9F)
      goto yy658;
    goto yy657;
  yy662:
    ++p;
    yych = *p;
    if (yych <= 0x8F)
      goto yy657;
    if (yych <= 0xBF)
      goto yy660;
    goto yy657;
  yy663:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy657;
    if (yych <= 0xBF)
      goto yy660;
    goto yy657;
  yy664:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy657;
    if (yych <= 0x8F)
      goto yy660;
    goto yy657;
  }
}