bufsize_t _scan_html_block_start_7()

in src/scanners.c [8375:8990]


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

  {
    unsigned char yych;
    unsigned int yyaccept = 0;
    static const unsigned char yybm[] = {
        0,   224, 224, 224, 224, 224, 224, 224, 224, 198, 210, 194, 198, 194,
        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
        224, 224, 224, 224, 198, 224, 128, 224, 224, 224, 224, 64,  224, 224,
        224, 224, 224, 233, 232, 224, 233, 233, 233, 233, 233, 233, 233, 233,
        233, 233, 232, 224, 192, 192, 192, 224, 224, 233, 233, 233, 233, 233,
        233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
        233, 233, 233, 233, 233, 233, 233, 224, 224, 224, 224, 232, 192, 233,
        233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
        233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 224, 224, 224,
        224, 224, 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 (yych == '<')
      goto yy495;
    ++p;
  yy494 : { return 0; }
  yy495:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych <= '@') {
      if (yych != '/')
        goto yy494;
    } else {
      if (yych <= 'Z')
        goto yy498;
      if (yych <= '`')
        goto yy494;
      if (yych <= 'z')
        goto yy498;
      goto yy494;
    }
    yych = *++p;
    if (yych <= '@')
      goto yy497;
    if (yych <= 'Z')
      goto yy500;
    if (yych <= '`')
      goto yy497;
    if (yych <= 'z')
      goto yy500;
  yy497:
    p = marker;
    if (yyaccept == 0) {
      goto yy494;
    } else {
      goto yy513;
    }
  yy498:
    ++p;
    yych = *p;
    if (yybm[0 + yych] & 2) {
      goto yy502;
    }
    if (yych <= '=') {
      if (yych <= '.') {
        if (yych == '-')
          goto yy498;
        goto yy497;
      } else {
        if (yych <= '/')
          goto yy504;
        if (yych <= '9')
          goto yy498;
        goto yy497;
      }
    } else {
      if (yych <= 'Z') {
        if (yych <= '>')
          goto yy505;
        if (yych <= '@')
          goto yy497;
        goto yy498;
      } else {
        if (yych <= '`')
          goto yy497;
        if (yych <= 'z')
          goto yy498;
        goto yy497;
      }
    }
  yy500:
    ++p;
    yych = *p;
    if (yych <= '/') {
      if (yych <= 0x1F) {
        if (yych <= 0x08)
          goto yy497;
        if (yych <= '\r')
          goto yy507;
        goto yy497;
      } else {
        if (yych <= ' ')
          goto yy507;
        if (yych == '-')
          goto yy500;
        goto yy497;
      }
    } else {
      if (yych <= '@') {
        if (yych <= '9')
          goto yy500;
        if (yych == '>')
          goto yy505;
        goto yy497;
      } else {
        if (yych <= 'Z')
          goto yy500;
        if (yych <= '`')
          goto yy497;
        if (yych <= 'z')
          goto yy500;
        goto yy497;
      }
    }
  yy502:
    ++p;
    yych = *p;
    if (yybm[0 + yych] & 2) {
      goto yy502;
    }
    if (yych <= '>') {
      if (yych <= '9') {
        if (yych != '/')
          goto yy497;
      } else {
        if (yych <= ':')
          goto yy509;
        if (yych <= '=')
          goto yy497;
        goto yy505;
      }
    } else {
      if (yych <= '^') {
        if (yych <= '@')
          goto yy497;
        if (yych <= 'Z')
          goto yy509;
        goto yy497;
      } else {
        if (yych == '`')
          goto yy497;
        if (yych <= 'z')
          goto yy509;
        goto yy497;
      }
    }
  yy504:
    yych = *++p;
    if (yych != '>')
      goto yy497;
  yy505:
    ++p;
    yych = *p;
    if (yybm[0 + yych] & 4) {
      goto yy505;
    }
    if (yych <= 0x08)
      goto yy497;
    if (yych <= '\n')
      goto yy511;
    if (yych <= '\v')
      goto yy497;
    if (yych <= '\r')
      goto yy514;
    goto yy497;
  yy507:
    ++p;
    yych = *p;
    if (yych <= 0x1F) {
      if (yych <= 0x08)
        goto yy497;
      if (yych <= '\r')
        goto yy507;
      goto yy497;
    } else {
      if (yych <= ' ')
        goto yy507;
      if (yych == '>')
        goto yy505;
      goto yy497;
    }
  yy509:
    ++p;
    yych = *p;
    if (yybm[0 + yych] & 8) {
      goto yy509;
    }
    if (yych <= ',') {
      if (yych <= '\r') {
        if (yych <= 0x08)
          goto yy497;
        goto yy515;
      } else {
        if (yych == ' ')
          goto yy515;
        goto yy497;
      }
    } else {
      if (yych <= '<') {
        if (yych <= '/')
          goto yy504;
        goto yy497;
      } else {
        if (yych <= '=')
          goto yy517;
        if (yych <= '>')
          goto yy505;
        goto yy497;
      }
    }
  yy511:
    yyaccept = 1;
    marker = ++p;
    yych = *p;
    if (yybm[0 + yych] & 4) {
      goto yy505;
    }
    if (yych <= 0x08)
      goto yy513;
    if (yych <= '\n')
      goto yy511;
    if (yych <= '\v')
      goto yy513;
    if (yych <= '\r')
      goto yy514;
  yy513 : { return 7; }
  yy514:
    yych = *++p;
    goto yy513;
  yy515:
    ++p;
    yych = *p;
    if (yych <= '<') {
      if (yych <= ' ') {
        if (yych <= 0x08)
          goto yy497;
        if (yych <= '\r')
          goto yy515;
        if (yych <= 0x1F)
          goto yy497;
        goto yy515;
      } else {
        if (yych <= '/') {
          if (yych <= '.')
            goto yy497;
          goto yy504;
        } else {
          if (yych == ':')
            goto yy509;
          goto yy497;
        }
      }
    } else {
      if (yych <= 'Z') {
        if (yych <= '=')
          goto yy517;
        if (yych <= '>')
          goto yy505;
        if (yych <= '@')
          goto yy497;
        goto yy509;
      } else {
        if (yych <= '_') {
          if (yych <= '^')
            goto yy497;
          goto yy509;
        } else {
          if (yych <= '`')
            goto yy497;
          if (yych <= 'z')
            goto yy509;
          goto yy497;
        }
      }
    }
  yy517:
    ++p;
    yych = *p;
    if (yybm[0 + yych] & 32) {
      goto yy519;
    }
    if (yych <= 0xE0) {
      if (yych <= '"') {
        if (yych <= 0x00)
          goto yy497;
        if (yych <= ' ')
          goto yy517;
        goto yy521;
      } else {
        if (yych <= '\'')
          goto yy523;
        if (yych <= 0xC1)
          goto yy497;
        if (yych <= 0xDF)
          goto yy525;
        goto yy526;
      }
    } else {
      if (yych <= 0xEF) {
        if (yych == 0xED)
          goto yy528;
        goto yy527;
      } else {
        if (yych <= 0xF0)
          goto yy529;
        if (yych <= 0xF3)
          goto yy530;
        if (yych <= 0xF4)
          goto yy531;
        goto yy497;
      }
    }
  yy519:
    ++p;
    yych = *p;
    if (yybm[0 + yych] & 32) {
      goto yy519;
    }
    if (yych <= 0xE0) {
      if (yych <= '=') {
        if (yych <= 0x00)
          goto yy497;
        if (yych <= ' ')
          goto yy502;
        goto yy497;
      } else {
        if (yych <= '>')
          goto yy505;
        if (yych <= 0xC1)
          goto yy497;
        if (yych <= 0xDF)
          goto yy525;
        goto yy526;
      }
    } else {
      if (yych <= 0xEF) {
        if (yych == 0xED)
          goto yy528;
        goto yy527;
      } else {
        if (yych <= 0xF0)
          goto yy529;
        if (yych <= 0xF3)
          goto yy530;
        if (yych <= 0xF4)
          goto yy531;
        goto yy497;
      }
    }
  yy521:
    ++p;
    yych = *p;
    if (yybm[0 + yych] & 64) {
      goto yy521;
    }
    if (yych <= 0xEC) {
      if (yych <= 0xC1) {
        if (yych <= 0x00)
          goto yy497;
        if (yych <= '"')
          goto yy532;
        goto yy497;
      } else {
        if (yych <= 0xDF)
          goto yy533;
        if (yych <= 0xE0)
          goto yy534;
        goto yy535;
      }
    } else {
      if (yych <= 0xF0) {
        if (yych <= 0xED)
          goto yy536;
        if (yych <= 0xEF)
          goto yy535;
        goto yy537;
      } else {
        if (yych <= 0xF3)
          goto yy538;
        if (yych <= 0xF4)
          goto yy539;
        goto yy497;
      }
    }
  yy523:
    ++p;
    yych = *p;
    if (yybm[0 + yych] & 128) {
      goto yy523;
    }
    if (yych <= 0xEC) {
      if (yych <= 0xC1) {
        if (yych <= 0x00)
          goto yy497;
        if (yych <= '\'')
          goto yy532;
        goto yy497;
      } else {
        if (yych <= 0xDF)
          goto yy540;
        if (yych <= 0xE0)
          goto yy541;
        goto yy542;
      }
    } else {
      if (yych <= 0xF0) {
        if (yych <= 0xED)
          goto yy543;
        if (yych <= 0xEF)
          goto yy542;
        goto yy544;
      } else {
        if (yych <= 0xF3)
          goto yy545;
        if (yych <= 0xF4)
          goto yy546;
        goto yy497;
      }
    }
  yy525:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy519;
    goto yy497;
  yy526:
    ++p;
    yych = *p;
    if (yych <= 0x9F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy525;
    goto yy497;
  yy527:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy525;
    goto yy497;
  yy528:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0x9F)
      goto yy525;
    goto yy497;
  yy529:
    ++p;
    yych = *p;
    if (yych <= 0x8F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy527;
    goto yy497;
  yy530:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy527;
    goto yy497;
  yy531:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0x8F)
      goto yy527;
    goto yy497;
  yy532:
    ++p;
    yych = *p;
    if (yybm[0 + yych] & 2) {
      goto yy502;
    }
    if (yych == '/')
      goto yy504;
    if (yych == '>')
      goto yy505;
    goto yy497;
  yy533:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy521;
    goto yy497;
  yy534:
    ++p;
    yych = *p;
    if (yych <= 0x9F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy533;
    goto yy497;
  yy535:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy533;
    goto yy497;
  yy536:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0x9F)
      goto yy533;
    goto yy497;
  yy537:
    ++p;
    yych = *p;
    if (yych <= 0x8F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy535;
    goto yy497;
  yy538:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy535;
    goto yy497;
  yy539:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0x8F)
      goto yy535;
    goto yy497;
  yy540:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy523;
    goto yy497;
  yy541:
    ++p;
    yych = *p;
    if (yych <= 0x9F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy540;
    goto yy497;
  yy542:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy540;
    goto yy497;
  yy543:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0x9F)
      goto yy540;
    goto yy497;
  yy544:
    ++p;
    yych = *p;
    if (yych <= 0x8F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy542;
    goto yy497;
  yy545:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0xBF)
      goto yy542;
    goto yy497;
  yy546:
    ++p;
    yych = *p;
    if (yych <= 0x7F)
      goto yy497;
    if (yych <= 0x8F)
      goto yy542;
    goto yy497;
  }
}