From 8d4b76b07424b69e5f9dd05ef948bcc2f43126f3 Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Mon, 22 Mar 2021 20:28:51 +0100 Subject: [PATCH] Fix quadratic behavior with inline HTML Repeated starting sequences like ``, `?>` and `]]>` from the respective regex. Since these regexes are already constructed to match lazily, they will stop before an ending sequence. To check whether an ending sequence was found, we can simply test whether the input buffer is large enough to hold the match plus a potential suffix. If the regex doesn't find the ending sequence, it will match so many characters that this test is guaranteed to fail. In this case, we set a flag to avoid further attempts to execute the regex. To check which inline HTML regex to use, we inspect the start of the text buffer. This allows some fixed characters to be removed from the start of some regexes. `matchlen` is adjusted with a single addition that accounts for both the relevant prefix and suffix. Fixes #299. --- src/inlines.c | 53 +- src/scanners.c | 24284 ++++++++++++++++++++++++++-------------------- src/scanners.h | 8 + src/scanners.re | 57 +- 4 files changed, 14024 insertions(+), 10378 deletions(-) diff --git a/src/inlines.c b/src/inlines.c index 3cd3bc3d0..84319b21f 100644 --- a/src/inlines.c +++ b/src/inlines.c @@ -45,9 +45,14 @@ typedef struct bracket { bool in_bracket_image1; } bracket; +#define FLAG_SKIP_HTML_CDATA (1u << 0) +#define FLAG_SKIP_HTML_DECLARATION (1u << 1) +#define FLAG_SKIP_HTML_PI (1u << 2) + typedef struct subject{ cmark_mem *mem; cmark_chunk input; + unsigned flags; int line; bufsize_t pos; int block_offset; @@ -163,6 +168,7 @@ static void subject_from_buf(cmark_mem *mem, int line_number, int block_offset, int i; e->mem = mem; e->input = *chunk; + e->flags = 0; e->line = line_number; e->pos = 0; e->block_offset = block_offset; @@ -899,7 +905,52 @@ static cmark_node *handle_pointy_brace(subject *subj, int options) { } // finally, try to match an html tag - matchlen = scan_html_tag(&subj->input, subj->pos); + if (subj->pos + 2 <= subj->input.len) { + int c = subj->input.data[subj->pos]; + if (c == '!') { + c = subj->input.data[subj->pos+1]; + if (c == '-') { + matchlen = scan_html_comment(&subj->input, subj->pos + 2); + if (matchlen > 0) + matchlen += 2; // prefix "<-" + } else if (c == '[') { + if ((subj->flags & FLAG_SKIP_HTML_CDATA) == 0) { + matchlen = scan_html_cdata(&subj->input, subj->pos + 2); + if (matchlen > 0) { + // The regex doesn't require the final "]]>". But if we're not at + // the end of input, it must come after the match. Otherwise, + // disable subsequent scans to avoid quadratic behavior. + matchlen += 5; // prefix "![", suffix "]]>" + if (subj->pos + matchlen > subj->input.len) { + subj->flags |= FLAG_SKIP_HTML_CDATA; + matchlen = 0; + } + } + } + } else if ((subj->flags & FLAG_SKIP_HTML_DECLARATION) == 0) { + matchlen = scan_html_declaration(&subj->input, subj->pos + 1); + if (matchlen > 0) { + matchlen += 2; // prefix "!", suffix ">" + if (subj->pos + matchlen > subj->input.len) { + subj->flags |= FLAG_SKIP_HTML_DECLARATION; + matchlen = 0; + } + } + } + } else if (c == '?') { + if ((subj->flags & FLAG_SKIP_HTML_PI) == 0) { + // Note that we allow an empty match. + matchlen = scan_html_pi(&subj->input, subj->pos + 1); + matchlen += 3; // prefix "?", suffix "?>" + if (subj->pos + matchlen > subj->input.len) { + subj->flags |= FLAG_SKIP_HTML_PI; + matchlen = 0; + } + } + } else { + matchlen = scan_html_tag(&subj->input, subj->pos); + } + } if (matchlen > 0) { contents = cmark_chunk_dup(&subj->input, subj->pos - 1, matchlen + 1); subj->pos += matchlen; diff --git a/src/scanners.c b/src/scanners.c index 285b7a314..19720601d 100644 --- a/src/scanners.c +++ b/src/scanners.c @@ -1,10508 +1,14056 @@ -/* Generated by re2c 1.3 */ -#include -#include "chunk.h" +/* Generated by re2c 3.0 */ #include "scanners.h" +#include "chunk.h" +#include -bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset) -{ - bufsize_t res; - unsigned char *ptr = (unsigned char *)c->data; +bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, + bufsize_t offset) { + bufsize_t res; + unsigned char *ptr = (unsigned char *)c->data; - if (ptr == NULL || offset > c->len) { - return 0; - } else { - unsigned char lim = ptr[c->len]; + if (ptr == NULL || offset > c->len) { + return 0; + } else { + unsigned char lim = ptr[c->len]; - ptr[c->len] = '\0'; - res = scanner(ptr + offset); - ptr[c->len] = lim; - } + ptr[c->len] = '\0'; + res = scanner(ptr + offset); + ptr[c->len] = lim; + } - return res; + return res; } - - // Try to match a scheme including colon. -bufsize_t _scan_scheme(const unsigned char *p) -{ +bufsize_t _scan_scheme(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - yych = *p; - if (yych <= '@') goto yy2; - if (yych <= 'Z') goto yy4; - if (yych <= '`') goto yy2; - if (yych <= 'z') goto yy4; -yy2: - ++p; -yy3: - { return 0; } -yy4: - yych = *(marker = ++p); - if (yych <= '/') { - if (yych <= '+') { - if (yych <= '*') goto yy3; - } else { - if (yych <= ',') goto yy3; - if (yych >= '/') goto yy3; - } - } else { - if (yych <= 'Z') { - if (yych <= '9') goto yy5; - if (yych <= '@') goto yy3; - } else { - if (yych <= '`') goto yy3; - if (yych >= '{') goto yy3; - } - } -yy5: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy7; - } else { - if (yych != '/') goto yy7; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych >= 'A') goto yy7; - } else { - if (yych <= '`') goto yy6; - if (yych <= 'z') goto yy7; - } - } -yy6: - p = marker; - goto yy3; -yy7: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy10; - goto yy6; - } else { - if (yych == '/') goto yy6; - goto yy10; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - goto yy10; - } else { - if (yych <= '`') goto yy6; - if (yych <= 'z') goto yy10; - goto yy6; - } - } -yy8: - ++p; - { return (bufsize_t)(p - start); } -yy10: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych == ':') goto yy8; - goto yy6; -} - + { + unsigned char yych; + yych = *p; + if (yych <= '@') + goto yy1; + if (yych <= 'Z') + goto yy3; + if (yych <= '`') + goto yy1; + if (yych <= 'z') + goto yy3; + yy1: + ++p; + yy2 : { return 0; } + yy3: + yych = *(marker = ++p); + if (yych <= '/') { + if (yych <= '+') { + if (yych <= '*') + goto yy2; + } else { + if (yych <= ',') + goto yy2; + if (yych >= '/') + goto yy2; + } + } else { + if (yych <= 'Z') { + if (yych <= '9') + goto yy4; + if (yych <= '@') + goto yy2; + } else { + if (yych <= '`') + goto yy2; + if (yych >= '{') + goto yy2; + } + } + yy4: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy6; + } else { + if (yych != '/') + goto yy6; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych >= 'A') + goto yy6; + } else { + if (yych <= '`') + goto yy5; + if (yych <= 'z') + goto yy6; + } + } + yy5: + p = marker; + goto yy2; + yy6: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy8; + goto yy5; + } else { + if (yych == '/') + goto yy5; + goto yy8; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + goto yy8; + } else { + if (yych <= '`') + goto yy5; + if (yych <= 'z') + goto yy8; + goto yy5; + } + } + yy7: + ++p; + { return (bufsize_t)(p - start); } + yy8: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych == ':') + goto yy7; + goto yy5; + } } // Try to match URI autolink after first <, returning number of chars matched. -bufsize_t _scan_autolink_uri(const unsigned char *p) -{ +bufsize_t _scan_autolink_uri(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 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, 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, 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, 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 (yych <= '@') goto yy41; - if (yych <= 'Z') goto yy43; - if (yych <= '`') goto yy41; - if (yych <= 'z') goto yy43; -yy41: - ++p; -yy42: - { return 0; } -yy43: - yych = *(marker = ++p); - if (yych <= '/') { - if (yych <= '+') { - if (yych <= '*') goto yy42; - } else { - if (yych <= ',') goto yy42; - if (yych >= '/') goto yy42; - } - } else { - if (yych <= 'Z') { - if (yych <= '9') goto yy44; - if (yych <= '@') goto yy42; - } else { - if (yych <= '`') goto yy42; - if (yych >= '{') goto yy42; - } - } -yy44: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy46; - } else { - if (yych != '/') goto yy46; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych >= 'A') goto yy46; - } else { - if (yych <= '`') goto yy45; - if (yych <= 'z') goto yy46; - } - } -yy45: - p = marker; - goto yy42; -yy46: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy49; - goto yy45; - } else { - if (yych == '/') goto yy45; - goto yy49; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - goto yy49; - } else { - if (yych <= '`') goto yy45; - if (yych <= 'z') goto yy49; - goto yy45; - } - } -yy47: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy47; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '<') goto yy45; - if (yych <= '>') goto yy50; - goto yy45; - } else { - if (yych <= 0xDF) goto yy52; - if (yych <= 0xE0) goto yy53; - goto yy54; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy55; - if (yych <= 0xEF) goto yy54; - goto yy56; - } else { - if (yych <= 0xF3) goto yy57; - if (yych <= 0xF4) goto yy58; - goto yy45; - } - } -yy49: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy59; - goto yy45; - } else { - if (yych == '/') goto yy45; - goto yy59; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - goto yy59; - } else { - if (yych <= '`') goto yy45; - if (yych <= 'z') goto yy59; - goto yy45; - } - } -yy50: - ++p; - { return (bufsize_t)(p - start); } -yy52: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0xBF) goto yy47; - goto yy45; -yy53: - yych = *++p; - if (yych <= 0x9F) goto yy45; - if (yych <= 0xBF) goto yy52; - goto yy45; -yy54: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0xBF) goto yy52; - goto yy45; -yy55: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0x9F) goto yy52; - goto yy45; -yy56: - yych = *++p; - if (yych <= 0x8F) goto yy45; - if (yych <= 0xBF) goto yy54; - goto yy45; -yy57: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0xBF) goto yy54; - goto yy45; -yy58: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0x8F) goto yy54; - goto yy45; -yy59: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych == ':') goto yy47; - goto yy45; + { + unsigned char yych; + static const unsigned char yybm[] = { + 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, 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, 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, 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 (yych <= '@') + goto yy10; + if (yych <= 'Z') + goto yy12; + if (yych <= '`') + goto yy10; + if (yych <= 'z') + goto yy12; + yy10: + ++p; + yy11 : { return 0; } + yy12: + yych = *(marker = ++p); + if (yych <= '/') { + if (yych <= '+') { + if (yych <= '*') + goto yy11; + } else { + if (yych <= ',') + goto yy11; + if (yych >= '/') + goto yy11; + } + } else { + if (yych <= 'Z') { + if (yych <= '9') + goto yy13; + if (yych <= '@') + goto yy11; + } else { + if (yych <= '`') + goto yy11; + if (yych >= '{') + goto yy11; + } + } + yy13: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy15; + } else { + if (yych != '/') + goto yy15; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych >= 'A') + goto yy15; + } else { + if (yych <= '`') + goto yy14; + if (yych <= 'z') + goto yy15; + } + } + yy14: + p = marker; + goto yy11; + yy15: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy17; + goto yy14; + } else { + if (yych == '/') + goto yy14; + goto yy17; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + goto yy17; + } else { + if (yych <= '`') + goto yy14; + if (yych <= 'z') + goto yy17; + goto yy14; + } + } + yy16: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy16; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '<') + goto yy14; + if (yych <= '>') + goto yy18; + goto yy14; + } else { + if (yych <= 0xDF) + goto yy19; + if (yych <= 0xE0) + goto yy20; + goto yy21; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy22; + if (yych <= 0xEF) + goto yy21; + goto yy23; + } else { + if (yych <= 0xF3) + goto yy24; + if (yych <= 0xF4) + goto yy25; + goto yy14; + } + } + yy17: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy26; + goto yy14; + } else { + if (yych == '/') + goto yy14; + goto yy26; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + goto yy26; + } else { + if (yych <= '`') + goto yy14; + if (yych <= 'z') + goto yy26; + goto yy14; + } + } + yy18: + ++p; + { return (bufsize_t)(p - start); } + yy19: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0xBF) + goto yy16; + goto yy14; + yy20: + yych = *++p; + if (yych <= 0x9F) + goto yy14; + if (yych <= 0xBF) + goto yy19; + goto yy14; + yy21: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0xBF) + goto yy19; + goto yy14; + yy22: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0x9F) + goto yy19; + goto yy14; + yy23: + yych = *++p; + if (yych <= 0x8F) + goto yy14; + if (yych <= 0xBF) + goto yy21; + goto yy14; + yy24: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0xBF) + goto yy21; + goto yy14; + yy25: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0x8F) + goto yy21; + goto yy14; + yy26: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych == ':') + goto yy16; + goto yy14; + } } +// Try to match email autolink after first <, returning num of chars matched. +bufsize_t _scan_autolink_email(const unsigned char *p) { + const unsigned char *marker = NULL; + const unsigned char *start = p; + + { + unsigned char yych; + static const unsigned char yybm[] = { + 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, 128, 0, 128, 128, 128, 128, 128, 0, 0, + 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 128, 0, 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, 0, 0, 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, 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, 0, + }; + yych = *p; + if (yych <= '9') { + if (yych <= '\'') { + if (yych == '!') + goto yy30; + if (yych >= '#') + goto yy30; + } else { + if (yych <= ')') + goto yy28; + if (yych != ',') + goto yy30; + } + } else { + if (yych <= '?') { + if (yych == '=') + goto yy30; + if (yych >= '?') + goto yy30; + } else { + if (yych <= 'Z') { + if (yych >= 'A') + goto yy30; + } else { + if (yych <= ']') + goto yy28; + if (yych <= '~') + goto yy30; + } + } + } + yy28: + ++p; + yy29 : { return 0; } + yy30: + yych = *(marker = ++p); + if (yych <= ',') { + if (yych <= '"') { + if (yych == '!') + goto yy32; + goto yy29; + } else { + if (yych <= '\'') + goto yy32; + if (yych <= ')') + goto yy29; + if (yych <= '+') + goto yy32; + goto yy29; + } + } else { + if (yych <= '>') { + if (yych <= '9') + goto yy32; + if (yych == '=') + goto yy32; + goto yy29; + } else { + if (yych <= 'Z') + goto yy32; + if (yych <= ']') + goto yy29; + if (yych <= '~') + goto yy32; + goto yy29; + } + } + yy31: + yych = *++p; + yy32: + if (yybm[0 + yych] & 128) { + goto yy31; + } + if (yych <= '>') + goto yy33; + if (yych <= '@') + goto yy34; + yy33: + p = marker; + goto yy29; + yy34: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy33; + if (yych >= ':') + goto yy33; + } else { + if (yych <= 'Z') + goto yy35; + if (yych <= '`') + goto yy33; + if (yych >= '{') + goto yy33; + } + yy35: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy36; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy36; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy36; + goto yy33; + } + } + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy38; + if (yych <= '/') + goto yy33; + goto yy39; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy39; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy39; + goto yy33; + } + } + yy36: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych <= '-') + goto yy38; + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy39; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy39; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy39; + goto yy33; + } + } + yy37: + ++p; + { return (bufsize_t)(p - start); } + yy38: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy40; + if (yych <= '/') + goto yy33; + goto yy41; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy41; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy41; + goto yy33; + } + } + yy39: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy41; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy41; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy41; + goto yy33; + } + } + yy40: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy42; + if (yych <= '/') + goto yy33; + goto yy43; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy43; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy43; + goto yy33; + } + } + yy41: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy43; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy43; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy43; + goto yy33; + } + } + yy42: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy44; + if (yych <= '/') + goto yy33; + goto yy45; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy45; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy45; + goto yy33; + } + } + yy43: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy45; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy45; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy45; + goto yy33; + } + } + yy44: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy46; + if (yych <= '/') + goto yy33; + goto yy47; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy47; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy47; + goto yy33; + } + } + yy45: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy47; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy47; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy47; + goto yy33; + } + } + yy46: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy48; + if (yych <= '/') + goto yy33; + goto yy49; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy49; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy49; + goto yy33; + } + } + yy47: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy49; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy49; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy49; + goto yy33; + } + } + yy48: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy50; + if (yych <= '/') + goto yy33; + goto yy51; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy51; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy51; + goto yy33; + } + } + yy49: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy51; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy51; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy51; + goto yy33; + } + } + yy50: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy52; + if (yych <= '/') + goto yy33; + goto yy53; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy53; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy53; + goto yy33; + } + } + yy51: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy53; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy53; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy53; + goto yy33; + } + } + yy52: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy54; + if (yych <= '/') + goto yy33; + goto yy55; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy55; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy55; + goto yy33; + } + } + yy53: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy55; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy55; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy55; + goto yy33; + } + } + yy54: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy56; + if (yych <= '/') + goto yy33; + goto yy57; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy57; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy57; + goto yy33; + } + } + yy55: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy57; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy57; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy57; + goto yy33; + } + } + yy56: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy58; + if (yych <= '/') + goto yy33; + goto yy59; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy59; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy59; + goto yy33; + } + } + yy57: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy59; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy59; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy59; + goto yy33; + } + } + yy58: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy60; + if (yych <= '/') + goto yy33; + goto yy61; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy61; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy61; + goto yy33; + } + } + yy59: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy61; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy61; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy61; + goto yy33; + } + } + yy60: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy62; + if (yych <= '/') + goto yy33; + goto yy63; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy63; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy63; + goto yy33; + } + } + yy61: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy63; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy63; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy63; + goto yy33; + } + } + yy62: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy64; + if (yych <= '/') + goto yy33; + goto yy65; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy65; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy65; + goto yy33; + } + } + yy63: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy65; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy65; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy65; + goto yy33; + } + } + yy64: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy66; + if (yych <= '/') + goto yy33; + goto yy67; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy67; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy67; + goto yy33; + } + } + yy65: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy67; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy67; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy67; + goto yy33; + } + } + yy66: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy68; + if (yych <= '/') + goto yy33; + goto yy69; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy69; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy69; + goto yy33; + } + } + yy67: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy69; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy69; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy69; + goto yy33; + } + } + yy68: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy70; + if (yych <= '/') + goto yy33; + goto yy71; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy71; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy71; + goto yy33; + } + } + yy69: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy71; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy71; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy71; + goto yy33; + } + } + yy70: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy72; + if (yych <= '/') + goto yy33; + goto yy73; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy73; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy73; + goto yy33; + } + } + yy71: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy73; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy73; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy73; + goto yy33; + } + } + yy72: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy74; + if (yych <= '/') + goto yy33; + goto yy75; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy75; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy75; + goto yy33; + } + } + yy73: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy75; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy75; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy75; + goto yy33; + } + } + yy74: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy76; + if (yych <= '/') + goto yy33; + goto yy77; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy77; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy77; + goto yy33; + } + } + yy75: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy77; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy77; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy77; + goto yy33; + } + } + yy76: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy78; + if (yych <= '/') + goto yy33; + goto yy79; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy79; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy79; + goto yy33; + } + } + yy77: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy79; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy79; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy79; + goto yy33; + } + } + yy78: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy80; + if (yych <= '/') + goto yy33; + goto yy81; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy81; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy81; + goto yy33; + } + } + yy79: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy81; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy81; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy81; + goto yy33; + } + } + yy80: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy82; + if (yych <= '/') + goto yy33; + goto yy83; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy83; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy83; + goto yy33; + } + } + yy81: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy83; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy83; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy83; + goto yy33; + } + } + yy82: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy84; + if (yych <= '/') + goto yy33; + goto yy85; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy85; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy85; + goto yy33; + } + } + yy83: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy85; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy85; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy85; + goto yy33; + } + } + yy84: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy86; + if (yych <= '/') + goto yy33; + goto yy87; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy87; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy87; + goto yy33; + } + } + yy85: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy87; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy87; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy87; + goto yy33; + } + } + yy86: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy88; + if (yych <= '/') + goto yy33; + goto yy89; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy89; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy89; + goto yy33; + } + } + yy87: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy89; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy89; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy89; + goto yy33; + } + } + yy88: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy90; + if (yych <= '/') + goto yy33; + goto yy91; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy91; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy91; + goto yy33; + } + } + yy89: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy91; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy91; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy91; + goto yy33; + } + } + yy90: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy92; + if (yych <= '/') + goto yy33; + goto yy93; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy93; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy93; + goto yy33; + } + } + yy91: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy93; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy93; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy93; + goto yy33; + } + } + yy92: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy94; + if (yych <= '/') + goto yy33; + goto yy95; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy95; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy95; + goto yy33; + } + } + yy93: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy95; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy95; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy95; + goto yy33; + } + } + yy94: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy96; + if (yych <= '/') + goto yy33; + goto yy97; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy97; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy97; + goto yy33; + } + } + yy95: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy97; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy97; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy97; + goto yy33; + } + } + yy96: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy98; + if (yych <= '/') + goto yy33; + goto yy99; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy99; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy99; + goto yy33; + } + } + yy97: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy99; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy99; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy99; + goto yy33; + } + } + yy98: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy100; + if (yych <= '/') + goto yy33; + goto yy101; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy101; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy101; + goto yy33; + } + } + yy99: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy101; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy101; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy101; + goto yy33; + } + } + yy100: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy102; + if (yych <= '/') + goto yy33; + goto yy103; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy103; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy103; + goto yy33; + } + } + yy101: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy103; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy103; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy103; + goto yy33; + } + } + yy102: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy104; + if (yych <= '/') + goto yy33; + goto yy105; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy105; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy105; + goto yy33; + } + } + yy103: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy105; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy105; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy105; + goto yy33; + } + } + yy104: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy106; + if (yych <= '/') + goto yy33; + goto yy107; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy107; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy107; + goto yy33; + } + } + yy105: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy107; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy107; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy107; + goto yy33; + } + } + yy106: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy108; + if (yych <= '/') + goto yy33; + goto yy109; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy109; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy109; + goto yy33; + } + } + yy107: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy109; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy109; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy109; + goto yy33; + } + } + yy108: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy110; + if (yych <= '/') + goto yy33; + goto yy111; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy111; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy111; + goto yy33; + } + } + yy109: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy111; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy111; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy111; + goto yy33; + } + } + yy110: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy112; + if (yych <= '/') + goto yy33; + goto yy113; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy113; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy113; + goto yy33; + } + } + yy111: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy113; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy113; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy113; + goto yy33; + } + } + yy112: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy114; + if (yych <= '/') + goto yy33; + goto yy115; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy115; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy115; + goto yy33; + } + } + yy113: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy115; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy115; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy115; + goto yy33; + } + } + yy114: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy116; + if (yych <= '/') + goto yy33; + goto yy117; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy117; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy117; + goto yy33; + } + } + yy115: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy117; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy117; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy117; + goto yy33; + } + } + yy116: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy118; + if (yych <= '/') + goto yy33; + goto yy119; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy119; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy119; + goto yy33; + } + } + yy117: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy119; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy119; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy119; + goto yy33; + } + } + yy118: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy120; + if (yych <= '/') + goto yy33; + goto yy121; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy121; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy121; + goto yy33; + } + } + yy119: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy121; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy121; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy121; + goto yy33; + } + } + yy120: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy122; + if (yych <= '/') + goto yy33; + goto yy123; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy123; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy123; + goto yy33; + } + } + yy121: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy123; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy123; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy123; + goto yy33; + } + } + yy122: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy124; + if (yych <= '/') + goto yy33; + goto yy125; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy125; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy125; + goto yy33; + } + } + yy123: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy125; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy125; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy125; + goto yy33; + } + } + yy124: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy126; + if (yych <= '/') + goto yy33; + goto yy127; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy127; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy127; + goto yy33; + } + } + yy125: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy127; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy127; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy127; + goto yy33; + } + } + yy126: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy128; + if (yych <= '/') + goto yy33; + goto yy129; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy129; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy129; + goto yy33; + } + } + yy127: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy129; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy129; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy129; + goto yy33; + } + } + yy128: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy130; + if (yych <= '/') + goto yy33; + goto yy131; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy131; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy131; + goto yy33; + } + } + yy129: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy131; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy131; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy131; + goto yy33; + } + } + yy130: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy132; + if (yych <= '/') + goto yy33; + goto yy133; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy133; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy133; + goto yy33; + } + } + yy131: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy133; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy133; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy133; + goto yy33; + } + } + yy132: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy134; + if (yych <= '/') + goto yy33; + goto yy135; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy135; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy135; + goto yy33; + } + } + yy133: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy135; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy135; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy135; + goto yy33; + } + } + yy134: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy136; + if (yych <= '/') + goto yy33; + goto yy137; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy137; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy137; + goto yy33; + } + } + yy135: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy137; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy137; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy137; + goto yy33; + } + } + yy136: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy138; + if (yych <= '/') + goto yy33; + goto yy139; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy139; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy139; + goto yy33; + } + } + yy137: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy139; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy139; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy139; + goto yy33; + } + } + yy138: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy140; + if (yych <= '/') + goto yy33; + goto yy141; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy141; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy141; + goto yy33; + } + } + yy139: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy141; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy141; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy141; + goto yy33; + } + } + yy140: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy142; + if (yych <= '/') + goto yy33; + goto yy143; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy143; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy143; + goto yy33; + } + } + yy141: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy143; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy143; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy143; + goto yy33; + } + } + yy142: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy144; + if (yych <= '/') + goto yy33; + goto yy145; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy145; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy145; + goto yy33; + } + } + yy143: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy145; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy145; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy145; + goto yy33; + } + } + yy144: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy146; + if (yych <= '/') + goto yy33; + goto yy147; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy147; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy147; + goto yy33; + } + } + yy145: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy147; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy147; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy147; + goto yy33; + } + } + yy146: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy148; + if (yych <= '/') + goto yy33; + goto yy149; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy149; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy149; + goto yy33; + } + } + yy147: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy149; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy149; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy149; + goto yy33; + } + } + yy148: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy150; + if (yych <= '/') + goto yy33; + goto yy151; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy151; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy151; + goto yy33; + } + } + yy149: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy151; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy151; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy151; + goto yy33; + } + } + yy150: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy152; + if (yych <= '/') + goto yy33; + goto yy153; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy153; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy153; + goto yy33; + } + } + yy151: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy153; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy153; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy153; + goto yy33; + } + } + yy152: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy154; + if (yych <= '/') + goto yy33; + goto yy155; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy155; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy155; + goto yy33; + } + } + yy153: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy155; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy155; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy155; + goto yy33; + } + } + yy154: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy156; + if (yych <= '/') + goto yy33; + goto yy157; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy157; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy157; + goto yy33; + } + } + yy155: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy157; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy157; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy157; + goto yy33; + } + } + yy156: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy158; + goto yy33; + } else { + if (yych <= 'Z') + goto yy158; + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy158; + goto yy33; + } + yy157: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= '-') + goto yy33; + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych >= ':') + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + } else { + if (yych <= '`') + goto yy33; + if (yych >= '{') + goto yy33; + } + } + yy158: + yych = *++p; + if (yych == '.') + goto yy34; + if (yych == '>') + goto yy37; + goto yy33; + } } -// Try to match email autolink after first <, returning num of chars matched. -bufsize_t _scan_autolink_email(const unsigned char *p) -{ +// Try to match an HTML tag after first <, returning num of chars matched. +bufsize_t _scan_html_tag(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 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, 128, 0, 128, 128, 128, 128, 128, - 0, 0, 128, 128, 0, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 128, 0, 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, 0, 0, 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, 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, 0, - }; - yych = *p; - if (yych <= '9') { - if (yych <= '\'') { - if (yych == '!') goto yy91; - if (yych >= '#') goto yy91; - } else { - if (yych <= ')') goto yy89; - if (yych != ',') goto yy91; - } - } else { - if (yych <= '?') { - if (yych == '=') goto yy91; - if (yych >= '?') goto yy91; - } else { - if (yych <= 'Z') { - if (yych >= 'A') goto yy91; - } else { - if (yych <= ']') goto yy89; - if (yych <= '~') goto yy91; - } - } - } -yy89: - ++p; -yy90: - { return 0; } -yy91: - yych = *(marker = ++p); - if (yych <= ',') { - if (yych <= '"') { - if (yych == '!') goto yy93; - goto yy90; - } else { - if (yych <= '\'') goto yy93; - if (yych <= ')') goto yy90; - if (yych <= '+') goto yy93; - goto yy90; - } - } else { - if (yych <= '>') { - if (yych <= '9') goto yy93; - if (yych == '=') goto yy93; - goto yy90; - } else { - if (yych <= 'Z') goto yy93; - if (yych <= ']') goto yy90; - if (yych <= '~') goto yy93; - goto yy90; - } - } -yy92: - yych = *++p; -yy93: - if (yybm[0+yych] & 128) { - goto yy92; - } - if (yych <= '>') goto yy94; - if (yych <= '@') goto yy95; -yy94: - p = marker; - goto yy90; -yy95: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy94; - if (yych >= ':') goto yy94; - } else { - if (yych <= 'Z') goto yy96; - if (yych <= '`') goto yy94; - if (yych >= '{') goto yy94; - } -yy96: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy98; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy98; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy98; - goto yy94; - } - } - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy101; - if (yych <= '/') goto yy94; - goto yy102; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy102; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy102; - goto yy94; - } - } -yy98: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych <= '-') goto yy101; - goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy102; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy102; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy102; - goto yy94; - } - } -yy99: - ++p; - { return (bufsize_t)(p - start); } -yy101: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy103; - if (yych <= '/') goto yy94; - goto yy104; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy104; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy104; - goto yy94; - } - } -yy102: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy104; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy104; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy104; - goto yy94; - } - } -yy103: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy105; - if (yych <= '/') goto yy94; - goto yy106; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy106; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy106; - goto yy94; - } - } -yy104: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy106; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy106; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy106; - goto yy94; - } - } -yy105: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy107; - if (yych <= '/') goto yy94; - goto yy108; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy108; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy108; - goto yy94; - } - } -yy106: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy108; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy108; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy108; - goto yy94; - } - } -yy107: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy109; - if (yych <= '/') goto yy94; - goto yy110; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy110; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy110; - goto yy94; - } - } -yy108: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy110; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy110; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy110; - goto yy94; - } - } -yy109: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy111; - if (yych <= '/') goto yy94; - goto yy112; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy112; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy112; - goto yy94; - } - } -yy110: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy112; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy112; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy112; - goto yy94; - } - } -yy111: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy113; - if (yych <= '/') goto yy94; - goto yy114; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy114; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy114; - goto yy94; - } - } -yy112: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy114; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy114; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy114; - goto yy94; - } - } -yy113: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy115; - if (yych <= '/') goto yy94; - goto yy116; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy116; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy116; - goto yy94; - } - } -yy114: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy116; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy116; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy116; - goto yy94; - } - } -yy115: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy117; - if (yych <= '/') goto yy94; - goto yy118; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy118; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy118; - goto yy94; - } - } -yy116: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy118; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy118; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy118; - goto yy94; - } - } -yy117: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy119; - if (yych <= '/') goto yy94; - goto yy120; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy120; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy120; - goto yy94; - } - } -yy118: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy120; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy120; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy120; - goto yy94; - } - } -yy119: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy121; - if (yych <= '/') goto yy94; - goto yy122; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy122; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy122; - goto yy94; - } - } -yy120: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy122; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy122; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy122; - goto yy94; - } - } -yy121: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy123; - if (yych <= '/') goto yy94; - goto yy124; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy124; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy124; - goto yy94; - } - } -yy122: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy124; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy124; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy124; - goto yy94; - } - } -yy123: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy125; - if (yych <= '/') goto yy94; - goto yy126; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy126; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy126; - goto yy94; - } - } -yy124: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy126; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy126; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy126; - goto yy94; - } - } -yy125: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy127; - if (yych <= '/') goto yy94; - goto yy128; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy128; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy128; - goto yy94; - } - } -yy126: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy128; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy128; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy128; - goto yy94; - } - } -yy127: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy129; - if (yych <= '/') goto yy94; - goto yy130; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy130; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy130; - goto yy94; - } - } -yy128: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy130; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy130; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy130; - goto yy94; - } - } -yy129: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy131; - if (yych <= '/') goto yy94; - goto yy132; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy132; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy132; - goto yy94; - } - } -yy130: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy132; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy132; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy132; - goto yy94; - } - } -yy131: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy133; - if (yych <= '/') goto yy94; - goto yy134; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy134; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy134; - goto yy94; - } - } -yy132: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy134; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy134; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy134; - goto yy94; - } - } -yy133: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy135; - if (yych <= '/') goto yy94; - goto yy136; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy136; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy136; - goto yy94; - } - } -yy134: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy136; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy136; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy136; - goto yy94; - } - } -yy135: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy137; - if (yych <= '/') goto yy94; - goto yy138; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy138; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy138; - goto yy94; - } - } -yy136: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy138; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy138; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy138; - goto yy94; - } - } -yy137: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy139; - if (yych <= '/') goto yy94; - goto yy140; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy140; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy140; - goto yy94; - } - } -yy138: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy140; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy140; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy140; - goto yy94; - } - } -yy139: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy141; - if (yych <= '/') goto yy94; - goto yy142; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy142; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy142; - goto yy94; - } - } -yy140: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy142; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy142; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy142; - goto yy94; - } - } -yy141: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy143; - if (yych <= '/') goto yy94; - goto yy144; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy144; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy144; - goto yy94; - } - } -yy142: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy144; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy144; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy144; - goto yy94; - } - } -yy143: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy145; - if (yych <= '/') goto yy94; - goto yy146; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy146; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy146; - goto yy94; - } - } -yy144: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy146; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy146; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy146; - goto yy94; - } - } -yy145: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy147; - if (yych <= '/') goto yy94; - goto yy148; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy148; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy148; - goto yy94; - } - } -yy146: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy148; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy148; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy148; - goto yy94; - } - } -yy147: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy149; - if (yych <= '/') goto yy94; - goto yy150; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy150; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy150; - goto yy94; - } - } -yy148: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy150; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy150; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy150; - goto yy94; - } - } -yy149: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy151; - if (yych <= '/') goto yy94; - goto yy152; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy152; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy152; - goto yy94; - } - } -yy150: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy152; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy152; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy152; - goto yy94; - } - } -yy151: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy153; - if (yych <= '/') goto yy94; - goto yy154; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy154; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy154; - goto yy94; - } - } -yy152: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy154; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy154; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy154; - goto yy94; - } - } -yy153: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy155; - if (yych <= '/') goto yy94; - goto yy156; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy156; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy156; - goto yy94; - } - } -yy154: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy156; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy156; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy156; - goto yy94; - } - } -yy155: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy157; - if (yych <= '/') goto yy94; - goto yy158; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy158; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy158; - goto yy94; - } - } -yy156: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy158; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy158; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy158; - goto yy94; - } - } -yy157: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy159; - if (yych <= '/') goto yy94; - goto yy160; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy160; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy160; - goto yy94; - } - } -yy158: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy160; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy160; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy160; - goto yy94; - } - } -yy159: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy161; - if (yych <= '/') goto yy94; - goto yy162; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy162; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy162; - goto yy94; - } - } -yy160: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy162; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy162; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy162; - goto yy94; - } - } -yy161: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy163; - if (yych <= '/') goto yy94; - goto yy164; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy164; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy164; - goto yy94; - } - } -yy162: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy164; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy164; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy164; - goto yy94; - } - } -yy163: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy165; - if (yych <= '/') goto yy94; - goto yy166; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy166; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy166; - goto yy94; - } - } -yy164: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy166; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy166; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy166; - goto yy94; - } - } -yy165: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy167; - if (yych <= '/') goto yy94; - goto yy168; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy168; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy168; - goto yy94; - } - } -yy166: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy168; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy168; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy168; - goto yy94; - } - } -yy167: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy169; - if (yych <= '/') goto yy94; - goto yy170; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy170; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy170; - goto yy94; - } - } -yy168: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy170; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy170; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy170; - goto yy94; - } - } -yy169: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy171; - if (yych <= '/') goto yy94; - goto yy172; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy172; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy172; - goto yy94; - } - } -yy170: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy172; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy172; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy172; - goto yy94; - } - } -yy171: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy173; - if (yych <= '/') goto yy94; - goto yy174; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy174; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy174; - goto yy94; - } - } -yy172: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy174; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy174; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy174; - goto yy94; - } - } -yy173: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy175; - if (yych <= '/') goto yy94; - goto yy176; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy176; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy176; - goto yy94; - } - } -yy174: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy176; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy176; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy176; - goto yy94; - } - } -yy175: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy177; - if (yych <= '/') goto yy94; - goto yy178; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy178; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy178; - goto yy94; - } - } -yy176: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy178; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy178; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy178; - goto yy94; - } - } -yy177: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy179; - if (yych <= '/') goto yy94; - goto yy180; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy180; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy180; - goto yy94; - } - } -yy178: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy180; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy180; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy180; - goto yy94; - } - } -yy179: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy181; - if (yych <= '/') goto yy94; - goto yy182; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy182; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy182; - goto yy94; - } - } -yy180: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy182; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy182; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy182; - goto yy94; - } - } -yy181: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy183; - if (yych <= '/') goto yy94; - goto yy184; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy184; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy184; - goto yy94; - } - } -yy182: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy184; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy184; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy184; - goto yy94; - } - } -yy183: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy185; - if (yych <= '/') goto yy94; - goto yy186; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy186; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy186; - goto yy94; - } - } -yy184: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy186; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy186; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy186; - goto yy94; - } - } -yy185: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy187; - if (yych <= '/') goto yy94; - goto yy188; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy188; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy188; - goto yy94; - } - } -yy186: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy188; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy188; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy188; - goto yy94; - } - } -yy187: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy189; - if (yych <= '/') goto yy94; - goto yy190; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy190; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy190; - goto yy94; - } - } -yy188: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy190; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy190; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy190; - goto yy94; - } - } -yy189: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy191; - if (yych <= '/') goto yy94; - goto yy192; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy192; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy192; - goto yy94; - } - } -yy190: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy192; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy192; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy192; - goto yy94; - } - } -yy191: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy193; - if (yych <= '/') goto yy94; - goto yy194; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy194; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy194; - goto yy94; - } - } -yy192: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy194; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy194; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy194; - goto yy94; - } - } -yy193: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy195; - if (yych <= '/') goto yy94; - goto yy196; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy196; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy196; - goto yy94; - } - } -yy194: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy196; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy196; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy196; - goto yy94; - } - } -yy195: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy197; - if (yych <= '/') goto yy94; - goto yy198; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy198; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy198; - goto yy94; - } - } -yy196: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy198; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy198; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy198; - goto yy94; - } - } -yy197: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy199; - if (yych <= '/') goto yy94; - goto yy200; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy200; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy200; - goto yy94; - } - } -yy198: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy200; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy200; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy200; - goto yy94; - } - } -yy199: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy201; - if (yych <= '/') goto yy94; - goto yy202; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy202; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy202; - goto yy94; - } - } -yy200: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy202; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy202; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy202; - goto yy94; - } - } -yy201: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy203; - if (yych <= '/') goto yy94; - goto yy204; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy204; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy204; - goto yy94; - } - } -yy202: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy204; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy204; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy204; - goto yy94; - } - } -yy203: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy205; - if (yych <= '/') goto yy94; - goto yy206; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy206; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy206; - goto yy94; - } - } -yy204: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy206; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy206; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy206; - goto yy94; - } - } -yy205: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy207; - if (yych <= '/') goto yy94; - goto yy208; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy208; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy208; - goto yy94; - } - } -yy206: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy208; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy208; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy208; - goto yy94; - } - } -yy207: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy209; - if (yych <= '/') goto yy94; - goto yy210; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy210; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy210; - goto yy94; - } - } -yy208: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy210; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy210; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy210; - goto yy94; - } - } -yy209: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy211; - if (yych <= '/') goto yy94; - goto yy212; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy212; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy212; - goto yy94; - } - } -yy210: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy212; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy212; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy212; - goto yy94; - } - } -yy211: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy213; - if (yych <= '/') goto yy94; - goto yy214; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy214; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy214; - goto yy94; - } - } -yy212: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy214; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy214; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy214; - goto yy94; - } - } -yy213: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy215; - if (yych <= '/') goto yy94; - goto yy216; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy216; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy216; - goto yy94; - } - } -yy214: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy216; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy216; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy216; - goto yy94; - } - } -yy215: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy217; - if (yych <= '/') goto yy94; - goto yy218; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy218; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy218; - goto yy94; - } - } -yy216: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy218; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy218; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy218; - goto yy94; - } - } -yy217: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy219; - if (yych <= '/') goto yy94; - goto yy220; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy220; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy220; - goto yy94; - } - } -yy218: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy220; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy220; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy220; - goto yy94; - } - } -yy219: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy221; - goto yy94; - } else { - if (yych <= 'Z') goto yy221; - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy221; - goto yy94; - } -yy220: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= '-') goto yy94; - goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych >= ':') goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - } else { - if (yych <= '`') goto yy94; - if (yych >= '{') goto yy94; - } - } -yy221: - yych = *++p; - if (yych == '.') goto yy95; - if (yych == '>') goto yy99; - goto yy94; + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 224, 224, 224, 224, 224, 224, 224, 224, 200, 200, 200, 200, 200, + 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, + 224, 224, 224, 224, 200, 224, 128, 224, 224, 224, 224, 64, 224, 224, + 224, 224, 224, 244, 240, 224, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 240, 224, 192, 192, 192, 224, 224, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 224, 224, 224, 224, 240, 192, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 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 <= '@') { + if (yych == '/') + goto yy162; + } else { + if (yych <= 'Z') + goto yy163; + if (yych <= '`') + goto yy160; + if (yych <= 'z') + goto yy163; + } + yy160: + ++p; + yy161 : { return 0; } + yy162: + yych = *(marker = ++p); + if (yych <= '@') + goto yy161; + if (yych <= 'Z') + goto yy164; + if (yych <= '`') + goto yy161; + if (yych <= 'z') + goto yy164; + goto yy161; + yy163: + yych = *(marker = ++p); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy161; + if (yych <= '\r') + goto yy168; + goto yy161; + } else { + if (yych <= ' ') + goto yy168; + if (yych == '-') + goto yy168; + goto yy161; + } + } else { + if (yych <= '@') { + if (yych <= '9') + goto yy168; + if (yych == '>') + goto yy168; + goto yy161; + } else { + if (yych <= 'Z') + goto yy168; + if (yych <= '`') + goto yy161; + if (yych <= 'z') + goto yy168; + goto yy161; + } + } + yy164: + yych = *++p; + if (yybm[0 + yych] & 4) { + goto yy164; + } + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy165; + if (yych <= '\r') + goto yy171; + } else { + if (yych <= ' ') + goto yy171; + if (yych == '>') + goto yy170; + } + yy165: + p = marker; + goto yy161; + yy166: + yych = *++p; + if (yybm[0 + yych] & 8) { + goto yy166; + } + if (yych <= '>') { + if (yych <= '9') { + if (yych == '/') + goto yy169; + goto yy165; + } else { + if (yych <= ':') + goto yy172; + if (yych <= '=') + goto yy165; + goto yy170; + } + } else { + if (yych <= '^') { + if (yych <= '@') + goto yy165; + if (yych <= 'Z') + goto yy172; + goto yy165; + } else { + if (yych == '`') + goto yy165; + if (yych <= 'z') + goto yy172; + goto yy165; + } + } + yy167: + yych = *++p; + yy168: + if (yybm[0 + yych] & 8) { + goto yy166; + } + if (yych <= '=') { + if (yych <= '.') { + if (yych == '-') + goto yy167; + goto yy165; + } else { + if (yych <= '/') + goto yy169; + if (yych <= '9') + goto yy167; + goto yy165; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy170; + if (yych <= '@') + goto yy165; + goto yy167; + } else { + if (yych <= '`') + goto yy165; + if (yych <= 'z') + goto yy167; + goto yy165; + } + } + yy169: + yych = *++p; + if (yych != '>') + goto yy165; + yy170: + ++p; + { return (bufsize_t)(p - start); } + yy171: + yych = *++p; + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy165; + if (yych <= '\r') + goto yy171; + goto yy165; + } else { + if (yych <= ' ') + goto yy171; + if (yych == '>') + goto yy170; + goto yy165; + } + yy172: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy172; + } + if (yych <= ',') { + if (yych <= '\r') { + if (yych <= 0x08) + goto yy165; + } else { + if (yych != ' ') + goto yy165; + } + } else { + if (yych <= '<') { + if (yych <= '/') + goto yy169; + goto yy165; + } else { + if (yych <= '=') + goto yy174; + if (yych <= '>') + goto yy170; + goto yy165; + } + } + yy173: + yych = *++p; + if (yych <= '<') { + if (yych <= ' ') { + if (yych <= 0x08) + goto yy165; + if (yych <= '\r') + goto yy173; + if (yych <= 0x1F) + goto yy165; + goto yy173; + } else { + if (yych <= '/') { + if (yych <= '.') + goto yy165; + goto yy169; + } else { + if (yych == ':') + goto yy172; + goto yy165; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '=') + goto yy174; + if (yych <= '>') + goto yy170; + if (yych <= '@') + goto yy165; + goto yy172; + } else { + if (yych <= '_') { + if (yych <= '^') + goto yy165; + goto yy172; + } else { + if (yych <= '`') + goto yy165; + if (yych <= 'z') + goto yy172; + goto yy165; + } + } + } + yy174: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy175; + } + if (yych <= 0xE0) { + if (yych <= '"') { + if (yych <= 0x00) + goto yy165; + if (yych <= ' ') + goto yy174; + goto yy176; + } else { + if (yych <= '\'') + goto yy177; + if (yych <= 0xC1) + goto yy165; + if (yych <= 0xDF) + goto yy178; + goto yy179; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy181; + goto yy180; + } else { + if (yych <= 0xF0) + goto yy182; + if (yych <= 0xF3) + goto yy183; + if (yych <= 0xF4) + goto yy184; + goto yy165; + } + } + yy175: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy175; + } + if (yych <= 0xE0) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy165; + if (yych <= ' ') + goto yy166; + goto yy165; + } else { + if (yych <= '>') + goto yy170; + if (yych <= 0xC1) + goto yy165; + if (yych <= 0xDF) + goto yy178; + goto yy179; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy181; + goto yy180; + } else { + if (yych <= 0xF0) + goto yy182; + if (yych <= 0xF3) + goto yy183; + if (yych <= 0xF4) + goto yy184; + goto yy165; + } + } + yy176: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy176; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy165; + if (yych <= '"') + goto yy185; + goto yy165; + } else { + if (yych <= 0xDF) + goto yy186; + if (yych <= 0xE0) + goto yy187; + goto yy188; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy189; + if (yych <= 0xEF) + goto yy188; + goto yy190; + } else { + if (yych <= 0xF3) + goto yy191; + if (yych <= 0xF4) + goto yy192; + goto yy165; + } + } + yy177: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy177; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy165; + if (yych <= '\'') + goto yy185; + goto yy165; + } else { + if (yych <= 0xDF) + goto yy193; + if (yych <= 0xE0) + goto yy194; + goto yy195; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy196; + if (yych <= 0xEF) + goto yy195; + goto yy197; + } else { + if (yych <= 0xF3) + goto yy198; + if (yych <= 0xF4) + goto yy199; + goto yy165; + } + } + yy178: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy175; + goto yy165; + yy179: + yych = *++p; + if (yych <= 0x9F) + goto yy165; + if (yych <= 0xBF) + goto yy178; + goto yy165; + yy180: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy178; + goto yy165; + yy181: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x9F) + goto yy178; + goto yy165; + yy182: + yych = *++p; + if (yych <= 0x8F) + goto yy165; + if (yych <= 0xBF) + goto yy180; + goto yy165; + yy183: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy180; + goto yy165; + yy184: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x8F) + goto yy180; + goto yy165; + yy185: + yych = *++p; + if (yybm[0 + yych] & 8) { + goto yy166; + } + if (yych == '/') + goto yy169; + if (yych == '>') + goto yy170; + goto yy165; + yy186: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy176; + goto yy165; + yy187: + yych = *++p; + if (yych <= 0x9F) + goto yy165; + if (yych <= 0xBF) + goto yy186; + goto yy165; + yy188: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy186; + goto yy165; + yy189: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x9F) + goto yy186; + goto yy165; + yy190: + yych = *++p; + if (yych <= 0x8F) + goto yy165; + if (yych <= 0xBF) + goto yy188; + goto yy165; + yy191: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy188; + goto yy165; + yy192: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x8F) + goto yy188; + goto yy165; + yy193: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy177; + goto yy165; + yy194: + yych = *++p; + if (yych <= 0x9F) + goto yy165; + if (yych <= 0xBF) + goto yy193; + goto yy165; + yy195: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy193; + goto yy165; + yy196: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x9F) + goto yy193; + goto yy165; + yy197: + yych = *++p; + if (yych <= 0x8F) + goto yy165; + if (yych <= 0xBF) + goto yy195; + goto yy165; + yy198: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy195; + goto yy165; + yy199: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x8F) + goto yy195; + goto yy165; + } } +// Try to (liberally) match an HTML tag after first <, returning num of chars +// matched. +bufsize_t _scan_liberal_html_tag(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, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 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 <= 0xE0) { + if (yych <= '\n') { + if (yych <= 0x00) + goto yy201; + if (yych <= '\t') + goto yy203; + } else { + if (yych <= 0x7F) + goto yy203; + if (yych <= 0xC1) + goto yy201; + if (yych <= 0xDF) + goto yy204; + goto yy205; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy207; + goto yy206; + } else { + if (yych <= 0xF0) + goto yy208; + if (yych <= 0xF3) + goto yy209; + if (yych <= 0xF4) + goto yy210; + } + } + yy201: + ++p; + yy202 : { return 0; } + yy203: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy202; + if (yych <= '\t') + goto yy212; + goto yy202; + } else { + if (yych <= 0x7F) + goto yy212; + if (yych <= 0xC1) + goto yy202; + if (yych <= 0xF4) + goto yy212; + goto yy202; + } + yy204: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0xBF) + goto yy211; + goto yy202; + yy205: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy202; + if (yych <= 0xBF) + goto yy216; + goto yy202; + yy206: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0xBF) + goto yy216; + goto yy202; + yy207: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0x9F) + goto yy216; + goto yy202; + yy208: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy202; + if (yych <= 0xBF) + goto yy218; + goto yy202; + yy209: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0xBF) + goto yy218; + goto yy202; + yy210: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0x8F) + goto yy218; + goto yy202; + yy211: + yych = *++p; + yy212: + if (yybm[0 + yych] & 64) { + goto yy211; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy213; + if (yych <= '>') + goto yy214; + } else { + if (yych <= 0xDF) + goto yy216; + if (yych <= 0xE0) + goto yy217; + goto yy218; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy219; + if (yych <= 0xEF) + goto yy218; + goto yy220; + } else { + if (yych <= 0xF3) + goto yy221; + if (yych <= 0xF4) + goto yy222; + } + } + yy213: + p = marker; + if (yyaccept == 0) { + goto yy202; + } else { + goto yy215; + } + yy214: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy211; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy215; + if (yych <= '>') + goto yy214; + } else { + if (yych <= 0xDF) + goto yy216; + if (yych <= 0xE0) + goto yy217; + goto yy218; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy219; + if (yych <= 0xEF) + goto yy218; + goto yy220; + } else { + if (yych <= 0xF3) + goto yy221; + if (yych <= 0xF4) + goto yy222; + } + } + yy215 : { return (bufsize_t)(p - start); } + yy216: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0xBF) + goto yy211; + goto yy213; + yy217: + yych = *++p; + if (yych <= 0x9F) + goto yy213; + if (yych <= 0xBF) + goto yy216; + goto yy213; + yy218: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0xBF) + goto yy216; + goto yy213; + yy219: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0x9F) + goto yy216; + goto yy213; + yy220: + yych = *++p; + if (yych <= 0x8F) + goto yy213; + if (yych <= 0xBF) + goto yy218; + goto yy213; + yy221: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0xBF) + goto yy218; + goto yy213; + yy222: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0x8F) + goto yy218; + goto yy213; + } } -// Try to match an HTML tag after first <, returning num of chars matched. -bufsize_t _scan_html_tag(const unsigned char *p) -{ +bufsize_t _scan_html_comment(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - /* table 1 .. 8: 0 */ - 0, 250, 250, 250, 250, 250, 250, 250, - 250, 235, 235, 235, 235, 235, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, - 235, 250, 202, 250, 250, 250, 250, 170, - 250, 250, 250, 250, 250, 246, 254, 250, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 250, 234, 234, 232, 250, - 250, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 250, 250, 122, 250, 254, - 234, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 250, 250, 250, 250, 250, - 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, - /* table 9 .. 11: 256 */ - 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, 192, 128, 128, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 128, 128, 128, 128, 128, 0, - 128, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 128, 128, 128, 128, 128, - 128, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 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 (yych <= '>') { - if (yych <= '!') { - if (yych >= '!') goto yy226; - } else { - if (yych == '/') goto yy227; - } - } else { - if (yych <= 'Z') { - if (yych <= '?') goto yy228; - if (yych >= 'A') goto yy229; - } else { - if (yych <= '`') goto yy224; - if (yych <= 'z') goto yy229; - } - } -yy224: - ++p; -yy225: - { return 0; } -yy226: - yych = *(marker = ++p); - if (yybm[256+yych] & 32) { - goto yy232; - } - if (yych == '-') goto yy230; - if (yych <= '@') goto yy225; - if (yych <= '[') goto yy234; - goto yy225; -yy227: - yych = *(marker = ++p); - if (yych <= '@') goto yy225; - if (yych <= 'Z') goto yy235; - if (yych <= '`') goto yy225; - if (yych <= 'z') goto yy235; - goto yy225; -yy228: - yych = *(marker = ++p); - if (yych <= 0x00) goto yy225; - if (yych <= 0x7F) goto yy238; - if (yych <= 0xC1) goto yy225; - if (yych <= 0xF4) goto yy238; - goto yy225; -yy229: - yych = *(marker = ++p); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy225; - if (yych <= '\r') goto yy250; - goto yy225; - } else { - if (yych <= ' ') goto yy250; - if (yych == '-') goto yy250; - goto yy225; - } - } else { - if (yych <= '@') { - if (yych <= '9') goto yy250; - if (yych == '>') goto yy250; - goto yy225; - } else { - if (yych <= 'Z') goto yy250; - if (yych <= '`') goto yy225; - if (yych <= 'z') goto yy250; - goto yy225; - } - } -yy230: - yych = *++p; - if (yych == '-') goto yy254; -yy231: - p = marker; - goto yy225; -yy232: - yych = *++p; - if (yybm[256+yych] & 32) { - goto yy232; - } - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy255; - if (yych == ' ') goto yy255; - goto yy231; -yy234: - yych = *++p; - if (yych == 'C') goto yy257; - if (yych == 'c') goto yy257; - goto yy231; -yy235: - yych = *++p; - if (yybm[256+yych] & 64) { - goto yy235; - } - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy258; - goto yy231; - } else { - if (yych <= ' ') goto yy258; - if (yych == '>') goto yy252; - goto yy231; - } -yy237: - yych = *++p; -yy238: - if (yybm[256+yych] & 128) { - goto yy237; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych >= '@') goto yy231; - } else { - if (yych <= 0xDF) goto yy240; - if (yych <= 0xE0) goto yy241; - goto yy242; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy243; - if (yych <= 0xEF) goto yy242; - goto yy244; - } else { - if (yych <= 0xF3) goto yy245; - if (yych <= 0xF4) goto yy246; - goto yy231; - } - } - yych = *++p; - if (yych <= 0xE0) { - if (yych <= '>') { - if (yych <= 0x00) goto yy231; - if (yych <= '=') goto yy237; - goto yy252; - } else { - if (yych <= 0x7F) goto yy237; - if (yych <= 0xC1) goto yy231; - if (yych >= 0xE0) goto yy241; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy243; - goto yy242; - } else { - if (yych <= 0xF0) goto yy244; - if (yych <= 0xF3) goto yy245; - if (yych <= 0xF4) goto yy246; - goto yy231; - } - } -yy240: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy237; - goto yy231; -yy241: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy240; - goto yy231; -yy242: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy240; - goto yy231; -yy243: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy240; - goto yy231; -yy244: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy242; - goto yy231; -yy245: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy242; - goto yy231; -yy246: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy242; - goto yy231; -yy247: - yych = *++p; - if (yybm[0+yych] & 1) { - goto yy247; - } - if (yych <= '>') { - if (yych <= '9') { - if (yych == '/') goto yy251; - goto yy231; - } else { - if (yych <= ':') goto yy260; - if (yych <= '=') goto yy231; - goto yy252; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy231; - if (yych <= 'Z') goto yy260; - goto yy231; - } else { - if (yych == '`') goto yy231; - if (yych <= 'z') goto yy260; - goto yy231; - } - } -yy249: - yych = *++p; -yy250: - if (yybm[0+yych] & 1) { - goto yy247; - } - if (yych <= '=') { - if (yych <= '.') { - if (yych == '-') goto yy249; - goto yy231; - } else { - if (yych <= '/') goto yy251; - if (yych <= '9') goto yy249; - goto yy231; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy252; - if (yych <= '@') goto yy231; - goto yy249; - } else { - if (yych <= '`') goto yy231; - if (yych <= 'z') goto yy249; - goto yy231; - } - } -yy251: - yych = *++p; - if (yych != '>') goto yy231; -yy252: - ++p; - { return (bufsize_t)(p - start); } -yy254: - yych = *++p; - if (yych == '-') goto yy264; - if (yych == '>') goto yy231; - goto yy263; -yy255: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy255; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '>') goto yy252; - goto yy231; - } else { - if (yych <= 0xDF) goto yy272; - if (yych <= 0xE0) goto yy273; - goto yy274; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy275; - if (yych <= 0xEF) goto yy274; - goto yy276; - } else { - if (yych <= 0xF3) goto yy277; - if (yych <= 0xF4) goto yy278; - goto yy231; - } - } -yy257: - yych = *++p; - if (yych == 'D') goto yy279; - if (yych == 'd') goto yy279; - goto yy231; -yy258: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy258; - goto yy231; - } else { - if (yych <= ' ') goto yy258; - if (yych == '>') goto yy252; - goto yy231; - } -yy260: - yych = *++p; - if (yybm[0+yych] & 4) { - goto yy260; - } - if (yych <= ',') { - if (yych <= '\r') { - if (yych <= 0x08) goto yy231; - goto yy280; - } else { - if (yych == ' ') goto yy280; - goto yy231; - } - } else { - if (yych <= '<') { - if (yych <= '/') goto yy251; - goto yy231; - } else { - if (yych <= '=') goto yy282; - if (yych <= '>') goto yy252; - goto yy231; - } - } -yy262: - yych = *++p; -yy263: - if (yybm[0+yych] & 8) { - goto yy262; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '-') goto yy284; - goto yy231; - } else { - if (yych <= 0xDF) goto yy265; - if (yych <= 0xE0) goto yy266; - goto yy267; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy268; - if (yych <= 0xEF) goto yy267; - goto yy269; - } else { - if (yych <= 0xF3) goto yy270; - if (yych <= 0xF4) goto yy271; - goto yy231; - } - } -yy264: - yych = *++p; - if (yych == '-') goto yy251; - if (yych == '>') goto yy231; - goto yy263; -yy265: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy262; - goto yy231; -yy266: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy265; - goto yy231; -yy267: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy265; - goto yy231; -yy268: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy265; - goto yy231; -yy269: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy267; - goto yy231; -yy270: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy267; - goto yy231; -yy271: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy267; - goto yy231; -yy272: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy255; - goto yy231; -yy273: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy272; - goto yy231; -yy274: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy272; - goto yy231; -yy275: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy272; - goto yy231; -yy276: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy274; - goto yy231; -yy277: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy274; - goto yy231; -yy278: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy274; - goto yy231; -yy279: - yych = *++p; - if (yych == 'A') goto yy285; - if (yych == 'a') goto yy285; - goto yy231; -yy280: - yych = *++p; - if (yych <= '<') { - if (yych <= ' ') { - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy280; - if (yych <= 0x1F) goto yy231; - goto yy280; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy231; - goto yy251; - } else { - if (yych == ':') goto yy260; - goto yy231; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '=') goto yy282; - if (yych <= '>') goto yy252; - if (yych <= '@') goto yy231; - goto yy260; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy231; - goto yy260; - } else { - if (yych <= '`') goto yy231; - if (yych <= 'z') goto yy260; - goto yy231; - } - } - } -yy282: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy286; - } - if (yych <= 0xE0) { - if (yych <= '"') { - if (yych <= 0x00) goto yy231; - if (yych <= ' ') goto yy282; - goto yy288; - } else { - if (yych <= '\'') goto yy290; - if (yych <= 0xC1) goto yy231; - if (yych <= 0xDF) goto yy292; - goto yy293; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy295; - goto yy294; - } else { - if (yych <= 0xF0) goto yy296; - if (yych <= 0xF3) goto yy297; - if (yych <= 0xF4) goto yy298; - goto yy231; - } - } -yy284: - yych = *++p; - if (yybm[0+yych] & 8) { - goto yy262; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '-') goto yy251; - goto yy231; - } else { - if (yych <= 0xDF) goto yy265; - if (yych <= 0xE0) goto yy266; - goto yy267; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy268; - if (yych <= 0xEF) goto yy267; - goto yy269; - } else { - if (yych <= 0xF3) goto yy270; - if (yych <= 0xF4) goto yy271; - goto yy231; - } - } -yy285: - yych = *++p; - if (yych == 'T') goto yy299; - if (yych == 't') goto yy299; - goto yy231; -yy286: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy286; - } - if (yych <= 0xE0) { - if (yych <= '=') { - if (yych <= 0x00) goto yy231; - if (yych <= ' ') goto yy247; - goto yy231; - } else { - if (yych <= '>') goto yy252; - if (yych <= 0xC1) goto yy231; - if (yych <= 0xDF) goto yy292; - goto yy293; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy295; - goto yy294; - } else { - if (yych <= 0xF0) goto yy296; - if (yych <= 0xF3) goto yy297; - if (yych <= 0xF4) goto yy298; - goto yy231; - } - } -yy288: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy288; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '"') goto yy300; - goto yy231; - } else { - if (yych <= 0xDF) goto yy301; - if (yych <= 0xE0) goto yy302; - goto yy303; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy304; - if (yych <= 0xEF) goto yy303; - goto yy305; - } else { - if (yych <= 0xF3) goto yy306; - if (yych <= 0xF4) goto yy307; - goto yy231; - } - } -yy290: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy290; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '\'') goto yy300; - goto yy231; - } else { - if (yych <= 0xDF) goto yy308; - if (yych <= 0xE0) goto yy309; - goto yy310; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy311; - if (yych <= 0xEF) goto yy310; - goto yy312; - } else { - if (yych <= 0xF3) goto yy313; - if (yych <= 0xF4) goto yy314; - goto yy231; - } - } -yy292: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy286; - goto yy231; -yy293: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy292; - goto yy231; -yy294: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy292; - goto yy231; -yy295: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy292; - goto yy231; -yy296: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy294; - goto yy231; -yy297: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy294; - goto yy231; -yy298: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy294; - goto yy231; -yy299: - yych = *++p; - if (yych == 'A') goto yy315; - if (yych == 'a') goto yy315; - goto yy231; -yy300: - yych = *++p; - if (yybm[0+yych] & 1) { - goto yy247; - } - if (yych == '/') goto yy251; - if (yych == '>') goto yy252; - goto yy231; -yy301: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy288; - goto yy231; -yy302: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy301; - goto yy231; -yy303: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy301; - goto yy231; -yy304: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy301; - goto yy231; -yy305: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy303; - goto yy231; -yy306: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy303; - goto yy231; -yy307: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy303; - goto yy231; -yy308: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy290; - goto yy231; -yy309: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy308; - goto yy231; -yy310: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy308; - goto yy231; -yy311: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy308; - goto yy231; -yy312: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy310; - goto yy231; -yy313: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy310; - goto yy231; -yy314: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy310; - goto yy231; -yy315: - yych = *++p; - if (yych != '[') goto yy231; -yy316: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy316; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych >= '^') goto yy231; - } else { - if (yych <= 0xDF) goto yy319; - if (yych <= 0xE0) goto yy320; - goto yy321; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy322; - if (yych <= 0xEF) goto yy321; - goto yy323; - } else { - if (yych <= 0xF3) goto yy324; - if (yych <= 0xF4) goto yy325; - goto yy231; - } - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy316; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= ']') goto yy326; - goto yy231; - } else { - if (yych <= 0xDF) goto yy319; - if (yych <= 0xE0) goto yy320; - goto yy321; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy322; - if (yych <= 0xEF) goto yy321; - goto yy323; - } else { - if (yych <= 0xF3) goto yy324; - if (yych <= 0xF4) goto yy325; - goto yy231; - } - } -yy319: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy316; - goto yy231; -yy320: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy319; - goto yy231; -yy321: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy319; - goto yy231; -yy322: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy319; - goto yy231; -yy323: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy321; - goto yy231; -yy324: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy321; - goto yy231; -yy325: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy321; - goto yy231; -yy326: - yych = *++p; - if (yych <= 0xE0) { - if (yych <= '>') { - if (yych <= 0x00) goto yy231; - if (yych <= '=') goto yy316; - goto yy252; - } else { - if (yych <= 0x7F) goto yy316; - if (yych <= 0xC1) goto yy231; - if (yych <= 0xDF) goto yy319; - goto yy320; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy322; - goto yy321; - } else { - if (yych <= 0xF0) goto yy323; - if (yych <= 0xF3) goto yy324; - if (yych <= 0xF4) goto yy325; - goto yy231; - } - } + { + unsigned char yych; + static const unsigned char yybm[] = { + 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, 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, 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 (yych == '-') + goto yy225; + ++p; + yy224 : { return 0; } + yy225: + yych = *(marker = ++p); + if (yych != '-') + goto yy224; + yy226: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy226; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy227; + if (yych <= '-') + goto yy228; + } else { + if (yych <= 0xDF) + goto yy229; + if (yych <= 0xE0) + goto yy230; + goto yy231; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy232; + if (yych <= 0xEF) + goto yy231; + goto yy233; + } else { + if (yych <= 0xF3) + goto yy234; + if (yych <= 0xF4) + goto yy235; + } + } + yy227: + p = marker; + goto yy224; + yy228: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy226; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy227; + if (yych <= '-') + goto yy236; + goto yy227; + } else { + if (yych <= 0xDF) + goto yy229; + if (yych <= 0xE0) + goto yy230; + goto yy231; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy232; + if (yych <= 0xEF) + goto yy231; + goto yy233; + } else { + if (yych <= 0xF3) + goto yy234; + if (yych <= 0xF4) + goto yy235; + goto yy227; + } + } + yy229: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0xBF) + goto yy226; + goto yy227; + yy230: + yych = *++p; + if (yych <= 0x9F) + goto yy227; + if (yych <= 0xBF) + goto yy229; + goto yy227; + yy231: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0xBF) + goto yy229; + goto yy227; + yy232: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0x9F) + goto yy229; + goto yy227; + yy233: + yych = *++p; + if (yych <= 0x8F) + goto yy227; + if (yych <= 0xBF) + goto yy231; + goto yy227; + yy234: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0xBF) + goto yy231; + goto yy227; + yy235: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0x8F) + goto yy231; + goto yy227; + yy236: + yych = *++p; + if (yych <= 0xE0) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy227; + if (yych <= '=') + goto yy226; + } else { + if (yych <= 0x7F) + goto yy226; + if (yych <= 0xC1) + goto yy227; + if (yych <= 0xDF) + goto yy229; + goto yy230; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy232; + goto yy231; + } else { + if (yych <= 0xF0) + goto yy233; + if (yych <= 0xF3) + goto yy234; + if (yych <= 0xF4) + goto yy235; + goto yy227; + } + } + ++p; + { return (bufsize_t)(p - start); } + } } +bufsize_t _scan_html_pi(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, 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, 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] & 128) { + goto yy240; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy238; + if (yych <= '?') + goto yy243; + } else { + if (yych <= 0xDF) + goto yy244; + if (yych <= 0xE0) + goto yy245; + goto yy246; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy247; + if (yych <= 0xEF) + goto yy246; + goto yy248; + } else { + if (yych <= 0xF3) + goto yy249; + if (yych <= 0xF4) + goto yy250; + } + } + yy238: + ++p; + yy239 : { return 0; } + yy240: + yyaccept = 0; + yych = *(marker = ++p); + yy241: + if (yybm[0 + yych] & 128) { + goto yy240; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy242; + if (yych <= '?') + goto yy251; + } else { + if (yych <= 0xDF) + goto yy253; + if (yych <= 0xE0) + goto yy254; + goto yy255; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy256; + if (yych <= 0xEF) + goto yy255; + goto yy257; + } else { + if (yych <= 0xF3) + goto yy258; + if (yych <= 0xF4) + goto yy259; + } + } + yy242 : { return (bufsize_t)(p - start); } + yy243: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= '?') { + if (yych <= 0x00) + goto yy239; + if (yych <= '=') + goto yy241; + if (yych <= '>') + goto yy239; + goto yy240; + } else { + if (yych <= 0x7F) + goto yy241; + if (yych <= 0xC1) + goto yy239; + if (yych <= 0xF4) + goto yy241; + goto yy239; + } + yy244: + yych = *++p; + if (yych <= 0x7F) + goto yy239; + if (yych <= 0xBF) + goto yy240; + goto yy239; + yy245: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy239; + if (yych <= 0xBF) + goto yy253; + goto yy239; + yy246: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0xBF) + goto yy253; + goto yy239; + yy247: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0x9F) + goto yy253; + goto yy239; + yy248: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy239; + if (yych <= 0xBF) + goto yy255; + goto yy239; + yy249: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0xBF) + goto yy255; + goto yy239; + yy250: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0x8F) + goto yy255; + goto yy239; + yy251: + yych = *++p; + if (yych <= 0xE0) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy252; + if (yych <= '=') + goto yy240; + } else { + if (yych <= 0x7F) + goto yy240; + if (yych <= 0xC1) + goto yy252; + if (yych <= 0xDF) + goto yy253; + goto yy254; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy256; + goto yy255; + } else { + if (yych <= 0xF0) + goto yy257; + if (yych <= 0xF3) + goto yy258; + if (yych <= 0xF4) + goto yy259; + } + } + yy252: + p = marker; + if (yyaccept == 0) { + goto yy242; + } else { + goto yy239; + } + yy253: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0xBF) + goto yy240; + goto yy252; + yy254: + yych = *++p; + if (yych <= 0x9F) + goto yy252; + if (yych <= 0xBF) + goto yy253; + goto yy252; + yy255: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0xBF) + goto yy253; + goto yy252; + yy256: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0x9F) + goto yy253; + goto yy252; + yy257: + yych = *++p; + if (yych <= 0x8F) + goto yy252; + if (yych <= 0xBF) + goto yy255; + goto yy252; + yy258: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0xBF) + goto yy255; + goto yy252; + yy259: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0x8F) + goto yy255; + goto yy252; + } } -// Try to (liberally) match an HTML tag after first <, returning num of chars matched. -bufsize_t _scan_liberal_html_tag(const unsigned char *p) -{ +bufsize_t _scan_html_declaration(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, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 128, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 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 <= 0xE0) { - if (yych <= '\n') { - if (yych <= 0x00) goto yy329; - if (yych <= '\t') goto yy331; - } else { - if (yych <= 0x7F) goto yy331; - if (yych <= 0xC1) goto yy329; - if (yych <= 0xDF) goto yy332; - goto yy333; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy335; - goto yy334; - } else { - if (yych <= 0xF0) goto yy336; - if (yych <= 0xF3) goto yy337; - if (yych <= 0xF4) goto yy338; - } - } -yy329: - ++p; -yy330: - { return 0; } -yy331: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy330; - if (yych <= '\t') goto yy340; - goto yy330; - } else { - if (yych <= 0x7F) goto yy340; - if (yych <= 0xC1) goto yy330; - if (yych <= 0xF4) goto yy340; - goto yy330; - } -yy332: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0xBF) goto yy339; - goto yy330; -yy333: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy330; - if (yych <= 0xBF) goto yy345; - goto yy330; -yy334: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0xBF) goto yy345; - goto yy330; -yy335: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0x9F) goto yy345; - goto yy330; -yy336: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy330; - if (yych <= 0xBF) goto yy347; - goto yy330; -yy337: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0xBF) goto yy347; - goto yy330; -yy338: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0x8F) goto yy347; - goto yy330; -yy339: - yych = *++p; -yy340: - if (yybm[0+yych] & 64) { - goto yy339; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy341; - if (yych <= '>') goto yy342; - } else { - if (yych <= 0xDF) goto yy345; - if (yych <= 0xE0) goto yy346; - goto yy347; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy348; - if (yych <= 0xEF) goto yy347; - goto yy349; - } else { - if (yych <= 0xF3) goto yy350; - if (yych <= 0xF4) goto yy351; - } - } -yy341: - p = marker; - if (yyaccept == 0) { - goto yy330; - } else { - goto yy344; - } -yy342: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy339; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy344; - if (yych <= '>') goto yy342; - } else { - if (yych <= 0xDF) goto yy345; - if (yych <= 0xE0) goto yy346; - goto yy347; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy348; - if (yych <= 0xEF) goto yy347; - goto yy349; - } else { - if (yych <= 0xF3) goto yy350; - if (yych <= 0xF4) goto yy351; - } - } -yy344: - { return (bufsize_t)(p - start); } -yy345: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0xBF) goto yy339; - goto yy341; -yy346: - yych = *++p; - if (yych <= 0x9F) goto yy341; - if (yych <= 0xBF) goto yy345; - goto yy341; -yy347: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0xBF) goto yy345; - goto yy341; -yy348: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0x9F) goto yy345; - goto yy341; -yy349: - yych = *++p; - if (yych <= 0x8F) goto yy341; - if (yych <= 0xBF) goto yy347; - goto yy341; -yy350: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0xBF) goto yy347; - goto yy341; -yy351: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0x8F) goto yy347; - goto yy341; + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 0, 64, 64, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 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 yy261; + if (yych <= 'Z') + goto yy263; + yy261: + ++p; + yy262 : { return 0; } + yy263: + yyaccept = 0; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy266; + } + if (yych <= 0x08) + goto yy262; + if (yych <= '\r') + goto yy264; + if (yych != ' ') + goto yy262; + yy264: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy264; + } + if (yych <= 0xED) { + if (yych <= 0xDF) { + if (yych >= 0xC2) + goto yy268; + } else { + if (yych <= 0xE0) + goto yy269; + if (yych <= 0xEC) + goto yy270; + goto yy271; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy270; + goto yy272; + } else { + if (yych <= 0xF3) + goto yy273; + if (yych <= 0xF4) + goto yy274; + } + } + yy265 : { return (bufsize_t)(p - start); } + yy266: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy266; + } + if (yych <= 0x08) + goto yy267; + if (yych <= '\r') + goto yy264; + if (yych == ' ') + goto yy264; + yy267: + p = marker; + if (yyaccept == 0) { + goto yy262; + } else { + goto yy265; + } + yy268: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0xBF) + goto yy264; + goto yy267; + yy269: + yych = *++p; + if (yych <= 0x9F) + goto yy267; + if (yych <= 0xBF) + goto yy268; + goto yy267; + yy270: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0xBF) + goto yy268; + goto yy267; + yy271: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0x9F) + goto yy268; + goto yy267; + yy272: + yych = *++p; + if (yych <= 0x8F) + goto yy267; + if (yych <= 0xBF) + goto yy270; + goto yy267; + yy273: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0xBF) + goto yy270; + goto yy267; + yy274: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0x8F) + goto yy270; + goto yy267; + } } +bufsize_t _scan_html_cdata(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, 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, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 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, 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 == 'C') + goto yy277; + if (yych == 'c') + goto yy277; + ++p; + yy276 : { return 0; } + yy277: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'D') + goto yy278; + if (yych != 'd') + goto yy276; + yy278: + yych = *++p; + if (yych == 'A') + goto yy280; + if (yych == 'a') + goto yy280; + yy279: + p = marker; + if (yyaccept == 0) { + goto yy276; + } else { + goto yy284; + } + yy280: + yych = *++p; + if (yych == 'T') + goto yy281; + if (yych != 't') + goto yy279; + yy281: + yych = *++p; + if (yych == 'A') + goto yy282; + if (yych != 'a') + goto yy279; + yy282: + yych = *++p; + if (yych != '[') + goto yy279; + yy283: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy283; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy284; + if (yych <= ']') + goto yy285; + } else { + if (yych <= 0xDF) + goto yy286; + if (yych <= 0xE0) + goto yy287; + goto yy288; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy289; + if (yych <= 0xEF) + goto yy288; + goto yy290; + } else { + if (yych <= 0xF3) + goto yy291; + if (yych <= 0xF4) + goto yy292; + } + } + yy284 : { return (bufsize_t)(p - start); } + yy285: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy283; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy279; + if (yych <= ']') + goto yy293; + goto yy279; + } else { + if (yych <= 0xDF) + goto yy286; + if (yych <= 0xE0) + goto yy287; + goto yy288; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy289; + if (yych <= 0xEF) + goto yy288; + goto yy290; + } else { + if (yych <= 0xF3) + goto yy291; + if (yych <= 0xF4) + goto yy292; + goto yy279; + } + } + yy286: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0xBF) + goto yy283; + goto yy279; + yy287: + yych = *++p; + if (yych <= 0x9F) + goto yy279; + if (yych <= 0xBF) + goto yy286; + goto yy279; + yy288: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0xBF) + goto yy286; + goto yy279; + yy289: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0x9F) + goto yy286; + goto yy279; + yy290: + yych = *++p; + if (yych <= 0x8F) + goto yy279; + if (yych <= 0xBF) + goto yy288; + goto yy279; + yy291: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0xBF) + goto yy288; + goto yy279; + yy292: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0x8F) + goto yy288; + goto yy279; + yy293: + yych = *++p; + if (yych <= 0xE0) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy279; + if (yych <= '=') + goto yy283; + goto yy279; + } else { + if (yych <= 0x7F) + goto yy283; + if (yych <= 0xC1) + goto yy279; + if (yych <= 0xDF) + goto yy286; + goto yy287; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy289; + goto yy288; + } else { + if (yych <= 0xF0) + goto yy290; + if (yych <= 0xF3) + goto yy291; + if (yych <= 0xF4) + goto yy292; + goto yy279; + } + } + } } // Try to match an HTML block tag start line, returning // an integer code for the type of block (1-6, matching the spec). // #7 is handled by a separate function, below. -bufsize_t _scan_html_block_start(const unsigned char *p) -{ +bufsize_t _scan_html_block_start(const unsigned char *p) { const unsigned char *marker = NULL; -{ - unsigned char yych; - yych = *p; - if (yych == '<') goto yy356; - ++p; -yy355: - { return 0; } -yy356: - yych = *(marker = ++p); - switch (yych) { - case '!': goto yy357; - case '/': goto yy359; - case '?': goto yy360; - case 'A': - case 'a': goto yy362; - case 'B': - case 'b': goto yy363; - case 'C': - case 'c': goto yy364; - case 'D': - case 'd': goto yy365; - case 'F': - case 'f': goto yy366; - case 'H': - case 'h': goto yy367; - case 'I': - case 'i': goto yy368; - case 'L': - case 'l': goto yy369; - case 'M': - case 'm': goto yy370; - case 'N': - case 'n': goto yy371; - case 'O': - case 'o': goto yy372; - case 'P': - case 'p': goto yy373; - case 'S': - case 's': goto yy374; - case 'T': - case 't': goto yy375; - case 'U': - case 'u': goto yy376; - default: goto yy355; - } -yy357: - yych = *++p; - if (yych <= '@') { - if (yych == '-') goto yy377; - } else { - if (yych <= 'Z') goto yy378; - if (yych <= '[') goto yy380; - } -yy358: - p = marker; - goto yy355; -yy359: - yych = *++p; - switch (yych) { - case 'A': - case 'a': goto yy362; - case 'B': - case 'b': goto yy363; - case 'C': - case 'c': goto yy364; - case 'D': - case 'd': goto yy365; - case 'F': - case 'f': goto yy366; - case 'H': - case 'h': goto yy367; - case 'I': - case 'i': goto yy368; - case 'L': - case 'l': goto yy369; - case 'M': - case 'm': goto yy370; - case 'N': - case 'n': goto yy371; - case 'O': - case 'o': goto yy372; - case 'P': - case 'p': goto yy381; - case 'S': - case 's': goto yy382; - case 'T': - case 't': goto yy375; - case 'U': - case 'u': goto yy376; - default: goto yy358; - } -yy360: - ++p; - { return 3; } -yy362: - yych = *++p; - if (yych <= 'S') { - if (yych <= 'D') { - if (yych <= 'C') goto yy358; - goto yy383; - } else { - if (yych <= 'Q') goto yy358; - if (yych <= 'R') goto yy384; - goto yy385; - } - } else { - if (yych <= 'q') { - if (yych == 'd') goto yy383; - goto yy358; - } else { - if (yych <= 'r') goto yy384; - if (yych <= 's') goto yy385; - goto yy358; - } - } -yy363: - yych = *++p; - if (yych <= 'O') { - if (yych <= 'K') { - if (yych == 'A') goto yy386; - goto yy358; - } else { - if (yych <= 'L') goto yy387; - if (yych <= 'N') goto yy358; - goto yy388; - } - } else { - if (yych <= 'k') { - if (yych == 'a') goto yy386; - goto yy358; - } else { - if (yych <= 'l') goto yy387; - if (yych == 'o') goto yy388; - goto yy358; - } - } -yy364: - yych = *++p; - if (yych <= 'O') { - if (yych <= 'D') { - if (yych == 'A') goto yy389; - goto yy358; - } else { - if (yych <= 'E') goto yy390; - if (yych <= 'N') goto yy358; - goto yy391; - } - } else { - if (yych <= 'd') { - if (yych == 'a') goto yy389; - goto yy358; - } else { - if (yych <= 'e') goto yy390; - if (yych == 'o') goto yy391; - goto yy358; - } - } -yy365: - yych = *++p; - switch (yych) { - case 'D': - case 'L': - case 'T': - case 'd': - case 'l': - case 't': goto yy392; - case 'E': - case 'e': goto yy393; - case 'I': - case 'i': goto yy394; - default: goto yy358; - } -yy366: - yych = *++p; - if (yych <= 'R') { - if (yych <= 'N') { - if (yych == 'I') goto yy395; - goto yy358; - } else { - if (yych <= 'O') goto yy396; - if (yych <= 'Q') goto yy358; - goto yy397; - } - } else { - if (yych <= 'n') { - if (yych == 'i') goto yy395; - goto yy358; - } else { - if (yych <= 'o') goto yy396; - if (yych == 'r') goto yy397; - goto yy358; - } - } -yy367: - yych = *++p; - if (yych <= 'S') { - if (yych <= 'D') { - if (yych <= '0') goto yy358; - if (yych <= '6') goto yy392; - goto yy358; - } else { - if (yych <= 'E') goto yy398; - if (yych == 'R') goto yy392; - goto yy358; - } - } else { - if (yych <= 'q') { - if (yych <= 'T') goto yy399; - if (yych == 'e') goto yy398; - goto yy358; - } else { - if (yych <= 'r') goto yy392; - if (yych == 't') goto yy399; - goto yy358; - } - } -yy368: - yych = *++p; - if (yych == 'F') goto yy400; - if (yych == 'f') goto yy400; - goto yy358; -yy369: - yych = *++p; - if (yych <= 'I') { - if (yych == 'E') goto yy401; - if (yych <= 'H') goto yy358; - goto yy402; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy358; - goto yy401; - } else { - if (yych == 'i') goto yy402; - goto yy358; - } - } -yy370: - yych = *++p; - if (yych <= 'E') { - if (yych == 'A') goto yy403; - if (yych <= 'D') goto yy358; - goto yy404; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy358; - goto yy403; - } else { - if (yych == 'e') goto yy404; - goto yy358; - } - } -yy371: - yych = *++p; - if (yych <= 'O') { - if (yych == 'A') goto yy405; - if (yych <= 'N') goto yy358; - goto yy406; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy358; - goto yy405; - } else { - if (yych == 'o') goto yy406; - goto yy358; - } - } -yy372: - yych = *++p; - if (yych <= 'P') { - if (yych == 'L') goto yy392; - if (yych <= 'O') goto yy358; - goto yy407; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy358; - goto yy392; - } else { - if (yych == 'p') goto yy407; - goto yy358; - } - } -yy373: - yych = *++p; - if (yych <= '>') { - if (yych <= ' ') { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - if (yych <= 0x1F) goto yy358; - goto yy408; - } else { - if (yych == '/') goto yy410; - if (yych <= '=') goto yy358; - goto yy408; - } - } else { - if (yych <= 'R') { - if (yych == 'A') goto yy411; - if (yych <= 'Q') goto yy358; - goto yy412; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy358; - goto yy411; - } else { - if (yych == 'r') goto yy412; - goto yy358; - } - } - } -yy374: - yych = *++p; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'C') goto yy413; - goto yy358; - } else { - if (yych <= 'E') goto yy414; - if (yych <= 'S') goto yy358; - if (yych <= 'T') goto yy415; - goto yy416; - } - } else { - if (yych <= 'e') { - if (yych == 'c') goto yy413; - if (yych <= 'd') goto yy358; - goto yy414; - } else { - if (yych <= 's') goto yy358; - if (yych <= 't') goto yy415; - if (yych <= 'u') goto yy416; - goto yy358; - } - } -yy375: - yych = *++p; - switch (yych) { - case 'A': - case 'a': goto yy417; - case 'B': - case 'b': goto yy418; - case 'D': - case 'd': goto yy392; - case 'F': - case 'f': goto yy419; - case 'H': - case 'h': goto yy420; - case 'I': - case 'i': goto yy421; - case 'R': - case 'r': goto yy422; - default: goto yy358; - } -yy376: - yych = *++p; - if (yych == 'L') goto yy392; - if (yych == 'l') goto yy392; - goto yy358; -yy377: - yych = *++p; - if (yych == '-') goto yy423; - goto yy358; -yy378: - ++p; - { return 4; } -yy380: - yych = *++p; - if (yych == 'C') goto yy425; - if (yych == 'c') goto yy425; - goto yy358; -yy381: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= '@') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'A') goto yy411; - if (yych == 'a') goto yy411; - goto yy358; - } - } -yy382: - yych = *++p; - if (yych <= 'U') { - if (yych == 'E') goto yy414; - if (yych <= 'T') goto yy358; - goto yy416; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy358; - goto yy414; - } else { - if (yych == 'u') goto yy416; - goto yy358; - } - } -yy383: - yych = *++p; - if (yych == 'D') goto yy426; - if (yych == 'd') goto yy426; - goto yy358; -yy384: - yych = *++p; - if (yych == 'T') goto yy427; - if (yych == 't') goto yy427; - goto yy358; -yy385: - yych = *++p; - if (yych == 'I') goto yy428; - if (yych == 'i') goto yy428; - goto yy358; -yy386: - yych = *++p; - if (yych == 'S') goto yy429; - if (yych == 's') goto yy429; - goto yy358; -yy387: - yych = *++p; - if (yych == 'O') goto yy430; - if (yych == 'o') goto yy430; - goto yy358; -yy388: - yych = *++p; - if (yych == 'D') goto yy431; - if (yych == 'd') goto yy431; - goto yy358; -yy389: - yych = *++p; - if (yych == 'P') goto yy432; - if (yych == 'p') goto yy432; - goto yy358; -yy390: - yych = *++p; - if (yych == 'N') goto yy433; - if (yych == 'n') goto yy433; - goto yy358; -yy391: - yych = *++p; - if (yych == 'L') goto yy434; - if (yych == 'l') goto yy434; - goto yy358; -yy392: - yych = *++p; - if (yych <= ' ') { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - if (yych <= 0x1F) goto yy358; - goto yy408; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy358; - goto yy410; - } else { - if (yych == '>') goto yy408; - goto yy358; - } - } -yy393: - yych = *++p; - if (yych == 'T') goto yy435; - if (yych == 't') goto yy435; - goto yy358; -yy394: - yych = *++p; - if (yych <= 'V') { - if (yych <= 'Q') { - if (yych == 'A') goto yy436; - goto yy358; - } else { - if (yych <= 'R') goto yy392; - if (yych <= 'U') goto yy358; - goto yy392; - } - } else { - if (yych <= 'q') { - if (yych == 'a') goto yy436; - goto yy358; - } else { - if (yych <= 'r') goto yy392; - if (yych == 'v') goto yy392; - goto yy358; - } - } -yy395: - yych = *++p; - if (yych <= 'G') { - if (yych == 'E') goto yy437; - if (yych <= 'F') goto yy358; - goto yy438; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy358; - goto yy437; - } else { - if (yych == 'g') goto yy438; - goto yy358; - } - } -yy396: - yych = *++p; - if (yych <= 'R') { - if (yych == 'O') goto yy433; - if (yych <= 'Q') goto yy358; - goto yy439; - } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy358; - goto yy433; - } else { - if (yych == 'r') goto yy439; - goto yy358; - } - } -yy397: - yych = *++p; - if (yych == 'A') goto yy440; - if (yych == 'a') goto yy440; - goto yy358; -yy398: - yych = *++p; - if (yych == 'A') goto yy441; - if (yych == 'a') goto yy441; - goto yy358; -yy399: - yych = *++p; - if (yych == 'M') goto yy376; - if (yych == 'm') goto yy376; - goto yy358; -yy400: - yych = *++p; - if (yych == 'R') goto yy442; - if (yych == 'r') goto yy442; - goto yy358; -yy401: - yych = *++p; - if (yych == 'G') goto yy443; - if (yych == 'g') goto yy443; - goto yy358; -yy402: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'M') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'N') goto yy444; - if (yych == 'n') goto yy444; - goto yy358; - } - } -yy403: - yych = *++p; - if (yych == 'I') goto yy445; - if (yych == 'i') goto yy445; - goto yy358; -yy404: - yych = *++p; - if (yych == 'N') goto yy446; - if (yych == 'n') goto yy446; - goto yy358; -yy405: - yych = *++p; - if (yych == 'V') goto yy392; - if (yych == 'v') goto yy392; - goto yy358; -yy406: - yych = *++p; - if (yych == 'F') goto yy447; - if (yych == 'f') goto yy447; - goto yy358; -yy407: - yych = *++p; - if (yych == 'T') goto yy448; - if (yych == 't') goto yy448; - goto yy358; -yy408: - ++p; - { return 6; } -yy410: - yych = *++p; - if (yych == '>') goto yy408; - goto yy358; -yy411: - yych = *++p; - if (yych == 'R') goto yy449; - if (yych == 'r') goto yy449; - goto yy358; -yy412: - yych = *++p; - if (yych == 'E') goto yy450; - if (yych == 'e') goto yy450; - goto yy358; -yy413: - yych = *++p; - if (yych == 'R') goto yy451; - if (yych == 'r') goto yy451; - goto yy358; -yy414: - yych = *++p; - if (yych == 'C') goto yy432; - if (yych == 'c') goto yy432; - goto yy358; -yy415: - yych = *++p; - if (yych == 'Y') goto yy452; - if (yych == 'y') goto yy452; - goto yy358; -yy416: - yych = *++p; - if (yych == 'M') goto yy453; - if (yych == 'm') goto yy453; - goto yy358; -yy417: - yych = *++p; - if (yych == 'B') goto yy454; - if (yych == 'b') goto yy454; - goto yy358; -yy418: - yych = *++p; - if (yych == 'O') goto yy388; - if (yych == 'o') goto yy388; - goto yy358; -yy419: - yych = *++p; - if (yych == 'O') goto yy455; - if (yych == 'o') goto yy455; - goto yy358; -yy420: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'D') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'E') goto yy456; - if (yych == 'e') goto yy456; - goto yy358; - } - } -yy421: - yych = *++p; - if (yych == 'T') goto yy454; - if (yych == 't') goto yy454; - goto yy358; -yy422: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= '@') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'A') goto yy457; - if (yych == 'a') goto yy457; - goto yy358; - } - } -yy423: - ++p; - { return 2; } -yy425: - yych = *++p; - if (yych == 'D') goto yy458; - if (yych == 'd') goto yy458; - goto yy358; -yy426: - yych = *++p; - if (yych == 'R') goto yy459; - if (yych == 'r') goto yy459; - goto yy358; -yy427: - yych = *++p; - if (yych == 'I') goto yy460; - if (yych == 'i') goto yy460; - goto yy358; -yy428: - yych = *++p; - if (yych == 'D') goto yy461; - if (yych == 'd') goto yy461; - goto yy358; -yy429: - yych = *++p; - if (yych == 'E') goto yy462; - if (yych == 'e') goto yy462; - goto yy358; -yy430: - yych = *++p; - if (yych == 'C') goto yy463; - if (yych == 'c') goto yy463; - goto yy358; -yy431: - yych = *++p; - if (yych == 'Y') goto yy392; - if (yych == 'y') goto yy392; - goto yy358; -yy432: - yych = *++p; - if (yych == 'T') goto yy464; - if (yych == 't') goto yy464; - goto yy358; -yy433: - yych = *++p; - if (yych == 'T') goto yy465; - if (yych == 't') goto yy465; - goto yy358; -yy434: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'F') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'G') goto yy466; - if (yych == 'g') goto yy466; - goto yy358; - } - } -yy435: - yych = *++p; - if (yych == 'A') goto yy467; - if (yych == 'a') goto yy467; - goto yy358; -yy436: - yych = *++p; - if (yych == 'L') goto yy468; - if (yych == 'l') goto yy468; - goto yy358; -yy437: - yych = *++p; - if (yych == 'L') goto yy469; - if (yych == 'l') goto yy469; - goto yy358; -yy438: - yych = *++p; - if (yych <= 'U') { - if (yych == 'C') goto yy470; - if (yych <= 'T') goto yy358; - goto yy471; - } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy358; - goto yy470; - } else { - if (yych == 'u') goto yy471; - goto yy358; - } - } -yy439: - yych = *++p; - if (yych == 'M') goto yy392; - if (yych == 'm') goto yy392; - goto yy358; -yy440: - yych = *++p; - if (yych == 'M') goto yy472; - if (yych == 'm') goto yy472; - goto yy358; -yy441: - yych = *++p; - if (yych == 'D') goto yy473; - if (yych == 'd') goto yy473; - goto yy358; -yy442: - yych = *++p; - if (yych == 'A') goto yy474; - if (yych == 'a') goto yy474; - goto yy358; -yy443: - yych = *++p; - if (yych == 'E') goto yy475; - if (yych == 'e') goto yy475; - goto yy358; -yy444: - yych = *++p; - if (yych == 'K') goto yy392; - if (yych == 'k') goto yy392; - goto yy358; -yy445: - yych = *++p; - if (yych == 'N') goto yy392; - if (yych == 'n') goto yy392; - goto yy358; -yy446: - yych = *++p; - if (yych == 'U') goto yy476; - if (yych == 'u') goto yy476; - goto yy358; -yy447: - yych = *++p; - if (yych == 'R') goto yy477; - if (yych == 'r') goto yy477; - goto yy358; -yy448: - yych = *++p; - if (yych <= 'I') { - if (yych == 'G') goto yy466; - if (yych <= 'H') goto yy358; - goto yy478; - } else { - if (yych <= 'g') { - if (yych <= 'f') goto yy358; - goto yy466; - } else { - if (yych == 'i') goto yy478; - goto yy358; - } - } -yy449: - yych = *++p; - if (yych == 'A') goto yy439; - if (yych == 'a') goto yy439; - goto yy358; -yy450: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy479; - goto yy358; - } else { - if (yych <= ' ') goto yy479; - if (yych == '>') goto yy479; - goto yy358; - } -yy451: - yych = *++p; - if (yych == 'I') goto yy481; - if (yych == 'i') goto yy481; - goto yy358; -yy452: - yych = *++p; - if (yych == 'L') goto yy412; - if (yych == 'l') goto yy412; - goto yy358; -yy453: - yych = *++p; - if (yych == 'M') goto yy482; - if (yych == 'm') goto yy482; - goto yy358; -yy454: - yych = *++p; - if (yych == 'L') goto yy461; - if (yych == 'l') goto yy461; - goto yy358; -yy455: - yych = *++p; - if (yych == 'O') goto yy483; - if (yych == 'o') goto yy483; - goto yy358; -yy456: - yych = *++p; - if (yych == 'A') goto yy484; - if (yych == 'a') goto yy484; - goto yy358; -yy457: - yych = *++p; - if (yych == 'C') goto yy444; - if (yych == 'c') goto yy444; - goto yy358; -yy458: - yych = *++p; - if (yych == 'A') goto yy485; - if (yych == 'a') goto yy485; - goto yy358; -yy459: - yych = *++p; - if (yych == 'E') goto yy486; - if (yych == 'e') goto yy486; - goto yy358; -yy460: - yych = *++p; - if (yych == 'C') goto yy454; - if (yych == 'c') goto yy454; - goto yy358; -yy461: - yych = *++p; - if (yych == 'E') goto yy392; - if (yych == 'e') goto yy392; - goto yy358; -yy462: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'E') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'F') goto yy487; - if (yych == 'f') goto yy487; - goto yy358; - } - } -yy463: - yych = *++p; - if (yych == 'K') goto yy488; - if (yych == 'k') goto yy488; - goto yy358; -yy464: - yych = *++p; - if (yych == 'I') goto yy478; - if (yych == 'i') goto yy478; - goto yy358; -yy465: - yych = *++p; - if (yych == 'E') goto yy489; - if (yych == 'e') goto yy489; - goto yy358; -yy466: - yych = *++p; - if (yych == 'R') goto yy490; - if (yych == 'r') goto yy490; - goto yy358; -yy467: - yych = *++p; - if (yych == 'I') goto yy491; - if (yych == 'i') goto yy491; - goto yy358; -yy468: - yych = *++p; - if (yych == 'O') goto yy492; - if (yych == 'o') goto yy492; - goto yy358; -yy469: - yych = *++p; - if (yych == 'D') goto yy493; - if (yych == 'd') goto yy493; - goto yy358; -yy470: - yych = *++p; - if (yych == 'A') goto yy389; - if (yych == 'a') goto yy389; - goto yy358; -yy471: - yych = *++p; - if (yych == 'R') goto yy461; - if (yych == 'r') goto yy461; - goto yy358; -yy472: - yych = *++p; - if (yych == 'E') goto yy494; - if (yych == 'e') goto yy494; - goto yy358; -yy473: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'D') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'E') goto yy489; - if (yych == 'e') goto yy489; - goto yy358; - } - } -yy474: - yych = *++p; - if (yych == 'M') goto yy461; - if (yych == 'm') goto yy461; - goto yy358; -yy475: - yych = *++p; - if (yych == 'N') goto yy484; - if (yych == 'n') goto yy484; - goto yy358; -yy476: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'H') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'I') goto yy495; - if (yych == 'i') goto yy495; - goto yy358; - } - } -yy477: - yych = *++p; - if (yych == 'A') goto yy496; - if (yych == 'a') goto yy496; - goto yy358; -yy478: - yych = *++p; - if (yych == 'O') goto yy445; - if (yych == 'o') goto yy445; - goto yy358; -yy479: - ++p; - { return 1; } -yy481: - yych = *++p; - if (yych == 'P') goto yy497; - if (yych == 'p') goto yy497; - goto yy358; -yy482: - yych = *++p; - if (yych == 'A') goto yy498; - if (yych == 'a') goto yy498; - goto yy358; -yy483: - yych = *++p; - if (yych == 'T') goto yy392; - if (yych == 't') goto yy392; - goto yy358; -yy484: - yych = *++p; - if (yych == 'D') goto yy392; - if (yych == 'd') goto yy392; - goto yy358; -yy485: - yych = *++p; - if (yych == 'T') goto yy499; - if (yych == 't') goto yy499; - goto yy358; -yy486: - yych = *++p; - if (yych == 'S') goto yy500; - if (yych == 's') goto yy500; - goto yy358; -yy487: - yych = *++p; - if (yych == 'O') goto yy501; - if (yych == 'o') goto yy501; - goto yy358; -yy488: - yych = *++p; - if (yych == 'Q') goto yy502; - if (yych == 'q') goto yy502; - goto yy358; -yy489: - yych = *++p; - if (yych == 'R') goto yy392; - if (yych == 'r') goto yy392; - goto yy358; -yy490: - yych = *++p; - if (yych == 'O') goto yy503; - if (yych == 'o') goto yy503; - goto yy358; -yy491: - yych = *++p; - if (yych == 'L') goto yy500; - if (yych == 'l') goto yy500; - goto yy358; -yy492: - yych = *++p; - if (yych == 'G') goto yy392; - if (yych == 'g') goto yy392; - goto yy358; -yy493: - yych = *++p; - if (yych == 'S') goto yy504; - if (yych == 's') goto yy504; - goto yy358; -yy494: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'R') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'S') goto yy504; - if (yych == 's') goto yy504; - goto yy358; - } - } -yy495: - yych = *++p; - if (yych == 'T') goto yy505; - if (yych == 't') goto yy505; - goto yy358; -yy496: - yych = *++p; - if (yych == 'M') goto yy506; - if (yych == 'm') goto yy506; - goto yy358; -yy497: - yych = *++p; - if (yych == 'T') goto yy450; - if (yych == 't') goto yy450; - goto yy358; -yy498: - yych = *++p; - if (yych == 'R') goto yy431; - if (yych == 'r') goto yy431; - goto yy358; -yy499: - yych = *++p; - if (yych == 'A') goto yy507; - if (yych == 'a') goto yy507; - goto yy358; -yy500: - yych = *++p; - if (yych == 'S') goto yy392; - if (yych == 's') goto yy392; - goto yy358; -yy501: - yych = *++p; - if (yych == 'N') goto yy483; - if (yych == 'n') goto yy483; - goto yy358; -yy502: - yych = *++p; - if (yych == 'U') goto yy508; - if (yych == 'u') goto yy508; - goto yy358; -yy503: - yych = *++p; - if (yych == 'U') goto yy509; - if (yych == 'u') goto yy509; - goto yy358; -yy504: - yych = *++p; - if (yych == 'E') goto yy483; - if (yych == 'e') goto yy483; - goto yy358; -yy505: - yych = *++p; - if (yych == 'E') goto yy439; - if (yych == 'e') goto yy439; - goto yy358; -yy506: - yych = *++p; - if (yych == 'E') goto yy500; - if (yych == 'e') goto yy500; - goto yy358; -yy507: - yych = *++p; - if (yych == '[') goto yy510; - goto yy358; -yy508: - yych = *++p; - if (yych == 'O') goto yy512; - if (yych == 'o') goto yy512; - goto yy358; -yy509: - yych = *++p; - if (yych == 'P') goto yy392; - if (yych == 'p') goto yy392; - goto yy358; -yy510: - ++p; - { return 5; } -yy512: - yych = *++p; - if (yych == 'T') goto yy461; - if (yych == 't') goto yy461; - goto yy358; -} - + { + unsigned char yych; + yych = *p; + if (yych == '<') + goto yy296; + ++p; + yy295 : { return 0; } + yy296: + yych = *(marker = ++p); + switch (yych) { + case '!': + goto yy297; + case '/': + goto yy299; + case '?': + goto yy300; + case 'A': + case 'a': + goto yy301; + case 'B': + case 'b': + goto yy302; + case 'C': + case 'c': + goto yy303; + case 'D': + case 'd': + goto yy304; + case 'F': + case 'f': + goto yy305; + case 'H': + case 'h': + goto yy306; + case 'I': + case 'i': + goto yy307; + case 'L': + case 'l': + goto yy308; + case 'M': + case 'm': + goto yy309; + case 'N': + case 'n': + goto yy310; + case 'O': + case 'o': + goto yy311; + case 'P': + case 'p': + goto yy312; + case 'S': + case 's': + goto yy313; + case 'T': + case 't': + goto yy314; + case 'U': + case 'u': + goto yy315; + default: + goto yy295; + } + yy297: + yych = *++p; + if (yych <= '@') { + if (yych == '-') + goto yy316; + } else { + if (yych <= 'Z') + goto yy317; + if (yych <= '[') + goto yy318; + } + yy298: + p = marker; + goto yy295; + yy299: + yych = *++p; + switch (yych) { + case 'A': + case 'a': + goto yy301; + case 'B': + case 'b': + goto yy302; + case 'C': + case 'c': + goto yy303; + case 'D': + case 'd': + goto yy304; + case 'F': + case 'f': + goto yy305; + case 'H': + case 'h': + goto yy306; + case 'I': + case 'i': + goto yy307; + case 'L': + case 'l': + goto yy308; + case 'M': + case 'm': + goto yy309; + case 'N': + case 'n': + goto yy310; + case 'O': + case 'o': + goto yy311; + case 'P': + case 'p': + goto yy319; + case 'S': + case 's': + goto yy320; + case 'T': + case 't': + goto yy321; + case 'U': + case 'u': + goto yy315; + default: + goto yy298; + } + yy300: + ++p; + { return 3; } + yy301: + yych = *++p; + if (yych <= 'S') { + if (yych <= 'D') { + if (yych <= 'C') + goto yy298; + goto yy322; + } else { + if (yych <= 'Q') + goto yy298; + if (yych <= 'R') + goto yy323; + goto yy324; + } + } else { + if (yych <= 'q') { + if (yych == 'd') + goto yy322; + goto yy298; + } else { + if (yych <= 'r') + goto yy323; + if (yych <= 's') + goto yy324; + goto yy298; + } + } + yy302: + yych = *++p; + if (yych <= 'O') { + if (yych <= 'K') { + if (yych == 'A') + goto yy325; + goto yy298; + } else { + if (yych <= 'L') + goto yy326; + if (yych <= 'N') + goto yy298; + goto yy327; + } + } else { + if (yych <= 'k') { + if (yych == 'a') + goto yy325; + goto yy298; + } else { + if (yych <= 'l') + goto yy326; + if (yych == 'o') + goto yy327; + goto yy298; + } + } + yy303: + yych = *++p; + if (yych <= 'O') { + if (yych <= 'D') { + if (yych == 'A') + goto yy328; + goto yy298; + } else { + if (yych <= 'E') + goto yy329; + if (yych <= 'N') + goto yy298; + goto yy330; + } + } else { + if (yych <= 'd') { + if (yych == 'a') + goto yy328; + goto yy298; + } else { + if (yych <= 'e') + goto yy329; + if (yych == 'o') + goto yy330; + goto yy298; + } + } + yy304: + yych = *++p; + switch (yych) { + case 'D': + case 'L': + case 'T': + case 'd': + case 'l': + case 't': + goto yy331; + case 'E': + case 'e': + goto yy332; + case 'I': + case 'i': + goto yy333; + default: + goto yy298; + } + yy305: + yych = *++p; + if (yych <= 'R') { + if (yych <= 'N') { + if (yych == 'I') + goto yy334; + goto yy298; + } else { + if (yych <= 'O') + goto yy335; + if (yych <= 'Q') + goto yy298; + goto yy336; + } + } else { + if (yych <= 'n') { + if (yych == 'i') + goto yy334; + goto yy298; + } else { + if (yych <= 'o') + goto yy335; + if (yych == 'r') + goto yy336; + goto yy298; + } + } + yy306: + yych = *++p; + if (yych <= 'S') { + if (yych <= 'D') { + if (yych <= '0') + goto yy298; + if (yych <= '6') + goto yy331; + goto yy298; + } else { + if (yych <= 'E') + goto yy337; + if (yych == 'R') + goto yy331; + goto yy298; + } + } else { + if (yych <= 'q') { + if (yych <= 'T') + goto yy338; + if (yych == 'e') + goto yy337; + goto yy298; + } else { + if (yych <= 'r') + goto yy331; + if (yych == 't') + goto yy338; + goto yy298; + } + } + yy307: + yych = *++p; + if (yych == 'F') + goto yy339; + if (yych == 'f') + goto yy339; + goto yy298; + yy308: + yych = *++p; + if (yych <= 'I') { + if (yych == 'E') + goto yy340; + if (yych <= 'H') + goto yy298; + goto yy341; + } else { + if (yych <= 'e') { + if (yych <= 'd') + goto yy298; + goto yy340; + } else { + if (yych == 'i') + goto yy341; + goto yy298; + } + } + yy309: + yych = *++p; + if (yych <= 'E') { + if (yych == 'A') + goto yy342; + if (yych <= 'D') + goto yy298; + goto yy343; + } else { + if (yych <= 'a') { + if (yych <= '`') + goto yy298; + goto yy342; + } else { + if (yych == 'e') + goto yy343; + goto yy298; + } + } + yy310: + yych = *++p; + if (yych <= 'O') { + if (yych == 'A') + goto yy344; + if (yych <= 'N') + goto yy298; + goto yy345; + } else { + if (yych <= 'a') { + if (yych <= '`') + goto yy298; + goto yy344; + } else { + if (yych == 'o') + goto yy345; + goto yy298; + } + } + yy311: + yych = *++p; + if (yych <= 'P') { + if (yych == 'L') + goto yy331; + if (yych <= 'O') + goto yy298; + goto yy346; + } else { + if (yych <= 'l') { + if (yych <= 'k') + goto yy298; + goto yy331; + } else { + if (yych == 'p') + goto yy346; + goto yy298; + } + } + yy312: + yych = *++p; + if (yych <= '>') { + if (yych <= ' ') { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + if (yych <= 0x1F) + goto yy298; + goto yy347; + } else { + if (yych == '/') + goto yy348; + if (yych <= '=') + goto yy298; + goto yy347; + } + } else { + if (yych <= 'R') { + if (yych == 'A') + goto yy349; + if (yych <= 'Q') + goto yy298; + goto yy350; + } else { + if (yych <= 'a') { + if (yych <= '`') + goto yy298; + goto yy349; + } else { + if (yych == 'r') + goto yy350; + goto yy298; + } + } + } + yy313: + yych = *++p; + switch (yych) { + case 'C': + case 'c': + goto yy351; + case 'E': + case 'e': + goto yy352; + case 'O': + case 'o': + goto yy353; + case 'T': + case 't': + goto yy354; + case 'U': + case 'u': + goto yy355; + default: + goto yy298; + } + yy314: + yych = *++p; + switch (yych) { + case 'A': + case 'a': + goto yy356; + case 'B': + case 'b': + goto yy357; + case 'D': + case 'd': + goto yy331; + case 'E': + case 'e': + goto yy358; + case 'F': + case 'f': + goto yy359; + case 'H': + case 'h': + goto yy360; + case 'I': + case 'i': + goto yy361; + case 'R': + case 'r': + goto yy362; + default: + goto yy298; + } + yy315: + yych = *++p; + if (yych == 'L') + goto yy331; + if (yych == 'l') + goto yy331; + goto yy298; + yy316: + yych = *++p; + if (yych == '-') + goto yy363; + goto yy298; + yy317: + ++p; + { return 4; } + yy318: + yych = *++p; + if (yych == 'C') + goto yy364; + if (yych == 'c') + goto yy364; + goto yy298; + yy319: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= '@') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'A') + goto yy349; + if (yych == 'a') + goto yy349; + goto yy298; + } + } + yy320: + yych = *++p; + if (yych <= 'U') { + if (yych <= 'N') { + if (yych == 'E') + goto yy352; + goto yy298; + } else { + if (yych <= 'O') + goto yy353; + if (yych <= 'T') + goto yy298; + goto yy355; + } + } else { + if (yych <= 'n') { + if (yych == 'e') + goto yy352; + goto yy298; + } else { + if (yych <= 'o') + goto yy353; + if (yych == 'u') + goto yy355; + goto yy298; + } + } + yy321: + yych = *++p; + switch (yych) { + case 'A': + case 'a': + goto yy356; + case 'B': + case 'b': + goto yy357; + case 'D': + case 'd': + goto yy331; + case 'F': + case 'f': + goto yy359; + case 'H': + case 'h': + goto yy360; + case 'I': + case 'i': + goto yy361; + case 'R': + case 'r': + goto yy362; + default: + goto yy298; + } + yy322: + yych = *++p; + if (yych == 'D') + goto yy365; + if (yych == 'd') + goto yy365; + goto yy298; + yy323: + yych = *++p; + if (yych == 'T') + goto yy366; + if (yych == 't') + goto yy366; + goto yy298; + yy324: + yych = *++p; + if (yych == 'I') + goto yy367; + if (yych == 'i') + goto yy367; + goto yy298; + yy325: + yych = *++p; + if (yych == 'S') + goto yy368; + if (yych == 's') + goto yy368; + goto yy298; + yy326: + yych = *++p; + if (yych == 'O') + goto yy369; + if (yych == 'o') + goto yy369; + goto yy298; + yy327: + yych = *++p; + if (yych == 'D') + goto yy370; + if (yych == 'd') + goto yy370; + goto yy298; + yy328: + yych = *++p; + if (yych == 'P') + goto yy371; + if (yych == 'p') + goto yy371; + goto yy298; + yy329: + yych = *++p; + if (yych == 'N') + goto yy372; + if (yych == 'n') + goto yy372; + goto yy298; + yy330: + yych = *++p; + if (yych == 'L') + goto yy373; + if (yych == 'l') + goto yy373; + goto yy298; + yy331: + yych = *++p; + if (yych <= ' ') { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + if (yych <= 0x1F) + goto yy298; + goto yy347; + } else { + if (yych <= '/') { + if (yych <= '.') + goto yy298; + goto yy348; + } else { + if (yych == '>') + goto yy347; + goto yy298; + } + } + yy332: + yych = *++p; + if (yych == 'T') + goto yy374; + if (yych == 't') + goto yy374; + goto yy298; + yy333: + yych = *++p; + if (yych <= 'V') { + if (yych <= 'Q') { + if (yych == 'A') + goto yy375; + goto yy298; + } else { + if (yych <= 'R') + goto yy331; + if (yych <= 'U') + goto yy298; + goto yy331; + } + } else { + if (yych <= 'q') { + if (yych == 'a') + goto yy375; + goto yy298; + } else { + if (yych <= 'r') + goto yy331; + if (yych == 'v') + goto yy331; + goto yy298; + } + } + yy334: + yych = *++p; + if (yych <= 'G') { + if (yych == 'E') + goto yy376; + if (yych <= 'F') + goto yy298; + goto yy377; + } else { + if (yych <= 'e') { + if (yych <= 'd') + goto yy298; + goto yy376; + } else { + if (yych == 'g') + goto yy377; + goto yy298; + } + } + yy335: + yych = *++p; + if (yych <= 'R') { + if (yych == 'O') + goto yy372; + if (yych <= 'Q') + goto yy298; + goto yy378; + } else { + if (yych <= 'o') { + if (yych <= 'n') + goto yy298; + goto yy372; + } else { + if (yych == 'r') + goto yy378; + goto yy298; + } + } + yy336: + yych = *++p; + if (yych == 'A') + goto yy379; + if (yych == 'a') + goto yy379; + goto yy298; + yy337: + yych = *++p; + if (yych == 'A') + goto yy380; + if (yych == 'a') + goto yy380; + goto yy298; + yy338: + yych = *++p; + if (yych == 'M') + goto yy315; + if (yych == 'm') + goto yy315; + goto yy298; + yy339: + yych = *++p; + if (yych == 'R') + goto yy381; + if (yych == 'r') + goto yy381; + goto yy298; + yy340: + yych = *++p; + if (yych == 'G') + goto yy382; + if (yych == 'g') + goto yy382; + goto yy298; + yy341: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'M') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'N') + goto yy383; + if (yych == 'n') + goto yy383; + goto yy298; + } + } + yy342: + yych = *++p; + if (yych == 'I') + goto yy384; + if (yych == 'i') + goto yy384; + goto yy298; + yy343: + yych = *++p; + if (yych == 'N') + goto yy385; + if (yych == 'n') + goto yy385; + goto yy298; + yy344: + yych = *++p; + if (yych == 'V') + goto yy331; + if (yych == 'v') + goto yy331; + goto yy298; + yy345: + yych = *++p; + if (yych == 'F') + goto yy386; + if (yych == 'f') + goto yy386; + goto yy298; + yy346: + yych = *++p; + if (yych == 'T') + goto yy387; + if (yych == 't') + goto yy387; + goto yy298; + yy347: + ++p; + { return 6; } + yy348: + yych = *++p; + if (yych == '>') + goto yy347; + goto yy298; + yy349: + yych = *++p; + if (yych == 'R') + goto yy388; + if (yych == 'r') + goto yy388; + goto yy298; + yy350: + yych = *++p; + if (yych == 'E') + goto yy389; + if (yych == 'e') + goto yy389; + goto yy298; + yy351: + yych = *++p; + if (yych == 'R') + goto yy390; + if (yych == 'r') + goto yy390; + goto yy298; + yy352: + yych = *++p; + if (yych == 'C') + goto yy371; + if (yych == 'c') + goto yy371; + goto yy298; + yy353: + yych = *++p; + if (yych == 'U') + goto yy391; + if (yych == 'u') + goto yy391; + goto yy298; + yy354: + yych = *++p; + if (yych == 'Y') + goto yy392; + if (yych == 'y') + goto yy392; + goto yy298; + yy355: + yych = *++p; + if (yych == 'M') + goto yy393; + if (yych == 'm') + goto yy393; + goto yy298; + yy356: + yych = *++p; + if (yych == 'B') + goto yy394; + if (yych == 'b') + goto yy394; + goto yy298; + yy357: + yych = *++p; + if (yych == 'O') + goto yy327; + if (yych == 'o') + goto yy327; + goto yy298; + yy358: + yych = *++p; + if (yych == 'X') + goto yy395; + if (yych == 'x') + goto yy395; + goto yy298; + yy359: + yych = *++p; + if (yych == 'O') + goto yy396; + if (yych == 'o') + goto yy396; + goto yy298; + yy360: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'D') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'E') + goto yy397; + if (yych == 'e') + goto yy397; + goto yy298; + } + } + yy361: + yych = *++p; + if (yych == 'T') + goto yy394; + if (yych == 't') + goto yy394; + goto yy298; + yy362: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= '@') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'A') + goto yy398; + if (yych == 'a') + goto yy398; + goto yy298; + } + } + yy363: + ++p; + { return 2; } + yy364: + yych = *++p; + if (yych == 'D') + goto yy399; + if (yych == 'd') + goto yy399; + goto yy298; + yy365: + yych = *++p; + if (yych == 'R') + goto yy400; + if (yych == 'r') + goto yy400; + goto yy298; + yy366: + yych = *++p; + if (yych == 'I') + goto yy401; + if (yych == 'i') + goto yy401; + goto yy298; + yy367: + yych = *++p; + if (yych == 'D') + goto yy402; + if (yych == 'd') + goto yy402; + goto yy298; + yy368: + yych = *++p; + if (yych == 'E') + goto yy403; + if (yych == 'e') + goto yy403; + goto yy298; + yy369: + yych = *++p; + if (yych == 'C') + goto yy404; + if (yych == 'c') + goto yy404; + goto yy298; + yy370: + yych = *++p; + if (yych == 'Y') + goto yy331; + if (yych == 'y') + goto yy331; + goto yy298; + yy371: + yych = *++p; + if (yych == 'T') + goto yy405; + if (yych == 't') + goto yy405; + goto yy298; + yy372: + yych = *++p; + if (yych == 'T') + goto yy406; + if (yych == 't') + goto yy406; + goto yy298; + yy373: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'F') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'G') + goto yy407; + if (yych == 'g') + goto yy407; + goto yy298; + } + } + yy374: + yych = *++p; + if (yych == 'A') + goto yy408; + if (yych == 'a') + goto yy408; + goto yy298; + yy375: + yych = *++p; + if (yych == 'L') + goto yy409; + if (yych == 'l') + goto yy409; + goto yy298; + yy376: + yych = *++p; + if (yych == 'L') + goto yy410; + if (yych == 'l') + goto yy410; + goto yy298; + yy377: + yych = *++p; + if (yych <= 'U') { + if (yych == 'C') + goto yy411; + if (yych <= 'T') + goto yy298; + goto yy412; + } else { + if (yych <= 'c') { + if (yych <= 'b') + goto yy298; + goto yy411; + } else { + if (yych == 'u') + goto yy412; + goto yy298; + } + } + yy378: + yych = *++p; + if (yych == 'M') + goto yy331; + if (yych == 'm') + goto yy331; + goto yy298; + yy379: + yych = *++p; + if (yych == 'M') + goto yy413; + if (yych == 'm') + goto yy413; + goto yy298; + yy380: + yych = *++p; + if (yych == 'D') + goto yy414; + if (yych == 'd') + goto yy414; + goto yy298; + yy381: + yych = *++p; + if (yych == 'A') + goto yy415; + if (yych == 'a') + goto yy415; + goto yy298; + yy382: + yych = *++p; + if (yych == 'E') + goto yy416; + if (yych == 'e') + goto yy416; + goto yy298; + yy383: + yych = *++p; + if (yych == 'K') + goto yy331; + if (yych == 'k') + goto yy331; + goto yy298; + yy384: + yych = *++p; + if (yych == 'N') + goto yy331; + if (yych == 'n') + goto yy331; + goto yy298; + yy385: + yych = *++p; + if (yych == 'U') + goto yy417; + if (yych == 'u') + goto yy417; + goto yy298; + yy386: + yych = *++p; + if (yych == 'R') + goto yy418; + if (yych == 'r') + goto yy418; + goto yy298; + yy387: + yych = *++p; + if (yych <= 'I') { + if (yych == 'G') + goto yy407; + if (yych <= 'H') + goto yy298; + goto yy419; + } else { + if (yych <= 'g') { + if (yych <= 'f') + goto yy298; + goto yy407; + } else { + if (yych == 'i') + goto yy419; + goto yy298; + } + } + yy388: + yych = *++p; + if (yych == 'A') + goto yy378; + if (yych == 'a') + goto yy378; + goto yy298; + yy389: + yych = *++p; + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy420; + goto yy298; + } else { + if (yych <= ' ') + goto yy420; + if (yych == '>') + goto yy420; + goto yy298; + } + yy390: + yych = *++p; + if (yych == 'I') + goto yy421; + if (yych == 'i') + goto yy421; + goto yy298; + yy391: + yych = *++p; + if (yych == 'R') + goto yy422; + if (yych == 'r') + goto yy422; + goto yy298; + yy392: + yych = *++p; + if (yych == 'L') + goto yy350; + if (yych == 'l') + goto yy350; + goto yy298; + yy393: + yych = *++p; + if (yych == 'M') + goto yy423; + if (yych == 'm') + goto yy423; + goto yy298; + yy394: + yych = *++p; + if (yych == 'L') + goto yy402; + if (yych == 'l') + goto yy402; + goto yy298; + yy395: + yych = *++p; + if (yych == 'T') + goto yy424; + if (yych == 't') + goto yy424; + goto yy298; + yy396: + yych = *++p; + if (yych == 'O') + goto yy425; + if (yych == 'o') + goto yy425; + goto yy298; + yy397: + yych = *++p; + if (yych == 'A') + goto yy426; + if (yych == 'a') + goto yy426; + goto yy298; + yy398: + yych = *++p; + if (yych == 'C') + goto yy383; + if (yych == 'c') + goto yy383; + goto yy298; + yy399: + yych = *++p; + if (yych == 'A') + goto yy427; + if (yych == 'a') + goto yy427; + goto yy298; + yy400: + yych = *++p; + if (yych == 'E') + goto yy428; + if (yych == 'e') + goto yy428; + goto yy298; + yy401: + yych = *++p; + if (yych == 'C') + goto yy394; + if (yych == 'c') + goto yy394; + goto yy298; + yy402: + yych = *++p; + if (yych == 'E') + goto yy331; + if (yych == 'e') + goto yy331; + goto yy298; + yy403: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'E') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'F') + goto yy429; + if (yych == 'f') + goto yy429; + goto yy298; + } + } + yy404: + yych = *++p; + if (yych == 'K') + goto yy430; + if (yych == 'k') + goto yy430; + goto yy298; + yy405: + yych = *++p; + if (yych == 'I') + goto yy419; + if (yych == 'i') + goto yy419; + goto yy298; + yy406: + yych = *++p; + if (yych == 'E') + goto yy431; + if (yych == 'e') + goto yy431; + goto yy298; + yy407: + yych = *++p; + if (yych == 'R') + goto yy432; + if (yych == 'r') + goto yy432; + goto yy298; + yy408: + yych = *++p; + if (yych == 'I') + goto yy433; + if (yych == 'i') + goto yy433; + goto yy298; + yy409: + yych = *++p; + if (yych == 'O') + goto yy434; + if (yych == 'o') + goto yy434; + goto yy298; + yy410: + yych = *++p; + if (yych == 'D') + goto yy435; + if (yych == 'd') + goto yy435; + goto yy298; + yy411: + yych = *++p; + if (yych == 'A') + goto yy328; + if (yych == 'a') + goto yy328; + goto yy298; + yy412: + yych = *++p; + if (yych == 'R') + goto yy402; + if (yych == 'r') + goto yy402; + goto yy298; + yy413: + yych = *++p; + if (yych == 'E') + goto yy436; + if (yych == 'e') + goto yy436; + goto yy298; + yy414: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'D') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'E') + goto yy431; + if (yych == 'e') + goto yy431; + goto yy298; + } + } + yy415: + yych = *++p; + if (yych == 'M') + goto yy402; + if (yych == 'm') + goto yy402; + goto yy298; + yy416: + yych = *++p; + if (yych == 'N') + goto yy426; + if (yych == 'n') + goto yy426; + goto yy298; + yy417: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'H') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'I') + goto yy437; + if (yych == 'i') + goto yy437; + goto yy298; + } + } + yy418: + yych = *++p; + if (yych == 'A') + goto yy438; + if (yych == 'a') + goto yy438; + goto yy298; + yy419: + yych = *++p; + if (yych == 'O') + goto yy384; + if (yych == 'o') + goto yy384; + goto yy298; + yy420: + ++p; + { return 1; } + yy421: + yych = *++p; + if (yych == 'P') + goto yy439; + if (yych == 'p') + goto yy439; + goto yy298; + yy422: + yych = *++p; + if (yych == 'C') + goto yy402; + if (yych == 'c') + goto yy402; + goto yy298; + yy423: + yych = *++p; + if (yych == 'A') + goto yy440; + if (yych == 'a') + goto yy440; + goto yy298; + yy424: + yych = *++p; + if (yych == 'A') + goto yy441; + if (yych == 'a') + goto yy441; + goto yy298; + yy425: + yych = *++p; + if (yych == 'T') + goto yy331; + if (yych == 't') + goto yy331; + goto yy298; + yy426: + yych = *++p; + if (yych == 'D') + goto yy331; + if (yych == 'd') + goto yy331; + goto yy298; + yy427: + yych = *++p; + if (yych == 'T') + goto yy442; + if (yych == 't') + goto yy442; + goto yy298; + yy428: + yych = *++p; + if (yych == 'S') + goto yy443; + if (yych == 's') + goto yy443; + goto yy298; + yy429: + yych = *++p; + if (yych == 'O') + goto yy444; + if (yych == 'o') + goto yy444; + goto yy298; + yy430: + yych = *++p; + if (yych == 'Q') + goto yy445; + if (yych == 'q') + goto yy445; + goto yy298; + yy431: + yych = *++p; + if (yych == 'R') + goto yy331; + if (yych == 'r') + goto yy331; + goto yy298; + yy432: + yych = *++p; + if (yych == 'O') + goto yy446; + if (yych == 'o') + goto yy446; + goto yy298; + yy433: + yych = *++p; + if (yych == 'L') + goto yy443; + if (yych == 'l') + goto yy443; + goto yy298; + yy434: + yych = *++p; + if (yych == 'G') + goto yy331; + if (yych == 'g') + goto yy331; + goto yy298; + yy435: + yych = *++p; + if (yych == 'S') + goto yy447; + if (yych == 's') + goto yy447; + goto yy298; + yy436: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'R') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'S') + goto yy447; + if (yych == 's') + goto yy447; + goto yy298; + } + } + yy437: + yych = *++p; + if (yych == 'T') + goto yy448; + if (yych == 't') + goto yy448; + goto yy298; + yy438: + yych = *++p; + if (yych == 'M') + goto yy449; + if (yych == 'm') + goto yy449; + goto yy298; + yy439: + yych = *++p; + if (yych == 'T') + goto yy389; + if (yych == 't') + goto yy389; + goto yy298; + yy440: + yych = *++p; + if (yych == 'R') + goto yy370; + if (yych == 'r') + goto yy370; + goto yy298; + yy441: + yych = *++p; + if (yych == 'R') + goto yy450; + if (yych == 'r') + goto yy450; + goto yy298; + yy442: + yych = *++p; + if (yych == 'A') + goto yy451; + if (yych == 'a') + goto yy451; + goto yy298; + yy443: + yych = *++p; + if (yych == 'S') + goto yy331; + if (yych == 's') + goto yy331; + goto yy298; + yy444: + yych = *++p; + if (yych == 'N') + goto yy425; + if (yych == 'n') + goto yy425; + goto yy298; + yy445: + yych = *++p; + if (yych == 'U') + goto yy452; + if (yych == 'u') + goto yy452; + goto yy298; + yy446: + yych = *++p; + if (yych == 'U') + goto yy453; + if (yych == 'u') + goto yy453; + goto yy298; + yy447: + yych = *++p; + if (yych == 'E') + goto yy425; + if (yych == 'e') + goto yy425; + goto yy298; + yy448: + yych = *++p; + if (yych == 'E') + goto yy378; + if (yych == 'e') + goto yy378; + goto yy298; + yy449: + yych = *++p; + if (yych == 'E') + goto yy443; + if (yych == 'e') + goto yy443; + goto yy298; + yy450: + yych = *++p; + if (yych == 'E') + goto yy454; + if (yych == 'e') + goto yy454; + goto yy298; + yy451: + yych = *++p; + if (yych == '[') + goto yy455; + goto yy298; + yy452: + yych = *++p; + if (yych == 'O') + goto yy456; + if (yych == 'o') + goto yy456; + goto yy298; + yy453: + yych = *++p; + if (yych == 'P') + goto yy331; + if (yych == 'p') + goto yy331; + goto yy298; + yy454: + yych = *++p; + if (yych == 'A') + goto yy389; + if (yych == 'a') + goto yy389; + goto yy298; + yy455: + ++p; + { return 5; } + yy456: + yych = *++p; + if (yych == 'T') + goto yy402; + if (yych == 't') + goto yy402; + goto yy298; + } } // Try to match an HTML block tag start line of type 7, returning // 7 if successful, 0 if not. -bufsize_t _scan_html_block_start_7(const unsigned char *p) -{ +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 yy517; - ++p; -yy516: - { return 0; } -yy517: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '@') { - if (yych != '/') goto yy516; - } else { - if (yych <= 'Z') goto yy520; - if (yych <= '`') goto yy516; - if (yych <= 'z') goto yy520; - goto yy516; - } - yych = *++p; - if (yych <= '@') goto yy519; - if (yych <= 'Z') goto yy522; - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy522; -yy519: - p = marker; - if (yyaccept == 0) { - goto yy516; - } else { - goto yy535; - } -yy520: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy524; - } - if (yych <= '=') { - if (yych <= '.') { - if (yych == '-') goto yy520; - goto yy519; - } else { - if (yych <= '/') goto yy526; - if (yych <= '9') goto yy520; - goto yy519; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy527; - if (yych <= '@') goto yy519; - goto yy520; - } else { - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy520; - goto yy519; - } - } -yy522: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy519; - if (yych <= '\r') goto yy529; - goto yy519; - } else { - if (yych <= ' ') goto yy529; - if (yych == '-') goto yy522; - goto yy519; - } - } else { - if (yych <= '@') { - if (yych <= '9') goto yy522; - if (yych == '>') goto yy527; - goto yy519; - } else { - if (yych <= 'Z') goto yy522; - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy522; - goto yy519; - } - } -yy524: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy524; - } - if (yych <= '>') { - if (yych <= '9') { - if (yych != '/') goto yy519; - } else { - if (yych <= ':') goto yy531; - if (yych <= '=') goto yy519; - goto yy527; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy519; - if (yych <= 'Z') goto yy531; - goto yy519; - } else { - if (yych == '`') goto yy519; - if (yych <= 'z') goto yy531; - goto yy519; - } - } -yy526: - yych = *++p; - if (yych != '>') goto yy519; -yy527: - yych = *++p; - if (yybm[0+yych] & 4) { - goto yy527; - } - if (yych <= 0x08) goto yy519; - if (yych <= '\n') goto yy533; - if (yych <= '\v') goto yy519; - if (yych <= '\r') goto yy536; - goto yy519; -yy529: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy519; - if (yych <= '\r') goto yy529; - goto yy519; - } else { - if (yych <= ' ') goto yy529; - if (yych == '>') goto yy527; - goto yy519; - } -yy531: - yych = *++p; - if (yybm[0+yych] & 8) { - goto yy531; - } - if (yych <= ',') { - if (yych <= '\r') { - if (yych <= 0x08) goto yy519; - goto yy537; - } else { - if (yych == ' ') goto yy537; - goto yy519; - } - } else { - if (yych <= '<') { - if (yych <= '/') goto yy526; - goto yy519; - } else { - if (yych <= '=') goto yy539; - if (yych <= '>') goto yy527; - goto yy519; - } - } -yy533: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 4) { - goto yy527; - } - if (yych <= 0x08) goto yy535; - if (yych <= '\n') goto yy533; - if (yych <= '\v') goto yy535; - if (yych <= '\r') goto yy536; -yy535: - { return 7; } -yy536: - ++p; - goto yy535; -yy537: - yych = *++p; - if (yych <= '<') { - if (yych <= ' ') { - if (yych <= 0x08) goto yy519; - if (yych <= '\r') goto yy537; - if (yych <= 0x1F) goto yy519; - goto yy537; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy519; - goto yy526; - } else { - if (yych == ':') goto yy531; - goto yy519; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '=') goto yy539; - if (yych <= '>') goto yy527; - if (yych <= '@') goto yy519; - goto yy531; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy519; - goto yy531; - } else { - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy531; - goto yy519; - } - } - } -yy539: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy541; - } - if (yych <= 0xE0) { - if (yych <= '"') { - if (yych <= 0x00) goto yy519; - if (yych <= ' ') goto yy539; - goto yy543; - } else { - if (yych <= '\'') goto yy545; - if (yych <= 0xC1) goto yy519; - if (yych <= 0xDF) goto yy547; - goto yy548; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy550; - goto yy549; - } else { - if (yych <= 0xF0) goto yy551; - if (yych <= 0xF3) goto yy552; - if (yych <= 0xF4) goto yy553; - goto yy519; - } - } -yy541: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy541; - } - if (yych <= 0xE0) { - if (yych <= '=') { - if (yych <= 0x00) goto yy519; - if (yych <= ' ') goto yy524; - goto yy519; - } else { - if (yych <= '>') goto yy527; - if (yych <= 0xC1) goto yy519; - if (yych <= 0xDF) goto yy547; - goto yy548; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy550; - goto yy549; - } else { - if (yych <= 0xF0) goto yy551; - if (yych <= 0xF3) goto yy552; - if (yych <= 0xF4) goto yy553; - goto yy519; - } - } -yy543: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy543; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy519; - if (yych <= '"') goto yy554; - goto yy519; - } else { - if (yych <= 0xDF) goto yy555; - if (yych <= 0xE0) goto yy556; - goto yy557; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy558; - if (yych <= 0xEF) goto yy557; - goto yy559; - } else { - if (yych <= 0xF3) goto yy560; - if (yych <= 0xF4) goto yy561; - goto yy519; - } - } -yy545: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy545; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy519; - if (yych <= '\'') goto yy554; - goto yy519; - } else { - if (yych <= 0xDF) goto yy562; - if (yych <= 0xE0) goto yy563; - goto yy564; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy565; - if (yych <= 0xEF) goto yy564; - goto yy566; - } else { - if (yych <= 0xF3) goto yy567; - if (yych <= 0xF4) goto yy568; - goto yy519; - } - } -yy547: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy541; - goto yy519; -yy548: - yych = *++p; - if (yych <= 0x9F) goto yy519; - if (yych <= 0xBF) goto yy547; - goto yy519; -yy549: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy547; - goto yy519; -yy550: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x9F) goto yy547; - goto yy519; -yy551: - yych = *++p; - if (yych <= 0x8F) goto yy519; - if (yych <= 0xBF) goto yy549; - goto yy519; -yy552: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy549; - goto yy519; -yy553: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x8F) goto yy549; - goto yy519; -yy554: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy524; - } - if (yych == '/') goto yy526; - if (yych == '>') goto yy527; - goto yy519; -yy555: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy543; - goto yy519; -yy556: - yych = *++p; - if (yych <= 0x9F) goto yy519; - if (yych <= 0xBF) goto yy555; - goto yy519; -yy557: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy555; - goto yy519; -yy558: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x9F) goto yy555; - goto yy519; -yy559: - yych = *++p; - if (yych <= 0x8F) goto yy519; - if (yych <= 0xBF) goto yy557; - goto yy519; -yy560: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy557; - goto yy519; -yy561: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x8F) goto yy557; - goto yy519; -yy562: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy545; - goto yy519; -yy563: - yych = *++p; - if (yych <= 0x9F) goto yy519; - if (yych <= 0xBF) goto yy562; - goto yy519; -yy564: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy562; - goto yy519; -yy565: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x9F) goto yy562; - goto yy519; -yy566: - yych = *++p; - if (yych <= 0x8F) goto yy519; - if (yych <= 0xBF) goto yy564; - goto yy519; -yy567: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy564; - goto yy519; -yy568: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x8F) goto yy564; - goto yy519; -} - + { + 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 yy459; + ++p; + yy458 : { return 0; } + yy459: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '@') { + if (yych != '/') + goto yy458; + } else { + if (yych <= 'Z') + goto yy461; + if (yych <= '`') + goto yy458; + if (yych <= 'z') + goto yy461; + goto yy458; + } + yych = *++p; + if (yych <= '@') + goto yy460; + if (yych <= 'Z') + goto yy462; + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy462; + yy460: + p = marker; + if (yyaccept == 0) { + goto yy458; + } else { + goto yy469; + } + yy461: + yych = *++p; + if (yybm[0 + yych] & 2) { + goto yy463; + } + if (yych <= '=') { + if (yych <= '.') { + if (yych == '-') + goto yy461; + goto yy460; + } else { + if (yych <= '/') + goto yy464; + if (yych <= '9') + goto yy461; + goto yy460; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy465; + if (yych <= '@') + goto yy460; + goto yy461; + } else { + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy461; + goto yy460; + } + } + yy462: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy460; + if (yych <= '\r') + goto yy466; + goto yy460; + } else { + if (yych <= ' ') + goto yy466; + if (yych == '-') + goto yy462; + goto yy460; + } + } else { + if (yych <= '@') { + if (yych <= '9') + goto yy462; + if (yych == '>') + goto yy465; + goto yy460; + } else { + if (yych <= 'Z') + goto yy462; + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy462; + goto yy460; + } + } + yy463: + yych = *++p; + if (yybm[0 + yych] & 2) { + goto yy463; + } + if (yych <= '>') { + if (yych <= '9') { + if (yych != '/') + goto yy460; + } else { + if (yych <= ':') + goto yy467; + if (yych <= '=') + goto yy460; + goto yy465; + } + } else { + if (yych <= '^') { + if (yych <= '@') + goto yy460; + if (yych <= 'Z') + goto yy467; + goto yy460; + } else { + if (yych == '`') + goto yy460; + if (yych <= 'z') + goto yy467; + goto yy460; + } + } + yy464: + yych = *++p; + if (yych != '>') + goto yy460; + yy465: + yych = *++p; + if (yybm[0 + yych] & 4) { + goto yy465; + } + if (yych <= 0x08) + goto yy460; + if (yych <= '\n') + goto yy468; + if (yych <= '\v') + goto yy460; + if (yych <= '\r') + goto yy470; + goto yy460; + yy466: + yych = *++p; + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy460; + if (yych <= '\r') + goto yy466; + goto yy460; + } else { + if (yych <= ' ') + goto yy466; + if (yych == '>') + goto yy465; + goto yy460; + } + yy467: + yych = *++p; + if (yybm[0 + yych] & 8) { + goto yy467; + } + if (yych <= ',') { + if (yych <= '\r') { + if (yych <= 0x08) + goto yy460; + goto yy471; + } else { + if (yych == ' ') + goto yy471; + goto yy460; + } + } else { + if (yych <= '<') { + if (yych <= '/') + goto yy464; + goto yy460; + } else { + if (yych <= '=') + goto yy472; + if (yych <= '>') + goto yy465; + goto yy460; + } + } + yy468: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 4) { + goto yy465; + } + if (yych <= 0x08) + goto yy469; + if (yych <= '\n') + goto yy468; + if (yych <= '\v') + goto yy469; + if (yych <= '\r') + goto yy470; + yy469 : { return 7; } + yy470: + ++p; + goto yy469; + yy471: + yych = *++p; + if (yych <= '<') { + if (yych <= ' ') { + if (yych <= 0x08) + goto yy460; + if (yych <= '\r') + goto yy471; + if (yych <= 0x1F) + goto yy460; + goto yy471; + } else { + if (yych <= '/') { + if (yych <= '.') + goto yy460; + goto yy464; + } else { + if (yych == ':') + goto yy467; + goto yy460; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '=') + goto yy472; + if (yych <= '>') + goto yy465; + if (yych <= '@') + goto yy460; + goto yy467; + } else { + if (yych <= '_') { + if (yych <= '^') + goto yy460; + goto yy467; + } else { + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy467; + goto yy460; + } + } + } + yy472: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy473; + } + if (yych <= 0xE0) { + if (yych <= '"') { + if (yych <= 0x00) + goto yy460; + if (yych <= ' ') + goto yy472; + goto yy474; + } else { + if (yych <= '\'') + goto yy475; + if (yych <= 0xC1) + goto yy460; + if (yych <= 0xDF) + goto yy476; + goto yy477; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy479; + goto yy478; + } else { + if (yych <= 0xF0) + goto yy480; + if (yych <= 0xF3) + goto yy481; + if (yych <= 0xF4) + goto yy482; + goto yy460; + } + } + yy473: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy473; + } + if (yych <= 0xE0) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy460; + if (yych <= ' ') + goto yy463; + goto yy460; + } else { + if (yych <= '>') + goto yy465; + if (yych <= 0xC1) + goto yy460; + if (yych <= 0xDF) + goto yy476; + goto yy477; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy479; + goto yy478; + } else { + if (yych <= 0xF0) + goto yy480; + if (yych <= 0xF3) + goto yy481; + if (yych <= 0xF4) + goto yy482; + goto yy460; + } + } + yy474: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy474; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy460; + if (yych <= '"') + goto yy483; + goto yy460; + } else { + if (yych <= 0xDF) + goto yy484; + if (yych <= 0xE0) + goto yy485; + goto yy486; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy487; + if (yych <= 0xEF) + goto yy486; + goto yy488; + } else { + if (yych <= 0xF3) + goto yy489; + if (yych <= 0xF4) + goto yy490; + goto yy460; + } + } + yy475: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy475; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy460; + if (yych <= '\'') + goto yy483; + goto yy460; + } else { + if (yych <= 0xDF) + goto yy491; + if (yych <= 0xE0) + goto yy492; + goto yy493; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy494; + if (yych <= 0xEF) + goto yy493; + goto yy495; + } else { + if (yych <= 0xF3) + goto yy496; + if (yych <= 0xF4) + goto yy497; + goto yy460; + } + } + yy476: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy473; + goto yy460; + yy477: + yych = *++p; + if (yych <= 0x9F) + goto yy460; + if (yych <= 0xBF) + goto yy476; + goto yy460; + yy478: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy476; + goto yy460; + yy479: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x9F) + goto yy476; + goto yy460; + yy480: + yych = *++p; + if (yych <= 0x8F) + goto yy460; + if (yych <= 0xBF) + goto yy478; + goto yy460; + yy481: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy478; + goto yy460; + yy482: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x8F) + goto yy478; + goto yy460; + yy483: + yych = *++p; + if (yybm[0 + yych] & 2) { + goto yy463; + } + if (yych == '/') + goto yy464; + if (yych == '>') + goto yy465; + goto yy460; + yy484: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy474; + goto yy460; + yy485: + yych = *++p; + if (yych <= 0x9F) + goto yy460; + if (yych <= 0xBF) + goto yy484; + goto yy460; + yy486: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy484; + goto yy460; + yy487: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x9F) + goto yy484; + goto yy460; + yy488: + yych = *++p; + if (yych <= 0x8F) + goto yy460; + if (yych <= 0xBF) + goto yy486; + goto yy460; + yy489: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy486; + goto yy460; + yy490: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x8F) + goto yy486; + goto yy460; + yy491: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy475; + goto yy460; + yy492: + yych = *++p; + if (yych <= 0x9F) + goto yy460; + if (yych <= 0xBF) + goto yy491; + goto yy460; + yy493: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy491; + goto yy460; + yy494: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x9F) + goto yy491; + goto yy460; + yy495: + yych = *++p; + if (yych <= 0x8F) + goto yy460; + if (yych <= 0xBF) + goto yy493; + goto yy460; + yy496: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy493; + goto yy460; + yy497: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x8F) + goto yy493; + goto yy460; + } } // Try to match an HTML block end line of type 1 -bufsize_t _scan_html_block_end_1(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_1(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, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 128, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 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 <= 0xDF) { - if (yych <= ';') { - if (yych <= 0x00) goto yy571; - if (yych != '\n') goto yy573; - } else { - if (yych <= '<') goto yy574; - if (yych <= 0x7F) goto yy573; - if (yych >= 0xC2) goto yy575; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy576; - if (yych == 0xED) goto yy578; - goto yy577; - } else { - if (yych <= 0xF0) goto yy579; - if (yych <= 0xF3) goto yy580; - if (yych <= 0xF4) goto yy581; - } - } -yy571: - ++p; -yy572: - { return 0; } -yy573: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy572; - if (yych <= '\t') goto yy583; - goto yy572; - } else { - if (yych <= 0x7F) goto yy583; - if (yych <= 0xC1) goto yy572; - if (yych <= 0xF4) goto yy583; - goto yy572; - } -yy574: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '.') { - if (yych <= 0x00) goto yy572; - if (yych == '\n') goto yy572; - goto yy583; - } else { - if (yych <= 0x7F) { - if (yych <= '/') goto yy594; - goto yy583; - } else { - if (yych <= 0xC1) goto yy572; - if (yych <= 0xF4) goto yy583; - goto yy572; - } - } -yy575: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0xBF) goto yy582; - goto yy572; -yy576: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy572; - if (yych <= 0xBF) goto yy587; - goto yy572; -yy577: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0xBF) goto yy587; - goto yy572; -yy578: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0x9F) goto yy587; - goto yy572; -yy579: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy572; - if (yych <= 0xBF) goto yy589; - goto yy572; -yy580: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0xBF) goto yy589; - goto yy572; -yy581: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0x8F) goto yy589; - goto yy572; -yy582: - yych = *++p; -yy583: - if (yybm[0+yych] & 64) { - goto yy582; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy584; - if (yych <= '<') goto yy585; - } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - } - } -yy584: - p = marker; - if (yyaccept == 0) { - goto yy572; - } else { - goto yy604; - } -yy585: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xDF) { - if (yych <= '.') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= '/') goto yy594; - if (yych <= 0x7F) goto yy582; - if (yych <= 0xC1) goto yy584; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy588; - if (yych == 0xED) goto yy590; - goto yy589; - } else { - if (yych <= 0xF0) goto yy591; - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } -yy587: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0xBF) goto yy582; - goto yy584; -yy588: - yych = *++p; - if (yych <= 0x9F) goto yy584; - if (yych <= 0xBF) goto yy587; - goto yy584; -yy589: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0xBF) goto yy587; - goto yy584; -yy590: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0x9F) goto yy587; - goto yy584; -yy591: - yych = *++p; - if (yych <= 0x8F) goto yy584; - if (yych <= 0xBF) goto yy589; - goto yy584; -yy592: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0xBF) goto yy589; - goto yy584; -yy593: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0x8F) goto yy589; - goto yy584; -yy594: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 's') { - if (yych <= 'P') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy584; - goto yy582; - } else { - if (yych <= '\n') goto yy584; - if (yych <= 'O') goto yy582; - } - } else { - if (yych <= 'o') { - if (yych == 'S') goto yy596; - goto yy582; - } else { - if (yych <= 'p') goto yy595; - if (yych <= 'r') goto yy582; - goto yy596; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy582; - goto yy584; - } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy595: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'Q') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'q') { - if (yych <= 'R') goto yy597; - goto yy582; - } else { - if (yych <= 'r') goto yy597; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy596: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 't') { - if (yych <= 'C') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy584; - goto yy582; - } else { - if (yych <= '\n') goto yy584; - if (yych <= 'B') goto yy582; - goto yy598; - } - } else { - if (yych <= 'b') { - if (yych == 'T') goto yy599; - goto yy582; - } else { - if (yych <= 'c') goto yy598; - if (yych <= 's') goto yy582; - goto yy599; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy582; - goto yy584; - } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy597: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'D') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'd') { - if (yych <= 'E') goto yy600; - goto yy582; - } else { - if (yych <= 'e') goto yy600; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy598: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'Q') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'q') { - if (yych <= 'R') goto yy601; - goto yy582; - } else { - if (yych <= 'r') goto yy601; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy599: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'X') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'x') { - if (yych <= 'Y') goto yy602; - goto yy582; - } else { - if (yych <= 'y') goto yy602; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy600: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= '>') goto yy603; - if (yych <= 0x7F) goto yy582; - if (yych <= 0xC1) goto yy584; - goto yy587; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy588; - if (yych == 0xED) goto yy590; - goto yy589; - } else { - if (yych <= 0xF0) goto yy591; - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } -yy601: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'H') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'h') { - if (yych <= 'I') goto yy605; - goto yy582; - } else { - if (yych <= 'i') goto yy605; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy602: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'K') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'k') { - if (yych <= 'L') goto yy597; - goto yy582; - } else { - if (yych <= 'l') goto yy597; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy603: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy582; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy604; - if (yych <= '<') goto yy585; - } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - } - } -yy604: - { return (bufsize_t)(p - start); } -yy605: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'O') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'o') { - if (yych >= 'Q') goto yy582; - } else { - if (yych <= 'p') goto yy606; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy606: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'S') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 's') { - if (yych <= 'T') goto yy600; - goto yy582; - } else { - if (yych <= 't') goto yy600; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 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 <= 0xDF) { + if (yych <= ';') { + if (yych <= 0x00) + goto yy499; + if (yych != '\n') + goto yy501; + } else { + if (yych <= '<') + goto yy502; + if (yych <= 0x7F) + goto yy501; + if (yych >= 0xC2) + goto yy503; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy504; + if (yych == 0xED) + goto yy506; + goto yy505; + } else { + if (yych <= 0xF0) + goto yy507; + if (yych <= 0xF3) + goto yy508; + if (yych <= 0xF4) + goto yy509; + } + } + yy499: + ++p; + yy500 : { return 0; } + yy501: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy500; + if (yych <= '\t') + goto yy511; + goto yy500; + } else { + if (yych <= 0x7F) + goto yy511; + if (yych <= 0xC1) + goto yy500; + if (yych <= 0xF4) + goto yy511; + goto yy500; + } + yy502: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '.') { + if (yych <= 0x00) + goto yy500; + if (yych == '\n') + goto yy500; + goto yy511; + } else { + if (yych <= 0x7F) { + if (yych <= '/') + goto yy521; + goto yy511; + } else { + if (yych <= 0xC1) + goto yy500; + if (yych <= 0xF4) + goto yy511; + goto yy500; + } + } + yy503: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0xBF) + goto yy510; + goto yy500; + yy504: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy500; + if (yych <= 0xBF) + goto yy514; + goto yy500; + yy505: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0xBF) + goto yy514; + goto yy500; + yy506: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0x9F) + goto yy514; + goto yy500; + yy507: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy500; + if (yych <= 0xBF) + goto yy516; + goto yy500; + yy508: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0xBF) + goto yy516; + goto yy500; + yy509: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0x8F) + goto yy516; + goto yy500; + yy510: + yych = *++p; + yy511: + if (yybm[0 + yych] & 64) { + goto yy510; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy512; + if (yych <= '<') + goto yy513; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + } + } + yy512: + p = marker; + if (yyaccept == 0) { + goto yy500; + } else { + goto yy534; + } + yy513: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xDF) { + if (yych <= '.') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '/') + goto yy521; + if (yych <= 0x7F) + goto yy510; + if (yych <= 0xC1) + goto yy512; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy515; + if (yych == 0xED) + goto yy517; + goto yy516; + } else { + if (yych <= 0xF0) + goto yy518; + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + yy514: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0xBF) + goto yy510; + goto yy512; + yy515: + yych = *++p; + if (yych <= 0x9F) + goto yy512; + if (yych <= 0xBF) + goto yy514; + goto yy512; + yy516: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0xBF) + goto yy514; + goto yy512; + yy517: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0x9F) + goto yy514; + goto yy512; + yy518: + yych = *++p; + if (yych <= 0x8F) + goto yy512; + if (yych <= 0xBF) + goto yy516; + goto yy512; + yy519: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0xBF) + goto yy516; + goto yy512; + yy520: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0x8F) + goto yy516; + goto yy512; + yy521: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 's') { + if (yych <= 'R') { + if (yych <= '\n') { + if (yych <= 0x00) + goto yy512; + if (yych <= '\t') + goto yy510; + goto yy512; + } else { + if (yych != 'P') + goto yy510; + } + } else { + if (yych <= 'o') { + if (yych <= 'S') + goto yy523; + if (yych <= 'T') + goto yy524; + goto yy510; + } else { + if (yych <= 'p') + goto yy522; + if (yych <= 'r') + goto yy510; + goto yy523; + } + } + } else { + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 't') + goto yy524; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy522: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'Q') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'q') { + if (yych <= 'R') + goto yy525; + goto yy510; + } else { + if (yych <= 'r') + goto yy525; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy523: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 't') { + if (yych <= 'C') { + if (yych <= '\t') { + if (yych <= 0x00) + goto yy512; + goto yy510; + } else { + if (yych <= '\n') + goto yy512; + if (yych <= 'B') + goto yy510; + goto yy526; + } + } else { + if (yych <= 'b') { + if (yych == 'T') + goto yy527; + goto yy510; + } else { + if (yych <= 'c') + goto yy526; + if (yych <= 's') + goto yy510; + goto yy527; + } + } + } else { + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x7F) + goto yy510; + goto yy512; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy524: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'D') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'd') { + if (yych <= 'E') + goto yy528; + goto yy510; + } else { + if (yych <= 'e') + goto yy528; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy525: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'D') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'd') { + if (yych <= 'E') + goto yy529; + goto yy510; + } else { + if (yych <= 'e') + goto yy529; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy526: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'Q') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'q') { + if (yych <= 'R') + goto yy530; + goto yy510; + } else { + if (yych <= 'r') + goto yy530; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy527: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'X') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'x') { + if (yych <= 'Y') + goto yy531; + goto yy510; + } else { + if (yych <= 'y') + goto yy531; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy528: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'W') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'w') { + if (yych <= 'X') + goto yy532; + goto yy510; + } else { + if (yych <= 'x') + goto yy532; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy529: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '>') + goto yy533; + if (yych <= 0x7F) + goto yy510; + if (yych <= 0xC1) + goto yy512; + goto yy514; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy515; + if (yych == 0xED) + goto yy517; + goto yy516; + } else { + if (yych <= 0xF0) + goto yy518; + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + yy530: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'H') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'h') { + if (yych <= 'I') + goto yy535; + goto yy510; + } else { + if (yych <= 'i') + goto yy535; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy531: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'K') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'k') { + if (yych <= 'L') + goto yy525; + goto yy510; + } else { + if (yych <= 'l') + goto yy525; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy532: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'S') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 's') { + if (yych <= 'T') + goto yy536; + goto yy510; + } else { + if (yych <= 't') + goto yy536; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy533: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy510; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy534; + if (yych <= '<') + goto yy513; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + } + } + yy534 : { return (bufsize_t)(p - start); } + yy535: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'O') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'o') { + if (yych <= 'P') + goto yy537; + goto yy510; + } else { + if (yych <= 'p') + goto yy537; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy536: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= '@') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '`') { + if (yych <= 'A') + goto yy538; + goto yy510; + } else { + if (yych <= 'a') + goto yy538; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy537: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'S') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 's') { + if (yych <= 'T') + goto yy529; + goto yy510; + } else { + if (yych <= 't') + goto yy529; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy538: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'Q') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'q') { + if (yych >= 'S') + goto yy510; + } else { + if (yych <= 'r') + goto yy539; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy539: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'D') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'd') { + if (yych >= 'F') + goto yy510; + } else { + if (yych <= 'e') + goto yy540; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy540: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= '@') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '`') { + if (yych <= 'A') + goto yy529; + goto yy510; + } else { + if (yych <= 'a') + goto yy529; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + } } // Try to match an HTML block end line of type 2 -bufsize_t _scan_html_block_end_2(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_2(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, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 128, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 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 <= 0xDF) { - if (yych <= ',') { - if (yych <= 0x00) goto yy609; - if (yych != '\n') goto yy611; - } else { - if (yych <= '-') goto yy612; - if (yych <= 0x7F) goto yy611; - if (yych >= 0xC2) goto yy613; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy614; - if (yych == 0xED) goto yy616; - goto yy615; - } else { - if (yych <= 0xF0) goto yy617; - if (yych <= 0xF3) goto yy618; - if (yych <= 0xF4) goto yy619; - } - } -yy609: - ++p; -yy610: - { return 0; } -yy611: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy610; - if (yych <= '\t') goto yy621; - goto yy610; - } else { - if (yych <= 0x7F) goto yy621; - if (yych <= 0xC1) goto yy610; - if (yych <= 0xF4) goto yy621; - goto yy610; - } -yy612: - yyaccept = 0; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy631; - } - if (yych <= '\n') { - if (yych <= 0x00) goto yy610; - if (yych <= '\t') goto yy621; - goto yy610; - } else { - if (yych <= 0x7F) goto yy621; - if (yych <= 0xC1) goto yy610; - if (yych <= 0xF4) goto yy621; - goto yy610; - } -yy613: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0xBF) goto yy620; - goto yy610; -yy614: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy610; - if (yych <= 0xBF) goto yy624; - goto yy610; -yy615: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0xBF) goto yy624; - goto yy610; -yy616: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0x9F) goto yy624; - goto yy610; -yy617: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy610; - if (yych <= 0xBF) goto yy626; - goto yy610; -yy618: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0xBF) goto yy626; - goto yy610; -yy619: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0x8F) goto yy626; - goto yy610; -yy620: - yych = *++p; -yy621: - if (yybm[0+yych] & 64) { - goto yy620; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy622; - if (yych <= '-') goto yy623; - } else { - if (yych <= 0xDF) goto yy624; - if (yych <= 0xE0) goto yy625; - goto yy626; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy627; - if (yych <= 0xEF) goto yy626; - goto yy628; - } else { - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; - } - } -yy622: - p = marker; - if (yyaccept == 0) { - goto yy610; - } else { - goto yy634; - } -yy623: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy620; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy622; - if (yych <= '-') goto yy631; - goto yy622; - } else { - if (yych <= 0xDF) goto yy624; - if (yych <= 0xE0) goto yy625; - goto yy626; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy627; - if (yych <= 0xEF) goto yy626; - goto yy628; - } else { - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; - goto yy622; - } - } -yy624: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0xBF) goto yy620; - goto yy622; -yy625: - yych = *++p; - if (yych <= 0x9F) goto yy622; - if (yych <= 0xBF) goto yy624; - goto yy622; -yy626: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0xBF) goto yy624; - goto yy622; -yy627: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0x9F) goto yy624; - goto yy622; -yy628: - yych = *++p; - if (yych <= 0x8F) goto yy622; - if (yych <= 0xBF) goto yy626; - goto yy622; -yy629: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0xBF) goto yy626; - goto yy622; -yy630: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0x8F) goto yy626; - goto yy622; -yy631: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy631; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy622; - if (yych == '\n') goto yy622; - goto yy620; - } else { - if (yych <= '>') goto yy633; - if (yych <= 0x7F) goto yy620; - if (yych <= 0xC1) goto yy622; - goto yy624; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy625; - if (yych == 0xED) goto yy627; - goto yy626; - } else { - if (yych <= 0xF0) goto yy628; - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; - goto yy622; - } - } -yy633: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy620; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy634; - if (yych <= '-') goto yy623; - } else { - if (yych <= 0xDF) goto yy624; - if (yych <= 0xE0) goto yy625; - goto yy626; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy627; - if (yych <= 0xEF) goto yy626; - goto yy628; - } else { - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; - } - } -yy634: - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 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 <= 0xDF) { + if (yych <= ',') { + if (yych <= 0x00) + goto yy542; + if (yych != '\n') + goto yy544; + } else { + if (yych <= '-') + goto yy545; + if (yych <= 0x7F) + goto yy544; + if (yych >= 0xC2) + goto yy546; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy547; + if (yych == 0xED) + goto yy549; + goto yy548; + } else { + if (yych <= 0xF0) + goto yy550; + if (yych <= 0xF3) + goto yy551; + if (yych <= 0xF4) + goto yy552; + } + } + yy542: + ++p; + yy543 : { return 0; } + yy544: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy543; + if (yych <= '\t') + goto yy554; + goto yy543; + } else { + if (yych <= 0x7F) + goto yy554; + if (yych <= 0xC1) + goto yy543; + if (yych <= 0xF4) + goto yy554; + goto yy543; + } + yy545: + yyaccept = 0; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy564; + } + if (yych <= '\n') { + if (yych <= 0x00) + goto yy543; + if (yych <= '\t') + goto yy554; + goto yy543; + } else { + if (yych <= 0x7F) + goto yy554; + if (yych <= 0xC1) + goto yy543; + if (yych <= 0xF4) + goto yy554; + goto yy543; + } + yy546: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0xBF) + goto yy553; + goto yy543; + yy547: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy543; + if (yych <= 0xBF) + goto yy557; + goto yy543; + yy548: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0xBF) + goto yy557; + goto yy543; + yy549: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0x9F) + goto yy557; + goto yy543; + yy550: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy543; + if (yych <= 0xBF) + goto yy559; + goto yy543; + yy551: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0xBF) + goto yy559; + goto yy543; + yy552: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0x8F) + goto yy559; + goto yy543; + yy553: + yych = *++p; + yy554: + if (yybm[0 + yych] & 64) { + goto yy553; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy555; + if (yych <= '-') + goto yy556; + } else { + if (yych <= 0xDF) + goto yy557; + if (yych <= 0xE0) + goto yy558; + goto yy559; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy560; + if (yych <= 0xEF) + goto yy559; + goto yy561; + } else { + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + } + } + yy555: + p = marker; + if (yyaccept == 0) { + goto yy543; + } else { + goto yy566; + } + yy556: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy553; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy555; + if (yych <= '-') + goto yy564; + goto yy555; + } else { + if (yych <= 0xDF) + goto yy557; + if (yych <= 0xE0) + goto yy558; + goto yy559; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy560; + if (yych <= 0xEF) + goto yy559; + goto yy561; + } else { + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + goto yy555; + } + } + yy557: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0xBF) + goto yy553; + goto yy555; + yy558: + yych = *++p; + if (yych <= 0x9F) + goto yy555; + if (yych <= 0xBF) + goto yy557; + goto yy555; + yy559: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0xBF) + goto yy557; + goto yy555; + yy560: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0x9F) + goto yy557; + goto yy555; + yy561: + yych = *++p; + if (yych <= 0x8F) + goto yy555; + if (yych <= 0xBF) + goto yy559; + goto yy555; + yy562: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0xBF) + goto yy559; + goto yy555; + yy563: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0x8F) + goto yy559; + goto yy555; + yy564: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy564; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy555; + if (yych == '\n') + goto yy555; + goto yy553; + } else { + if (yych <= '>') + goto yy565; + if (yych <= 0x7F) + goto yy553; + if (yych <= 0xC1) + goto yy555; + goto yy557; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy558; + if (yych == 0xED) + goto yy560; + goto yy559; + } else { + if (yych <= 0xF0) + goto yy561; + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + goto yy555; + } + } + yy565: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy553; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy566; + if (yych <= '-') + goto yy556; + } else { + if (yych <= 0xDF) + goto yy557; + if (yych <= 0xE0) + goto yy558; + goto yy559; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy560; + if (yych <= 0xEF) + goto yy559; + goto yy561; + } else { + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + } + } + yy566 : { return (bufsize_t)(p - start); } + } } // Try to match an HTML block end line of type 3 -bufsize_t _scan_html_block_end_3(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_3(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, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 128, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 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 <= 0xDF) { - if (yych <= '>') { - if (yych <= 0x00) goto yy637; - if (yych != '\n') goto yy639; - } else { - if (yych <= '?') goto yy640; - if (yych <= 0x7F) goto yy639; - if (yych >= 0xC2) goto yy641; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy642; - if (yych == 0xED) goto yy644; - goto yy643; - } else { - if (yych <= 0xF0) goto yy645; - if (yych <= 0xF3) goto yy646; - if (yych <= 0xF4) goto yy647; - } - } -yy637: - ++p; -yy638: - { return 0; } -yy639: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy638; - if (yych <= '\t') goto yy649; - goto yy638; - } else { - if (yych <= 0x7F) goto yy649; - if (yych <= 0xC1) goto yy638; - if (yych <= 0xF4) goto yy649; - goto yy638; - } -yy640: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '=') { - if (yych <= 0x00) goto yy638; - if (yych == '\n') goto yy638; - goto yy649; - } else { - if (yych <= 0x7F) { - if (yych <= '>') goto yy660; - goto yy649; - } else { - if (yych <= 0xC1) goto yy638; - if (yych <= 0xF4) goto yy649; - goto yy638; - } - } -yy641: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0xBF) goto yy648; - goto yy638; -yy642: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy638; - if (yych <= 0xBF) goto yy653; - goto yy638; -yy643: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0xBF) goto yy653; - goto yy638; -yy644: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0x9F) goto yy653; - goto yy638; -yy645: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy638; - if (yych <= 0xBF) goto yy655; - goto yy638; -yy646: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0xBF) goto yy655; - goto yy638; -yy647: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0x8F) goto yy655; - goto yy638; -yy648: - yych = *++p; -yy649: - if (yybm[0+yych] & 64) { - goto yy648; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy650; - if (yych <= '?') goto yy651; - } else { - if (yych <= 0xDF) goto yy653; - if (yych <= 0xE0) goto yy654; - goto yy655; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy656; - if (yych <= 0xEF) goto yy655; - goto yy657; - } else { - if (yych <= 0xF3) goto yy658; - if (yych <= 0xF4) goto yy659; - } - } -yy650: - p = marker; - if (yyaccept == 0) { - goto yy638; - } else { - goto yy661; - } -yy651: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy651; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy650; - if (yych == '\n') goto yy650; - goto yy648; - } else { - if (yych <= '>') goto yy660; - if (yych <= 0x7F) goto yy648; - if (yych <= 0xC1) goto yy650; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy654; - if (yych == 0xED) goto yy656; - goto yy655; - } else { - if (yych <= 0xF0) goto yy657; - if (yych <= 0xF3) goto yy658; - if (yych <= 0xF4) goto yy659; - goto yy650; - } - } -yy653: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0xBF) goto yy648; - goto yy650; -yy654: - yych = *++p; - if (yych <= 0x9F) goto yy650; - if (yych <= 0xBF) goto yy653; - goto yy650; -yy655: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0xBF) goto yy653; - goto yy650; -yy656: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0x9F) goto yy653; - goto yy650; -yy657: - yych = *++p; - if (yych <= 0x8F) goto yy650; - if (yych <= 0xBF) goto yy655; - goto yy650; -yy658: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0xBF) goto yy655; - goto yy650; -yy659: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0x8F) goto yy655; - goto yy650; -yy660: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy648; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy661; - if (yych <= '?') goto yy651; - } else { - if (yych <= 0xDF) goto yy653; - if (yych <= 0xE0) goto yy654; - goto yy655; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy656; - if (yych <= 0xEF) goto yy655; - goto yy657; - } else { - if (yych <= 0xF3) goto yy658; - if (yych <= 0xF4) goto yy659; - } - } -yy661: - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 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 <= 0xDF) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy568; + if (yych != '\n') + goto yy570; + } else { + if (yych <= '?') + goto yy571; + if (yych <= 0x7F) + goto yy570; + if (yych >= 0xC2) + goto yy572; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy573; + if (yych == 0xED) + goto yy575; + goto yy574; + } else { + if (yych <= 0xF0) + goto yy576; + if (yych <= 0xF3) + goto yy577; + if (yych <= 0xF4) + goto yy578; + } + } + yy568: + ++p; + yy569 : { return 0; } + yy570: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy569; + if (yych <= '\t') + goto yy580; + goto yy569; + } else { + if (yych <= 0x7F) + goto yy580; + if (yych <= 0xC1) + goto yy569; + if (yych <= 0xF4) + goto yy580; + goto yy569; + } + yy571: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '=') { + if (yych <= 0x00) + goto yy569; + if (yych == '\n') + goto yy569; + goto yy580; + } else { + if (yych <= 0x7F) { + if (yych <= '>') + goto yy590; + goto yy580; + } else { + if (yych <= 0xC1) + goto yy569; + if (yych <= 0xF4) + goto yy580; + goto yy569; + } + } + yy572: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0xBF) + goto yy579; + goto yy569; + yy573: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy569; + if (yych <= 0xBF) + goto yy583; + goto yy569; + yy574: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0xBF) + goto yy583; + goto yy569; + yy575: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0x9F) + goto yy583; + goto yy569; + yy576: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy569; + if (yych <= 0xBF) + goto yy585; + goto yy569; + yy577: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0xBF) + goto yy585; + goto yy569; + yy578: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0x8F) + goto yy585; + goto yy569; + yy579: + yych = *++p; + yy580: + if (yybm[0 + yych] & 64) { + goto yy579; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy581; + if (yych <= '?') + goto yy582; + } else { + if (yych <= 0xDF) + goto yy583; + if (yych <= 0xE0) + goto yy584; + goto yy585; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy586; + if (yych <= 0xEF) + goto yy585; + goto yy587; + } else { + if (yych <= 0xF3) + goto yy588; + if (yych <= 0xF4) + goto yy589; + } + } + yy581: + p = marker; + if (yyaccept == 0) { + goto yy569; + } else { + goto yy591; + } + yy582: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy582; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy581; + if (yych == '\n') + goto yy581; + goto yy579; + } else { + if (yych <= '>') + goto yy590; + if (yych <= 0x7F) + goto yy579; + if (yych <= 0xC1) + goto yy581; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy584; + if (yych == 0xED) + goto yy586; + goto yy585; + } else { + if (yych <= 0xF0) + goto yy587; + if (yych <= 0xF3) + goto yy588; + if (yych <= 0xF4) + goto yy589; + goto yy581; + } + } + yy583: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0xBF) + goto yy579; + goto yy581; + yy584: + yych = *++p; + if (yych <= 0x9F) + goto yy581; + if (yych <= 0xBF) + goto yy583; + goto yy581; + yy585: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0xBF) + goto yy583; + goto yy581; + yy586: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0x9F) + goto yy583; + goto yy581; + yy587: + yych = *++p; + if (yych <= 0x8F) + goto yy581; + if (yych <= 0xBF) + goto yy585; + goto yy581; + yy588: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0xBF) + goto yy585; + goto yy581; + yy589: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0x8F) + goto yy585; + goto yy581; + yy590: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy579; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy591; + if (yych <= '?') + goto yy582; + } else { + if (yych <= 0xDF) + goto yy583; + if (yych <= 0xE0) + goto yy584; + goto yy585; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy586; + if (yych <= 0xEF) + goto yy585; + goto yy587; + } else { + if (yych <= 0xF3) + goto yy588; + if (yych <= 0xF4) + goto yy589; + } + } + yy591 : { return (bufsize_t)(p - start); } + } } // Try to match an HTML block end line of type 4 -bufsize_t _scan_html_block_end_4(const unsigned char *p) -{ +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 yy667; - } - if (yych <= 0xE0) { - if (yych <= '\n') { - if (yych <= 0x00) goto yy664; - if (yych <= '\t') goto yy666; - } else { - if (yych <= 0x7F) goto yy666; - if (yych <= 0xC1) goto yy664; - if (yych <= 0xDF) goto yy670; - goto yy671; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy673; - goto yy672; - } else { - if (yych <= 0xF0) goto yy674; - if (yych <= 0xF3) goto yy675; - if (yych <= 0xF4) goto yy676; - } - } -yy664: - ++p; -yy665: - { return 0; } -yy666: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy665; - if (yych <= '\t') goto yy678; - goto yy665; - } else { - if (yych <= 0x7F) goto yy678; - if (yych <= 0xC1) goto yy665; - if (yych <= 0xF4) goto yy678; - goto yy665; - } -yy667: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy677; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy669; - if (yych <= '>') goto yy667; - } else { - if (yych <= 0xDF) goto yy680; - if (yych <= 0xE0) goto yy681; - goto yy682; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy683; - if (yych <= 0xEF) goto yy682; - goto yy684; - } else { - if (yych <= 0xF3) goto yy685; - if (yych <= 0xF4) goto yy686; - } - } -yy669: - { return (bufsize_t)(p - start); } -yy670: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0xBF) goto yy677; - goto yy665; -yy671: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy665; - if (yych <= 0xBF) goto yy680; - goto yy665; -yy672: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0xBF) goto yy680; - goto yy665; -yy673: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0x9F) goto yy680; - goto yy665; -yy674: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy665; - if (yych <= 0xBF) goto yy682; - goto yy665; -yy675: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0xBF) goto yy682; - goto yy665; -yy676: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0x8F) goto yy682; - goto yy665; -yy677: - yych = *++p; -yy678: - if (yybm[0+yych] & 128) { - goto yy677; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy679; - if (yych <= '>') goto yy667; - } else { - if (yych <= 0xDF) goto yy680; - if (yych <= 0xE0) goto yy681; - goto yy682; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy683; - if (yych <= 0xEF) goto yy682; - goto yy684; - } else { - if (yych <= 0xF3) goto yy685; - if (yych <= 0xF4) goto yy686; - } - } -yy679: - p = marker; - if (yyaccept == 0) { - goto yy665; - } else { - goto yy669; - } -yy680: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0xBF) goto yy677; - goto yy679; -yy681: - yych = *++p; - if (yych <= 0x9F) goto yy679; - if (yych <= 0xBF) goto yy680; - goto yy679; -yy682: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0xBF) goto yy680; - goto yy679; -yy683: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0x9F) goto yy680; - goto yy679; -yy684: - yych = *++p; - if (yych <= 0x8F) goto yy679; - if (yych <= 0xBF) goto yy682; - goto yy679; -yy685: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0xBF) goto yy682; - goto yy679; -yy686: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0x8F) goto yy682; - goto yy679; -} - + { + 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 yy596; + } + if (yych <= 0xE0) { + if (yych <= '\n') { + if (yych <= 0x00) + goto yy593; + if (yych <= '\t') + goto yy595; + } else { + if (yych <= 0x7F) + goto yy595; + if (yych <= 0xC1) + goto yy593; + if (yych <= 0xDF) + goto yy598; + goto yy599; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy601; + goto yy600; + } else { + if (yych <= 0xF0) + goto yy602; + if (yych <= 0xF3) + goto yy603; + if (yych <= 0xF4) + goto yy604; + } + } + yy593: + ++p; + yy594 : { return 0; } + yy595: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy594; + if (yych <= '\t') + goto yy606; + goto yy594; + } else { + if (yych <= 0x7F) + goto yy606; + if (yych <= 0xC1) + goto yy594; + if (yych <= 0xF4) + goto yy606; + goto yy594; + } + yy596: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy605; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy597; + if (yych <= '>') + goto yy596; + } else { + if (yych <= 0xDF) + goto yy608; + if (yych <= 0xE0) + goto yy609; + goto yy610; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy611; + if (yych <= 0xEF) + goto yy610; + goto yy612; + } else { + if (yych <= 0xF3) + goto yy613; + if (yych <= 0xF4) + goto yy614; + } + } + yy597 : { return (bufsize_t)(p - start); } + yy598: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0xBF) + goto yy605; + goto yy594; + yy599: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy594; + if (yych <= 0xBF) + goto yy608; + goto yy594; + yy600: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0xBF) + goto yy608; + goto yy594; + yy601: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0x9F) + goto yy608; + goto yy594; + yy602: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy594; + if (yych <= 0xBF) + goto yy610; + goto yy594; + yy603: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0xBF) + goto yy610; + goto yy594; + yy604: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0x8F) + goto yy610; + goto yy594; + yy605: + yych = *++p; + yy606: + if (yybm[0 + yych] & 128) { + goto yy605; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy607; + if (yych <= '>') + goto yy596; + } else { + if (yych <= 0xDF) + goto yy608; + if (yych <= 0xE0) + goto yy609; + goto yy610; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy611; + if (yych <= 0xEF) + goto yy610; + goto yy612; + } else { + if (yych <= 0xF3) + goto yy613; + if (yych <= 0xF4) + goto yy614; + } + } + yy607: + p = marker; + if (yyaccept == 0) { + goto yy594; + } else { + goto yy597; + } + yy608: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0xBF) + goto yy605; + goto yy607; + yy609: + yych = *++p; + if (yych <= 0x9F) + goto yy607; + if (yych <= 0xBF) + goto yy608; + goto yy607; + yy610: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0xBF) + goto yy608; + goto yy607; + yy611: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0x9F) + goto yy608; + goto yy607; + yy612: + yych = *++p; + if (yych <= 0x8F) + goto yy607; + if (yych <= 0xBF) + goto yy610; + goto yy607; + yy613: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0xBF) + goto yy610; + goto yy607; + yy614: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0x8F) + goto yy610; + goto yy607; + } } // Try to match an HTML block end line of type 5 -bufsize_t _scan_html_block_end_5(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_5(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, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 128, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 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 <= 0xDF) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy689; - if (yych != '\n') goto yy691; - } else { - if (yych <= ']') goto yy692; - if (yych <= 0x7F) goto yy691; - if (yych >= 0xC2) goto yy693; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy694; - if (yych == 0xED) goto yy696; - goto yy695; - } else { - if (yych <= 0xF0) goto yy697; - if (yych <= 0xF3) goto yy698; - if (yych <= 0xF4) goto yy699; - } - } -yy689: - ++p; -yy690: - { return 0; } -yy691: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy690; - if (yych <= '\t') goto yy701; - goto yy690; - } else { - if (yych <= 0x7F) goto yy701; - if (yych <= 0xC1) goto yy690; - if (yych <= 0xF4) goto yy701; - goto yy690; - } -yy692: - yyaccept = 0; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy711; - } - if (yych <= '\n') { - if (yych <= 0x00) goto yy690; - if (yych <= '\t') goto yy701; - goto yy690; - } else { - if (yych <= 0x7F) goto yy701; - if (yych <= 0xC1) goto yy690; - if (yych <= 0xF4) goto yy701; - goto yy690; - } -yy693: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0xBF) goto yy700; - goto yy690; -yy694: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy690; - if (yych <= 0xBF) goto yy704; - goto yy690; -yy695: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0xBF) goto yy704; - goto yy690; -yy696: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0x9F) goto yy704; - goto yy690; -yy697: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy690; - if (yych <= 0xBF) goto yy706; - goto yy690; -yy698: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0xBF) goto yy706; - goto yy690; -yy699: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0x8F) goto yy706; - goto yy690; -yy700: - yych = *++p; -yy701: - if (yybm[0+yych] & 64) { - goto yy700; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy702; - if (yych <= ']') goto yy703; - } else { - if (yych <= 0xDF) goto yy704; - if (yych <= 0xE0) goto yy705; - goto yy706; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy707; - if (yych <= 0xEF) goto yy706; - goto yy708; - } else { - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; - } - } -yy702: - p = marker; - if (yyaccept == 0) { - goto yy690; - } else { - goto yy714; - } -yy703: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy700; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy702; - if (yych <= ']') goto yy711; - goto yy702; - } else { - if (yych <= 0xDF) goto yy704; - if (yych <= 0xE0) goto yy705; - goto yy706; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy707; - if (yych <= 0xEF) goto yy706; - goto yy708; - } else { - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; - goto yy702; - } - } -yy704: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0xBF) goto yy700; - goto yy702; -yy705: - yych = *++p; - if (yych <= 0x9F) goto yy702; - if (yych <= 0xBF) goto yy704; - goto yy702; -yy706: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0xBF) goto yy704; - goto yy702; -yy707: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0x9F) goto yy704; - goto yy702; -yy708: - yych = *++p; - if (yych <= 0x8F) goto yy702; - if (yych <= 0xBF) goto yy706; - goto yy702; -yy709: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0xBF) goto yy706; - goto yy702; -yy710: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0x8F) goto yy706; - goto yy702; -yy711: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy711; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy702; - if (yych == '\n') goto yy702; - goto yy700; - } else { - if (yych <= '>') goto yy713; - if (yych <= 0x7F) goto yy700; - if (yych <= 0xC1) goto yy702; - goto yy704; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy705; - if (yych == 0xED) goto yy707; - goto yy706; - } else { - if (yych <= 0xF0) goto yy708; - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; - goto yy702; - } - } -yy713: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy700; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy714; - if (yych <= ']') goto yy703; - } else { - if (yych <= 0xDF) goto yy704; - if (yych <= 0xE0) goto yy705; - goto yy706; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy707; - if (yych <= 0xEF) goto yy706; - goto yy708; - } else { - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; - } - } -yy714: - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 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 <= 0xDF) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy616; + if (yych != '\n') + goto yy618; + } else { + if (yych <= ']') + goto yy619; + if (yych <= 0x7F) + goto yy618; + if (yych >= 0xC2) + goto yy620; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy621; + if (yych == 0xED) + goto yy623; + goto yy622; + } else { + if (yych <= 0xF0) + goto yy624; + if (yych <= 0xF3) + goto yy625; + if (yych <= 0xF4) + goto yy626; + } + } + yy616: + ++p; + yy617 : { return 0; } + yy618: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy617; + if (yych <= '\t') + goto yy628; + goto yy617; + } else { + if (yych <= 0x7F) + goto yy628; + if (yych <= 0xC1) + goto yy617; + if (yych <= 0xF4) + goto yy628; + goto yy617; + } + yy619: + yyaccept = 0; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy638; + } + if (yych <= '\n') { + if (yych <= 0x00) + goto yy617; + if (yych <= '\t') + goto yy628; + goto yy617; + } else { + if (yych <= 0x7F) + goto yy628; + if (yych <= 0xC1) + goto yy617; + if (yych <= 0xF4) + goto yy628; + goto yy617; + } + yy620: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0xBF) + goto yy627; + goto yy617; + yy621: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy617; + if (yych <= 0xBF) + goto yy631; + goto yy617; + yy622: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0xBF) + goto yy631; + goto yy617; + yy623: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0x9F) + goto yy631; + goto yy617; + yy624: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy617; + if (yych <= 0xBF) + goto yy633; + goto yy617; + yy625: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0xBF) + goto yy633; + goto yy617; + yy626: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0x8F) + goto yy633; + goto yy617; + yy627: + yych = *++p; + yy628: + if (yybm[0 + yych] & 64) { + goto yy627; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy629; + if (yych <= ']') + goto yy630; + } else { + if (yych <= 0xDF) + goto yy631; + if (yych <= 0xE0) + goto yy632; + goto yy633; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy634; + if (yych <= 0xEF) + goto yy633; + goto yy635; + } else { + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + } + } + yy629: + p = marker; + if (yyaccept == 0) { + goto yy617; + } else { + goto yy640; + } + yy630: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy627; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy629; + if (yych <= ']') + goto yy638; + goto yy629; + } else { + if (yych <= 0xDF) + goto yy631; + if (yych <= 0xE0) + goto yy632; + goto yy633; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy634; + if (yych <= 0xEF) + goto yy633; + goto yy635; + } else { + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + goto yy629; + } + } + yy631: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0xBF) + goto yy627; + goto yy629; + yy632: + yych = *++p; + if (yych <= 0x9F) + goto yy629; + if (yych <= 0xBF) + goto yy631; + goto yy629; + yy633: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0xBF) + goto yy631; + goto yy629; + yy634: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0x9F) + goto yy631; + goto yy629; + yy635: + yych = *++p; + if (yych <= 0x8F) + goto yy629; + if (yych <= 0xBF) + goto yy633; + goto yy629; + yy636: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0xBF) + goto yy633; + goto yy629; + yy637: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0x8F) + goto yy633; + goto yy629; + yy638: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy638; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy629; + if (yych == '\n') + goto yy629; + goto yy627; + } else { + if (yych <= '>') + goto yy639; + if (yych <= 0x7F) + goto yy627; + if (yych <= 0xC1) + goto yy629; + goto yy631; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy632; + if (yych == 0xED) + goto yy634; + goto yy633; + } else { + if (yych <= 0xF0) + goto yy635; + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + goto yy629; + } + } + yy639: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy627; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy640; + if (yych <= ']') + goto yy630; + } else { + if (yych <= 0xDF) + goto yy631; + if (yych <= 0xE0) + goto yy632; + goto yy633; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy634; + if (yych <= 0xEF) + goto yy633; + goto yy635; + } else { + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + } + } + yy640 : { return (bufsize_t)(p - start); } + } } // Try to match a link title (in single quotes, in double quotes, or // in parentheses), returning number of chars matched. Allow one // level of internal nesting (quotes within quotes). -bufsize_t _scan_link_title(const unsigned char *p) -{ +bufsize_t _scan_link_title(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, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 192, 208, 208, 208, 208, 144, - 80, 80, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 32, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 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 <= '&') { - if (yych == '"') goto yy719; - } else { - if (yych <= '\'') goto yy720; - if (yych <= '(') goto yy721; - } - ++p; -yy718: - { return 0; } -yy719: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x00) goto yy718; - if (yych <= 0x7F) goto yy723; - if (yych <= 0xC1) goto yy718; - if (yych <= 0xF4) goto yy723; - goto yy718; -yy720: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x00) goto yy718; - if (yych <= 0x7F) goto yy737; - if (yych <= 0xC1) goto yy718; - if (yych <= 0xF4) goto yy737; - goto yy718; -yy721: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '(') { - if (yych <= 0x00) goto yy718; - if (yych <= '\'') goto yy750; - goto yy718; - } else { - if (yych <= 0x7F) goto yy750; - if (yych <= 0xC1) goto yy718; - if (yych <= 0xF4) goto yy750; - goto yy718; - } -yy722: - yych = *++p; -yy723: - if (yybm[0+yych] & 16) { - goto yy722; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych <= '"') goto yy725; - goto yy727; - } else { - if (yych <= 0xC1) goto yy724; - if (yych <= 0xDF) goto yy729; - goto yy730; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy732; - goto yy731; - } else { - if (yych <= 0xF0) goto yy733; - if (yych <= 0xF3) goto yy734; - if (yych <= 0xF4) goto yy735; - } - } -yy724: - p = marker; - if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy718; - } else { - goto yy726; - } - } else { - if (yyaccept == 2) { - goto yy739; - } else { - goto yy752; - } - } -yy725: - ++p; -yy726: - { return (bufsize_t)(p - start); } -yy727: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy722; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych <= '"') goto yy762; - goto yy727; - } else { - if (yych <= 0xC1) goto yy724; - if (yych >= 0xE0) goto yy730; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy732; - goto yy731; - } else { - if (yych <= 0xF0) goto yy733; - if (yych <= 0xF3) goto yy734; - if (yych <= 0xF4) goto yy735; - goto yy724; - } - } -yy729: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy722; - goto yy724; -yy730: - yych = *++p; - if (yych <= 0x9F) goto yy724; - if (yych <= 0xBF) goto yy729; - goto yy724; -yy731: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy729; - goto yy724; -yy732: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x9F) goto yy729; - goto yy724; -yy733: - yych = *++p; - if (yych <= 0x8F) goto yy724; - if (yych <= 0xBF) goto yy731; - goto yy724; -yy734: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy731; - goto yy724; -yy735: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x8F) goto yy731; - goto yy724; -yy736: - yych = *++p; -yy737: - if (yybm[0+yych] & 64) { - goto yy736; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych >= '(') goto yy740; - } else { - if (yych <= 0xC1) goto yy724; - if (yych <= 0xDF) goto yy742; - goto yy743; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy745; - goto yy744; - } else { - if (yych <= 0xF0) goto yy746; - if (yych <= 0xF3) goto yy747; - if (yych <= 0xF4) goto yy748; - goto yy724; - } - } -yy738: - ++p; -yy739: - { return (bufsize_t)(p - start); } -yy740: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy736; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych <= '\'') goto yy763; - goto yy740; - } else { - if (yych <= 0xC1) goto yy724; - if (yych >= 0xE0) goto yy743; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy745; - goto yy744; - } else { - if (yych <= 0xF0) goto yy746; - if (yych <= 0xF3) goto yy747; - if (yych <= 0xF4) goto yy748; - goto yy724; - } - } -yy742: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy736; - goto yy724; -yy743: - yych = *++p; - if (yych <= 0x9F) goto yy724; - if (yych <= 0xBF) goto yy742; - goto yy724; -yy744: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy742; - goto yy724; -yy745: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x9F) goto yy742; - goto yy724; -yy746: - yych = *++p; - if (yych <= 0x8F) goto yy724; - if (yych <= 0xBF) goto yy744; - goto yy724; -yy747: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy744; - goto yy724; -yy748: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x8F) goto yy744; - goto yy724; -yy749: - yych = *++p; -yy750: - if (yybm[0+yych] & 128) { - goto yy749; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '(') goto yy724; - if (yych >= '*') goto yy753; - } else { - if (yych <= 0xC1) goto yy724; - if (yych <= 0xDF) goto yy755; - goto yy756; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy758; - goto yy757; - } else { - if (yych <= 0xF0) goto yy759; - if (yych <= 0xF3) goto yy760; - if (yych <= 0xF4) goto yy761; - goto yy724; - } - } -yy751: - ++p; -yy752: - { return (bufsize_t)(p - start); } -yy753: - yych = *++p; - if (yych <= 0xDF) { - if (yych <= '[') { - if (yych <= 0x00) goto yy724; - if (yych == ')') goto yy764; - goto yy749; - } else { - if (yych <= '\\') goto yy753; - if (yych <= 0x7F) goto yy749; - if (yych <= 0xC1) goto yy724; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy756; - if (yych == 0xED) goto yy758; - goto yy757; - } else { - if (yych <= 0xF0) goto yy759; - if (yych <= 0xF3) goto yy760; - if (yych <= 0xF4) goto yy761; - goto yy724; - } - } -yy755: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy749; - goto yy724; -yy756: - yych = *++p; - if (yych <= 0x9F) goto yy724; - if (yych <= 0xBF) goto yy755; - goto yy724; -yy757: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy755; - goto yy724; -yy758: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x9F) goto yy755; - goto yy724; -yy759: - yych = *++p; - if (yych <= 0x8F) goto yy724; - if (yych <= 0xBF) goto yy757; - goto yy724; -yy760: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy757; - goto yy724; -yy761: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x8F) goto yy757; - goto yy724; -yy762: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 16) { - goto yy722; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy726; - if (yych <= '"') goto yy725; - goto yy727; - } else { - if (yych <= 0xC1) goto yy726; - if (yych <= 0xDF) goto yy729; - goto yy730; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy732; - goto yy731; - } else { - if (yych <= 0xF0) goto yy733; - if (yych <= 0xF3) goto yy734; - if (yych <= 0xF4) goto yy735; - goto yy726; - } - } -yy763: - yyaccept = 2; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy736; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy739; - if (yych <= '\'') goto yy738; - goto yy740; - } else { - if (yych <= 0xC1) goto yy739; - if (yych <= 0xDF) goto yy742; - goto yy743; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy745; - goto yy744; - } else { - if (yych <= 0xF0) goto yy746; - if (yych <= 0xF3) goto yy747; - if (yych <= 0xF4) goto yy748; - goto yy739; - } - } -yy764: - yyaccept = 3; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy749; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '(') goto yy752; - if (yych <= ')') goto yy751; - goto yy753; - } else { - if (yych <= 0xC1) goto yy752; - if (yych <= 0xDF) goto yy755; - goto yy756; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy758; - goto yy757; - } else { - if (yych <= 0xF0) goto yy759; - if (yych <= 0xF3) goto yy760; - if (yych <= 0xF4) goto yy761; - goto yy752; - } - } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 80, 80, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 32, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 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 <= '&') { + if (yych == '"') + goto yy643; + } else { + if (yych <= '\'') + goto yy644; + if (yych <= '(') + goto yy645; + } + ++p; + yy642 : { return 0; } + yy643: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x00) + goto yy642; + if (yych <= 0x7F) + goto yy647; + if (yych <= 0xC1) + goto yy642; + if (yych <= 0xF4) + goto yy647; + goto yy642; + yy644: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x00) + goto yy642; + if (yych <= 0x7F) + goto yy660; + if (yych <= 0xC1) + goto yy642; + if (yych <= 0xF4) + goto yy660; + goto yy642; + yy645: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '(') { + if (yych <= 0x00) + goto yy642; + if (yych <= '\'') + goto yy672; + goto yy642; + } else { + if (yych <= 0x7F) + goto yy672; + if (yych <= 0xC1) + goto yy642; + if (yych <= 0xF4) + goto yy672; + goto yy642; + } + yy646: + yych = *++p; + yy647: + if (yybm[0 + yych] & 16) { + goto yy646; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych <= '"') + goto yy649; + goto yy651; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych <= 0xDF) + goto yy652; + goto yy653; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy655; + goto yy654; + } else { + if (yych <= 0xF0) + goto yy656; + if (yych <= 0xF3) + goto yy657; + if (yych <= 0xF4) + goto yy658; + } + } + yy648: + p = marker; + if (yyaccept <= 1) { + if (yyaccept == 0) { + goto yy642; + } else { + goto yy650; + } + } else { + if (yyaccept == 2) { + goto yy662; + } else { + goto yy674; + } + } + yy649: + ++p; + yy650 : { return (bufsize_t)(p - start); } + yy651: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy646; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych <= '"') + goto yy683; + goto yy651; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych >= 0xE0) + goto yy653; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy655; + goto yy654; + } else { + if (yych <= 0xF0) + goto yy656; + if (yych <= 0xF3) + goto yy657; + if (yych <= 0xF4) + goto yy658; + goto yy648; + } + } + yy652: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy646; + goto yy648; + yy653: + yych = *++p; + if (yych <= 0x9F) + goto yy648; + if (yych <= 0xBF) + goto yy652; + goto yy648; + yy654: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy652; + goto yy648; + yy655: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x9F) + goto yy652; + goto yy648; + yy656: + yych = *++p; + if (yych <= 0x8F) + goto yy648; + if (yych <= 0xBF) + goto yy654; + goto yy648; + yy657: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy654; + goto yy648; + yy658: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x8F) + goto yy654; + goto yy648; + yy659: + yych = *++p; + yy660: + if (yybm[0 + yych] & 64) { + goto yy659; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych >= '(') + goto yy663; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych <= 0xDF) + goto yy664; + goto yy665; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy667; + goto yy666; + } else { + if (yych <= 0xF0) + goto yy668; + if (yych <= 0xF3) + goto yy669; + if (yych <= 0xF4) + goto yy670; + goto yy648; + } + } + yy661: + ++p; + yy662 : { return (bufsize_t)(p - start); } + yy663: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy659; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych <= '\'') + goto yy684; + goto yy663; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych >= 0xE0) + goto yy665; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy667; + goto yy666; + } else { + if (yych <= 0xF0) + goto yy668; + if (yych <= 0xF3) + goto yy669; + if (yych <= 0xF4) + goto yy670; + goto yy648; + } + } + yy664: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy659; + goto yy648; + yy665: + yych = *++p; + if (yych <= 0x9F) + goto yy648; + if (yych <= 0xBF) + goto yy664; + goto yy648; + yy666: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy664; + goto yy648; + yy667: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x9F) + goto yy664; + goto yy648; + yy668: + yych = *++p; + if (yych <= 0x8F) + goto yy648; + if (yych <= 0xBF) + goto yy666; + goto yy648; + yy669: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy666; + goto yy648; + yy670: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x8F) + goto yy666; + goto yy648; + yy671: + yych = *++p; + yy672: + if (yybm[0 + yych] & 128) { + goto yy671; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= '(') + goto yy648; + if (yych >= '*') + goto yy675; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych <= 0xDF) + goto yy676; + goto yy677; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy679; + goto yy678; + } else { + if (yych <= 0xF0) + goto yy680; + if (yych <= 0xF3) + goto yy681; + if (yych <= 0xF4) + goto yy682; + goto yy648; + } + } + yy673: + ++p; + yy674 : { return (bufsize_t)(p - start); } + yy675: + yych = *++p; + if (yych <= 0xDF) { + if (yych <= '[') { + if (yych <= 0x00) + goto yy648; + if (yych == ')') + goto yy685; + goto yy671; + } else { + if (yych <= '\\') + goto yy675; + if (yych <= 0x7F) + goto yy671; + if (yych <= 0xC1) + goto yy648; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy677; + if (yych == 0xED) + goto yy679; + goto yy678; + } else { + if (yych <= 0xF0) + goto yy680; + if (yych <= 0xF3) + goto yy681; + if (yych <= 0xF4) + goto yy682; + goto yy648; + } + } + yy676: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy671; + goto yy648; + yy677: + yych = *++p; + if (yych <= 0x9F) + goto yy648; + if (yych <= 0xBF) + goto yy676; + goto yy648; + yy678: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy676; + goto yy648; + yy679: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x9F) + goto yy676; + goto yy648; + yy680: + yych = *++p; + if (yych <= 0x8F) + goto yy648; + if (yych <= 0xBF) + goto yy678; + goto yy648; + yy681: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy678; + goto yy648; + yy682: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x8F) + goto yy678; + goto yy648; + yy683: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 16) { + goto yy646; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy650; + if (yych <= '"') + goto yy649; + goto yy651; + } else { + if (yych <= 0xC1) + goto yy650; + if (yych <= 0xDF) + goto yy652; + goto yy653; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy655; + goto yy654; + } else { + if (yych <= 0xF0) + goto yy656; + if (yych <= 0xF3) + goto yy657; + if (yych <= 0xF4) + goto yy658; + goto yy650; + } + } + yy684: + yyaccept = 2; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy659; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy662; + if (yych <= '\'') + goto yy661; + goto yy663; + } else { + if (yych <= 0xC1) + goto yy662; + if (yych <= 0xDF) + goto yy664; + goto yy665; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy667; + goto yy666; + } else { + if (yych <= 0xF0) + goto yy668; + if (yych <= 0xF3) + goto yy669; + if (yych <= 0xF4) + goto yy670; + goto yy662; + } + } + yy685: + yyaccept = 3; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy671; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= '(') + goto yy674; + if (yych <= ')') + goto yy673; + goto yy675; + } else { + if (yych <= 0xC1) + goto yy674; + if (yych <= 0xDF) + goto yy676; + goto yy677; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy679; + goto yy678; + } else { + if (yych <= 0xF0) + goto yy680; + if (yych <= 0xF3) + goto yy681; + if (yych <= 0xF4) + goto yy682; + goto yy674; + } + } + } } // Match space characters, including newlines. -bufsize_t _scan_spacechars(const unsigned char *p) -{ - const unsigned char *start = p; \ - -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 128, 128, 128, 128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 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, 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] & 128) { - goto yy769; - } - ++p; - { return 0; } -yy769: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy769; - } - { return (bufsize_t)(p - start); } -} +bufsize_t _scan_spacechars(const unsigned char *p) { + const unsigned char *start = p; + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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] & 128) { + goto yy687; + } + ++p; + { return 0; } + yy687: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy687; + } + { return (bufsize_t)(p - start); } + } } // Match ATX heading start. -bufsize_t _scan_atx_heading_start(const unsigned char *p) -{ +bufsize_t _scan_atx_heading_start(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 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, 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 yy776; - ++p; -yy775: - { return 0; } -yy776: - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy775; - if (yych <= '\n') goto yy780; - goto yy775; - } else { - if (yych <= '\r') goto yy780; - if (yych == '#') goto yy781; - goto yy775; - } -yy777: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } -yy779: - { return (bufsize_t)(p - start); } -yy780: - ++p; - goto yy779; -yy781: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - } else { - if (yych <= '\r') goto yy780; - if (yych == '#') goto yy783; - } -yy782: - p = marker; - goto yy775; -yy783: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - goto yy782; - } else { - if (yych <= '\r') goto yy780; - if (yych != '#') goto yy782; - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - goto yy782; - } else { - if (yych <= '\r') goto yy780; - if (yych != '#') goto yy782; - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - goto yy782; - } else { - if (yych <= '\r') goto yy780; - if (yych != '#') goto yy782; - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - if (yych == '\r') goto yy780; - goto yy782; -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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 yy690; + ++p; + yy689 : { return 0; } + yy690: + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy689; + if (yych <= '\n') + goto yy693; + goto yy689; + } else { + if (yych <= '\r') + goto yy693; + if (yych == '#') + goto yy694; + goto yy689; + } + yy691: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + yy692 : { return (bufsize_t)(p - start); } + yy693: + ++p; + goto yy692; + yy694: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + } else { + if (yych <= '\r') + goto yy693; + if (yych == '#') + goto yy696; + } + yy695: + p = marker; + goto yy689; + yy696: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + goto yy695; + } else { + if (yych <= '\r') + goto yy693; + if (yych != '#') + goto yy695; + } + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + goto yy695; + } else { + if (yych <= '\r') + goto yy693; + if (yych != '#') + goto yy695; + } + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + goto yy695; + } else { + if (yych <= '\r') + goto yy693; + if (yych != '#') + goto yy695; + } + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + if (yych == '\r') + goto yy693; + goto yy695; + } } // Match setext heading line. Return 1 for level-1 heading, // 2 for level-2, 0 for no match. -bufsize_t _scan_setext_heading_line(const unsigned char *p) -{ +bufsize_t _scan_setext_heading_line(const unsigned char *p) { const unsigned char *marker = NULL; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 32, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 64, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 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, 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 yy791; - if (yych == '=') goto yy792; - ++p; -yy790: - { return 0; } -yy791: - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy798; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy790; - if (yych <= '\n') goto yy794; - goto yy790; - } else { - if (yych <= '\r') goto yy794; - if (yych == ' ') goto yy794; - goto yy790; - } -yy792: - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy804; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy790; - if (yych <= '\n') goto yy801; - goto yy790; - } else { - if (yych <= '\r') goto yy801; - if (yych == ' ') goto yy801; - goto yy790; - } -yy793: - yych = *++p; -yy794: - if (yybm[0+yych] & 32) { - goto yy793; - } - if (yych <= 0x08) goto yy795; - if (yych <= '\n') goto yy796; - if (yych == '\r') goto yy796; -yy795: - p = marker; - goto yy790; -yy796: - ++p; - { return 2; } -yy798: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy793; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy795; - if (yych <= '\n') goto yy796; - goto yy795; - } else { - if (yych <= '\r') goto yy796; - if (yych == '-') goto yy798; - goto yy795; - } -yy800: - yych = *++p; -yy801: - if (yych <= '\f') { - if (yych <= 0x08) goto yy795; - if (yych <= '\t') goto yy800; - if (yych >= '\v') goto yy795; - } else { - if (yych <= '\r') goto yy802; - if (yych == ' ') goto yy800; - goto yy795; - } -yy802: - ++p; - { return 1; } -yy804: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy804; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy795; - if (yych <= '\t') goto yy800; - if (yych <= '\n') goto yy802; - goto yy795; - } else { - if (yych <= '\r') goto yy802; - if (yych == ' ') goto yy800; - goto yy795; - } -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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 yy699; + if (yych == '=') + goto yy700; + ++p; + yy698 : { return 0; } + yy699: + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy705; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy698; + if (yych <= '\n') + goto yy702; + goto yy698; + } else { + if (yych <= '\r') + goto yy702; + if (yych == ' ') + goto yy702; + goto yy698; + } + yy700: + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy709; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy698; + if (yych <= '\n') + goto yy707; + goto yy698; + } else { + if (yych <= '\r') + goto yy707; + if (yych == ' ') + goto yy707; + goto yy698; + } + yy701: + yych = *++p; + yy702: + if (yybm[0 + yych] & 32) { + goto yy701; + } + if (yych <= 0x08) + goto yy703; + if (yych <= '\n') + goto yy704; + if (yych == '\r') + goto yy704; + yy703: + p = marker; + goto yy698; + yy704: + ++p; + { return 2; } + yy705: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy701; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy703; + if (yych <= '\n') + goto yy704; + goto yy703; + } else { + if (yych <= '\r') + goto yy704; + if (yych == '-') + goto yy705; + goto yy703; + } + yy706: + yych = *++p; + yy707: + if (yych <= '\f') { + if (yych <= 0x08) + goto yy703; + if (yych <= '\t') + goto yy706; + if (yych >= '\v') + goto yy703; + } else { + if (yych <= '\r') + goto yy708; + if (yych == ' ') + goto yy706; + goto yy703; + } + yy708: + ++p; + { return 1; } + yy709: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy709; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy703; + if (yych <= '\t') + goto yy706; + if (yych <= '\n') + goto yy708; + goto yy703; + } else { + if (yych <= '\r') + goto yy708; + if (yych == ' ') + goto yy706; + goto yy703; + } + } } // Scan an opening code fence. -bufsize_t _scan_open_code_fence(const unsigned char *p) -{ +bufsize_t _scan_open_code_fence(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 0, 192, 192, 0, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 144, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 224, 192, - 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 yy810; - if (yych == '~') goto yy811; - ++p; -yy809: - { return 0; } -yy810: - yych = *(marker = ++p); - if (yych == '`') goto yy812; - goto yy809; -yy811: - yych = *(marker = ++p); - if (yych == '~') goto yy814; - goto yy809; -yy812: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy815; - } -yy813: - p = marker; - goto yy809; -yy814: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy817; - } - goto yy813; -yy815: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy815; - } - if (yych <= 0xDF) { - if (yych <= '\f') { - if (yych <= 0x00) goto yy813; - if (yych == '\n') { - marker = p; - goto yy821; - } - marker = p; - goto yy819; - } else { - if (yych <= '\r') { - marker = p; - goto yy821; - } - if (yych <= 0x7F) { - marker = p; - goto yy819; - } - if (yych <= 0xC1) goto yy813; - marker = p; - goto yy823; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) { - marker = p; - goto yy824; - } - if (yych == 0xED) { - marker = p; - goto yy826; - } - marker = p; - goto yy825; - } else { - if (yych <= 0xF0) { - marker = p; - goto yy827; - } - if (yych <= 0xF3) { - marker = p; - goto yy828; - } - if (yych <= 0xF4) { - marker = p; - goto yy829; - } - goto yy813; - } - } -yy817: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy817; - } - if (yych <= 0xDF) { - if (yych <= '\f') { - if (yych <= 0x00) goto yy813; - if (yych == '\n') { - marker = p; - goto yy832; - } - marker = p; - goto yy830; - } else { - if (yych <= '\r') { - marker = p; - goto yy832; - } - if (yych <= 0x7F) { - marker = p; - goto yy830; - } - if (yych <= 0xC1) goto yy813; - marker = p; - goto yy834; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) { - marker = p; - goto yy835; - } - if (yych == 0xED) { - marker = p; - goto yy837; - } - marker = p; - goto yy836; - } else { - if (yych <= 0xF0) { - marker = p; - goto yy838; - } - if (yych <= 0xF3) { - marker = p; - goto yy839; - } - if (yych <= 0xF4) { - marker = p; - goto yy840; - } - goto yy813; - } - } -yy819: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy819; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy813; - if (yych >= 0x0E) goto yy813; - } else { - if (yych <= 0xDF) goto yy823; - if (yych <= 0xE0) goto yy824; - goto yy825; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy826; - if (yych <= 0xEF) goto yy825; - goto yy827; - } else { - if (yych <= 0xF3) goto yy828; - if (yych <= 0xF4) goto yy829; - goto yy813; - } - } -yy821: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -yy823: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy819; - goto yy813; -yy824: - yych = *++p; - if (yych <= 0x9F) goto yy813; - if (yych <= 0xBF) goto yy823; - goto yy813; -yy825: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy823; - goto yy813; -yy826: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x9F) goto yy823; - goto yy813; -yy827: - yych = *++p; - if (yych <= 0x8F) goto yy813; - if (yych <= 0xBF) goto yy825; - goto yy813; -yy828: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy825; - goto yy813; -yy829: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x8F) goto yy825; - goto yy813; -yy830: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy830; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy813; - if (yych >= 0x0E) goto yy813; - } else { - if (yych <= 0xDF) goto yy834; - if (yych <= 0xE0) goto yy835; - goto yy836; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy837; - if (yych <= 0xEF) goto yy836; - goto yy838; - } else { - if (yych <= 0xF3) goto yy839; - if (yych <= 0xF4) goto yy840; - goto yy813; - } - } -yy832: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -yy834: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy830; - goto yy813; -yy835: - yych = *++p; - if (yych <= 0x9F) goto yy813; - if (yych <= 0xBF) goto yy834; - goto yy813; -yy836: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy834; - goto yy813; -yy837: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x9F) goto yy834; - goto yy813; -yy838: - yych = *++p; - if (yych <= 0x8F) goto yy813; - if (yych <= 0xBF) goto yy836; - goto yy813; -yy839: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy836; - goto yy813; -yy840: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x8F) goto yy836; - goto yy813; -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 192, 192, 0, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 144, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 224, 192, 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 yy712; + if (yych == '~') + goto yy713; + ++p; + yy711 : { return 0; } + yy712: + yych = *(marker = ++p); + if (yych == '`') + goto yy714; + goto yy711; + yy713: + yych = *(marker = ++p); + if (yych == '~') + goto yy716; + goto yy711; + yy714: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy717; + } + yy715: + p = marker; + goto yy711; + yy716: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy718; + } + goto yy715; + yy717: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy717; + } + if (yych <= 0xDF) { + if (yych <= '\f') { + if (yych <= 0x00) + goto yy715; + if (yych == '\n') { + marker = p; + goto yy720; + } + marker = p; + goto yy719; + } else { + if (yych <= '\r') { + marker = p; + goto yy720; + } + if (yych <= 0x7F) { + marker = p; + goto yy719; + } + if (yych <= 0xC1) + goto yy715; + marker = p; + goto yy721; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) { + marker = p; + goto yy722; + } + if (yych == 0xED) { + marker = p; + goto yy724; + } + marker = p; + goto yy723; + } else { + if (yych <= 0xF0) { + marker = p; + goto yy725; + } + if (yych <= 0xF3) { + marker = p; + goto yy726; + } + if (yych <= 0xF4) { + marker = p; + goto yy727; + } + goto yy715; + } + } + yy718: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy718; + } + if (yych <= 0xDF) { + if (yych <= '\f') { + if (yych <= 0x00) + goto yy715; + if (yych == '\n') { + marker = p; + goto yy729; + } + marker = p; + goto yy728; + } else { + if (yych <= '\r') { + marker = p; + goto yy729; + } + if (yych <= 0x7F) { + marker = p; + goto yy728; + } + if (yych <= 0xC1) + goto yy715; + marker = p; + goto yy730; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) { + marker = p; + goto yy731; + } + if (yych == 0xED) { + marker = p; + goto yy733; + } + marker = p; + goto yy732; + } else { + if (yych <= 0xF0) { + marker = p; + goto yy734; + } + if (yych <= 0xF3) { + marker = p; + goto yy735; + } + if (yych <= 0xF4) { + marker = p; + goto yy736; + } + goto yy715; + } + } + yy719: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy719; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy715; + if (yych >= 0x0E) + goto yy715; + } else { + if (yych <= 0xDF) + goto yy721; + if (yych <= 0xE0) + goto yy722; + goto yy723; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy724; + if (yych <= 0xEF) + goto yy723; + goto yy725; + } else { + if (yych <= 0xF3) + goto yy726; + if (yych <= 0xF4) + goto yy727; + goto yy715; + } + } + yy720: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + yy721: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy719; + goto yy715; + yy722: + yych = *++p; + if (yych <= 0x9F) + goto yy715; + if (yych <= 0xBF) + goto yy721; + goto yy715; + yy723: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy721; + goto yy715; + yy724: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x9F) + goto yy721; + goto yy715; + yy725: + yych = *++p; + if (yych <= 0x8F) + goto yy715; + if (yych <= 0xBF) + goto yy723; + goto yy715; + yy726: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy723; + goto yy715; + yy727: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x8F) + goto yy723; + goto yy715; + yy728: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy728; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy715; + if (yych >= 0x0E) + goto yy715; + } else { + if (yych <= 0xDF) + goto yy730; + if (yych <= 0xE0) + goto yy731; + goto yy732; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy733; + if (yych <= 0xEF) + goto yy732; + goto yy734; + } else { + if (yych <= 0xF3) + goto yy735; + if (yych <= 0xF4) + goto yy736; + goto yy715; + } + } + yy729: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + yy730: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy728; + goto yy715; + yy731: + yych = *++p; + if (yych <= 0x9F) + goto yy715; + if (yych <= 0xBF) + goto yy730; + goto yy715; + yy732: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy730; + goto yy715; + yy733: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x9F) + goto yy730; + goto yy715; + yy734: + yych = *++p; + if (yych <= 0x8F) + goto yy715; + if (yych <= 0xBF) + goto yy732; + goto yy715; + yy735: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy732; + goto yy715; + yy736: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x8F) + goto yy732; + goto yy715; + } } // Scan a closing code fence with length at least len. -bufsize_t _scan_close_code_fence(const unsigned char *p) -{ +bufsize_t _scan_close_code_fence(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 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, - 32, 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, 64, 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, 0, - }; - yych = *p; - if (yych == '`') goto yy845; - if (yych == '~') goto yy846; - ++p; -yy844: - { return 0; } -yy845: - yych = *(marker = ++p); - if (yych == '`') goto yy847; - goto yy844; -yy846: - yych = *(marker = ++p); - if (yych == '~') goto yy849; - goto yy844; -yy847: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy850; - } -yy848: - p = marker; - goto yy844; -yy849: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy852; - } - goto yy848; -yy850: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy850; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy848; - if (yych <= '\t') { - marker = p; - goto yy854; - } - if (yych <= '\n') { - marker = p; - goto yy856; - } - goto yy848; - } else { - if (yych <= '\r') { - marker = p; - goto yy856; - } - if (yych == ' ') { - marker = p; - goto yy854; - } - goto yy848; - } -yy852: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy852; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy848; - if (yych <= '\t') { - marker = p; - goto yy858; - } - if (yych <= '\n') { - marker = p; - goto yy860; - } - goto yy848; - } else { - if (yych <= '\r') { - marker = p; - goto yy860; - } - if (yych == ' ') { - marker = p; - goto yy858; - } - goto yy848; - } -yy854: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy854; - } - if (yych <= 0x08) goto yy848; - if (yych <= '\n') goto yy856; - if (yych != '\r') goto yy848; -yy856: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -yy858: - yych = *++p; - if (yych <= '\f') { - if (yych <= 0x08) goto yy848; - if (yych <= '\t') goto yy858; - if (yych >= '\v') goto yy848; - } else { - if (yych <= '\r') goto yy860; - if (yych == ' ') goto yy858; - goto yy848; - } -yy860: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 32, 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, 64, 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, 0, + }; + yych = *p; + if (yych == '`') + goto yy739; + if (yych == '~') + goto yy740; + ++p; + yy738 : { return 0; } + yy739: + yych = *(marker = ++p); + if (yych == '`') + goto yy741; + goto yy738; + yy740: + yych = *(marker = ++p); + if (yych == '~') + goto yy743; + goto yy738; + yy741: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy744; + } + yy742: + p = marker; + goto yy738; + yy743: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy745; + } + goto yy742; + yy744: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy744; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy742; + if (yych <= '\t') { + marker = p; + goto yy746; + } + if (yych <= '\n') { + marker = p; + goto yy747; + } + goto yy742; + } else { + if (yych <= '\r') { + marker = p; + goto yy747; + } + if (yych == ' ') { + marker = p; + goto yy746; + } + goto yy742; + } + yy745: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy745; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy742; + if (yych <= '\t') { + marker = p; + goto yy748; + } + if (yych <= '\n') { + marker = p; + goto yy749; + } + goto yy742; + } else { + if (yych <= '\r') { + marker = p; + goto yy749; + } + if (yych == ' ') { + marker = p; + goto yy748; + } + goto yy742; + } + yy746: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy746; + } + if (yych <= 0x08) + goto yy742; + if (yych <= '\n') + goto yy747; + if (yych != '\r') + goto yy742; + yy747: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + yy748: + yych = *++p; + if (yych <= '\f') { + if (yych <= 0x08) + goto yy742; + if (yych <= '\t') + goto yy748; + if (yych >= '\v') + goto yy742; + } else { + if (yych <= '\r') + goto yy749; + if (yych == ' ') + goto yy748; + goto yy742; + } + yy749: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + } } // Scans an entity. // Returns number of chars matched. -bufsize_t _scan_entity(const unsigned char *p) -{ +bufsize_t _scan_entity(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - yych = *p; - if (yych == '&') goto yy866; - ++p; -yy865: - { return 0; } -yy866: - yych = *(marker = ++p); - if (yych <= '@') { - if (yych != '#') goto yy865; - } else { - if (yych <= 'Z') goto yy869; - if (yych <= '`') goto yy865; - if (yych <= 'z') goto yy869; - goto yy865; - } - yych = *++p; - if (yych <= 'W') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy870; - } else { - if (yych <= 'X') goto yy871; - if (yych == 'x') goto yy871; - } -yy868: - p = marker; - goto yy865; -yy869: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy872; - goto yy868; - } else { - if (yych <= 'Z') goto yy872; - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy872; - goto yy868; - } -yy870: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy873; - if (yych == ';') goto yy874; - goto yy868; -yy871: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy876; - goto yy868; - } else { - if (yych <= 'F') goto yy876; - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy876; - goto yy868; - } -yy872: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy877; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy877; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy877; - goto yy868; - } - } -yy873: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy878; - if (yych != ';') goto yy868; -yy874: - ++p; - { return (bufsize_t)(p - start); } -yy876: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy879; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy879; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy879; - goto yy868; - } - } -yy877: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy880; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy880; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy880; - goto yy868; - } - } -yy878: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy881; - if (yych == ';') goto yy874; - goto yy868; -yy879: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy882; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy882; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy882; - goto yy868; - } - } -yy880: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy883; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy883; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy883; - goto yy868; - } - } -yy881: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy884; - if (yych == ';') goto yy874; - goto yy868; -yy882: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy885; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy885; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy885; - goto yy868; - } - } -yy883: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy886; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy886; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy886; - goto yy868; - } - } -yy884: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy887; - if (yych == ';') goto yy874; - goto yy868; -yy885: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy888; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy888; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy888; - goto yy868; - } - } -yy886: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy889; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy889; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy889; - goto yy868; - } - } -yy887: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy890; - if (yych == ';') goto yy874; - goto yy868; -yy888: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy890; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy890; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy890; - goto yy868; - } - } -yy889: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy891; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy891; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy891; - goto yy868; - } - } -yy890: - yych = *++p; - if (yych == ';') goto yy874; - goto yy868; -yy891: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy892; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy892: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy893; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy893: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy894; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy894: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy895; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy895: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy896; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy896: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy897; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy897: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy898; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy898: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy899; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy899: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy900; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy900: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy901; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy901: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy902; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy902: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy903; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy903: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy904; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy904: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy905; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy905: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy906; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy906: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy907; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy907: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy908; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy908: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy909; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy909: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy910; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy910: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy911; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy911: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy912; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy912: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy913; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy913: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy914; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy914: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy890; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy890; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy890; - goto yy868; - } - } -} - + { + unsigned char yych; + yych = *p; + if (yych == '&') + goto yy752; + ++p; + yy751 : { return 0; } + yy752: + yych = *(marker = ++p); + if (yych <= '@') { + if (yych != '#') + goto yy751; + } else { + if (yych <= 'Z') + goto yy754; + if (yych <= '`') + goto yy751; + if (yych <= 'z') + goto yy754; + goto yy751; + } + yych = *++p; + if (yych <= 'W') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy755; + } else { + if (yych <= 'X') + goto yy756; + if (yych == 'x') + goto yy756; + } + yy753: + p = marker; + goto yy751; + yy754: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy757; + goto yy753; + } else { + if (yych <= 'Z') + goto yy757; + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy757; + goto yy753; + } + yy755: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy758; + if (yych == ';') + goto yy759; + goto yy753; + yy756: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy760; + goto yy753; + } else { + if (yych <= 'F') + goto yy760; + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy760; + goto yy753; + } + yy757: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy761; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy761; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy761; + goto yy753; + } + } + yy758: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy762; + if (yych != ';') + goto yy753; + yy759: + ++p; + { return (bufsize_t)(p - start); } + yy760: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy763; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy763; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy763; + goto yy753; + } + } + yy761: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy764; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy764; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy764; + goto yy753; + } + } + yy762: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy765; + if (yych == ';') + goto yy759; + goto yy753; + yy763: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy766; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy766; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy766; + goto yy753; + } + } + yy764: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy767; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy767; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy767; + goto yy753; + } + } + yy765: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy768; + if (yych == ';') + goto yy759; + goto yy753; + yy766: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy769; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy769; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy769; + goto yy753; + } + } + yy767: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy770; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy770; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy770; + goto yy753; + } + } + yy768: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy771; + if (yych == ';') + goto yy759; + goto yy753; + yy769: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy772; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy772; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy772; + goto yy753; + } + } + yy770: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy773; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy773; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy773; + goto yy753; + } + } + yy771: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy774; + if (yych == ';') + goto yy759; + goto yy753; + yy772: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy774; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy774; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy774; + goto yy753; + } + } + yy773: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy775; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy775; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy775; + goto yy753; + } + } + yy774: + yych = *++p; + if (yych == ';') + goto yy759; + goto yy753; + yy775: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy776; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy776: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy777; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy777: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy778; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy778: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy779; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy779: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy780; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy780: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy781; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy781: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy782; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy782: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy783; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy783: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy784; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy784: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy785; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy785: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy786; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy786: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy787; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy787: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy788; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy788: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy789; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy789: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy790; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy790: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy791; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy791: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy792; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy792: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy793; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy793: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy794; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy794: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy795; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy795: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy796; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy796: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy797; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy797: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy798; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy798: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy774; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy774; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy774; + goto yy753; + } + } + } } // Returns positive value if a URL begins in a way that is potentially // dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0. -bufsize_t _scan_dangerous_url(const unsigned char *p) -{ +bufsize_t _scan_dangerous_url(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - yych = *p; - if (yych <= 'V') { - if (yych <= 'F') { - if (yych == 'D') goto yy919; - if (yych >= 'F') goto yy920; - } else { - if (yych == 'J') goto yy921; - if (yych >= 'V') goto yy922; - } - } else { - if (yych <= 'f') { - if (yych == 'd') goto yy919; - if (yych >= 'f') goto yy920; - } else { - if (yych <= 'j') { - if (yych >= 'j') goto yy921; - } else { - if (yych == 'v') goto yy922; - } - } - } - ++p; -yy918: - { return 0; } -yy919: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'A') goto yy923; - if (yych == 'a') goto yy923; - goto yy918; -yy920: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'I') goto yy925; - if (yych == 'i') goto yy925; - goto yy918; -yy921: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'A') goto yy926; - if (yych == 'a') goto yy926; - goto yy918; -yy922: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'B') goto yy927; - if (yych == 'b') goto yy927; - goto yy918; -yy923: - yych = *++p; - if (yych == 'T') goto yy928; - if (yych == 't') goto yy928; -yy924: - p = marker; - if (yyaccept == 0) { - goto yy918; - } else { - goto yy936; - } -yy925: - yych = *++p; - if (yych == 'L') goto yy929; - if (yych == 'l') goto yy929; - goto yy924; -yy926: - yych = *++p; - if (yych == 'V') goto yy930; - if (yych == 'v') goto yy930; - goto yy924; -yy927: - yych = *++p; - if (yych == 'S') goto yy931; - if (yych == 's') goto yy931; - goto yy924; -yy928: - yych = *++p; - if (yych == 'A') goto yy932; - if (yych == 'a') goto yy932; - goto yy924; -yy929: - yych = *++p; - if (yych == 'E') goto yy933; - if (yych == 'e') goto yy933; - goto yy924; -yy930: - yych = *++p; - if (yych == 'A') goto yy927; - if (yych == 'a') goto yy927; - goto yy924; -yy931: - yych = *++p; - if (yych == 'C') goto yy934; - if (yych == 'c') goto yy934; - goto yy924; -yy932: - yych = *++p; - if (yych == ':') goto yy935; - goto yy924; -yy933: - yych = *++p; - if (yych == ':') goto yy937; - goto yy924; -yy934: - yych = *++p; - if (yych == 'R') goto yy938; - if (yych == 'r') goto yy938; - goto yy924; -yy935: - yyaccept = 1; - yych = *(marker = ++p); - if (yych == 'I') goto yy939; - if (yych == 'i') goto yy939; -yy936: - { return (bufsize_t)(p - start); } -yy937: - ++p; - goto yy936; -yy938: - yych = *++p; - if (yych == 'I') goto yy940; - if (yych == 'i') goto yy940; - goto yy924; -yy939: - yych = *++p; - if (yych == 'M') goto yy941; - if (yych == 'm') goto yy941; - goto yy924; -yy940: - yych = *++p; - if (yych == 'P') goto yy942; - if (yych == 'p') goto yy942; - goto yy924; -yy941: - yych = *++p; - if (yych == 'A') goto yy943; - if (yych == 'a') goto yy943; - goto yy924; -yy942: - yych = *++p; - if (yych == 'T') goto yy933; - if (yych == 't') goto yy933; - goto yy924; -yy943: - yych = *++p; - if (yych == 'G') goto yy944; - if (yych != 'g') goto yy924; -yy944: - yych = *++p; - if (yych == 'E') goto yy945; - if (yych != 'e') goto yy924; -yy945: - yych = *++p; - if (yych != '/') goto yy924; - yych = *++p; - if (yych <= 'W') { - if (yych <= 'J') { - if (yych == 'G') goto yy947; - if (yych <= 'I') goto yy924; - goto yy948; - } else { - if (yych == 'P') goto yy949; - if (yych <= 'V') goto yy924; - goto yy950; - } - } else { - if (yych <= 'j') { - if (yych == 'g') goto yy947; - if (yych <= 'i') goto yy924; - goto yy948; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy924; - goto yy949; - } else { - if (yych == 'w') goto yy950; - goto yy924; - } - } - } -yy947: - yych = *++p; - if (yych == 'I') goto yy951; - if (yych == 'i') goto yy951; - goto yy924; -yy948: - yych = *++p; - if (yych == 'P') goto yy952; - if (yych == 'p') goto yy952; - goto yy924; -yy949: - yych = *++p; - if (yych == 'N') goto yy953; - if (yych == 'n') goto yy953; - goto yy924; -yy950: - yych = *++p; - if (yych == 'E') goto yy954; - if (yych == 'e') goto yy954; - goto yy924; -yy951: - yych = *++p; - if (yych == 'F') goto yy955; - if (yych == 'f') goto yy955; - goto yy924; -yy952: - yych = *++p; - if (yych == 'E') goto yy953; - if (yych != 'e') goto yy924; -yy953: - yych = *++p; - if (yych == 'G') goto yy955; - if (yych == 'g') goto yy955; - goto yy924; -yy954: - yych = *++p; - if (yych == 'B') goto yy957; - if (yych == 'b') goto yy957; - goto yy924; -yy955: - ++p; - { return 0; } -yy957: - yych = *++p; - if (yych == 'P') goto yy955; - if (yych == 'p') goto yy955; - goto yy924; -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + yych = *p; + if (yych <= 'V') { + if (yych <= 'F') { + if (yych == 'D') + goto yy801; + if (yych >= 'F') + goto yy802; + } else { + if (yych == 'J') + goto yy803; + if (yych >= 'V') + goto yy804; + } + } else { + if (yych <= 'f') { + if (yych == 'd') + goto yy801; + if (yych >= 'f') + goto yy802; + } else { + if (yych <= 'j') { + if (yych >= 'j') + goto yy803; + } else { + if (yych == 'v') + goto yy804; + } + } + } + ++p; + yy800 : { return 0; } + yy801: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'A') + goto yy805; + if (yych == 'a') + goto yy805; + goto yy800; + yy802: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'I') + goto yy807; + if (yych == 'i') + goto yy807; + goto yy800; + yy803: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'A') + goto yy808; + if (yych == 'a') + goto yy808; + goto yy800; + yy804: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'B') + goto yy809; + if (yych == 'b') + goto yy809; + goto yy800; + yy805: + yych = *++p; + if (yych == 'T') + goto yy810; + if (yych == 't') + goto yy810; + yy806: + p = marker; + if (yyaccept == 0) { + goto yy800; + } else { + goto yy818; + } + yy807: + yych = *++p; + if (yych == 'L') + goto yy811; + if (yych == 'l') + goto yy811; + goto yy806; + yy808: + yych = *++p; + if (yych == 'V') + goto yy812; + if (yych == 'v') + goto yy812; + goto yy806; + yy809: + yych = *++p; + if (yych == 'S') + goto yy813; + if (yych == 's') + goto yy813; + goto yy806; + yy810: + yych = *++p; + if (yych == 'A') + goto yy814; + if (yych == 'a') + goto yy814; + goto yy806; + yy811: + yych = *++p; + if (yych == 'E') + goto yy815; + if (yych == 'e') + goto yy815; + goto yy806; + yy812: + yych = *++p; + if (yych == 'A') + goto yy809; + if (yych == 'a') + goto yy809; + goto yy806; + yy813: + yych = *++p; + if (yych == 'C') + goto yy816; + if (yych == 'c') + goto yy816; + goto yy806; + yy814: + yych = *++p; + if (yych == ':') + goto yy817; + goto yy806; + yy815: + yych = *++p; + if (yych == ':') + goto yy819; + goto yy806; + yy816: + yych = *++p; + if (yych == 'R') + goto yy820; + if (yych == 'r') + goto yy820; + goto yy806; + yy817: + yyaccept = 1; + yych = *(marker = ++p); + if (yych == 'I') + goto yy821; + if (yych == 'i') + goto yy821; + yy818 : { return (bufsize_t)(p - start); } + yy819: + ++p; + goto yy818; + yy820: + yych = *++p; + if (yych == 'I') + goto yy822; + if (yych == 'i') + goto yy822; + goto yy806; + yy821: + yych = *++p; + if (yych == 'M') + goto yy823; + if (yych == 'm') + goto yy823; + goto yy806; + yy822: + yych = *++p; + if (yych == 'P') + goto yy824; + if (yych == 'p') + goto yy824; + goto yy806; + yy823: + yych = *++p; + if (yych == 'A') + goto yy825; + if (yych == 'a') + goto yy825; + goto yy806; + yy824: + yych = *++p; + if (yych == 'T') + goto yy815; + if (yych == 't') + goto yy815; + goto yy806; + yy825: + yych = *++p; + if (yych == 'G') + goto yy826; + if (yych != 'g') + goto yy806; + yy826: + yych = *++p; + if (yych == 'E') + goto yy827; + if (yych != 'e') + goto yy806; + yy827: + yych = *++p; + if (yych != '/') + goto yy806; + yych = *++p; + if (yych <= 'W') { + if (yych <= 'J') { + if (yych == 'G') + goto yy828; + if (yych <= 'I') + goto yy806; + goto yy829; + } else { + if (yych == 'P') + goto yy830; + if (yych <= 'V') + goto yy806; + goto yy831; + } + } else { + if (yych <= 'j') { + if (yych == 'g') + goto yy828; + if (yych <= 'i') + goto yy806; + goto yy829; + } else { + if (yych <= 'p') { + if (yych <= 'o') + goto yy806; + goto yy830; + } else { + if (yych == 'w') + goto yy831; + goto yy806; + } + } + } + yy828: + yych = *++p; + if (yych == 'I') + goto yy832; + if (yych == 'i') + goto yy832; + goto yy806; + yy829: + yych = *++p; + if (yych == 'P') + goto yy833; + if (yych == 'p') + goto yy833; + goto yy806; + yy830: + yych = *++p; + if (yych == 'N') + goto yy834; + if (yych == 'n') + goto yy834; + goto yy806; + yy831: + yych = *++p; + if (yych == 'E') + goto yy835; + if (yych == 'e') + goto yy835; + goto yy806; + yy832: + yych = *++p; + if (yych == 'F') + goto yy836; + if (yych == 'f') + goto yy836; + goto yy806; + yy833: + yych = *++p; + if (yych == 'E') + goto yy834; + if (yych != 'e') + goto yy806; + yy834: + yych = *++p; + if (yych == 'G') + goto yy836; + if (yych == 'g') + goto yy836; + goto yy806; + yy835: + yych = *++p; + if (yych == 'B') + goto yy837; + if (yych == 'b') + goto yy837; + goto yy806; + yy836: + ++p; + { return 0; } + yy837: + yych = *++p; + if (yych == 'P') + goto yy836; + if (yych == 'p') + goto yy836; + goto yy806; + } } // Scans a footnote definition opening. -bufsize_t _scan_footnote_definition(const unsigned char *p) -{ +bufsize_t _scan_footnote_definition(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 128, 0, 64, 64, 0, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 128, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 0, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 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 yy962; - ++p; -yy961: - { return 0; } -yy962: - yych = *(marker = ++p); - if (yych != '^') goto yy961; - yych = *++p; - if (yych != ']') goto yy966; -yy964: - p = marker; - goto yy961; -yy965: - yych = *++p; -yy966: - if (yybm[0+yych] & 64) { - goto yy965; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= ' ') goto yy964; - if (yych <= ']') goto yy974; - goto yy964; - } else { - if (yych <= 0xDF) goto yy967; - if (yych <= 0xE0) goto yy968; - goto yy969; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy970; - if (yych <= 0xEF) goto yy969; - goto yy971; - } else { - if (yych <= 0xF3) goto yy972; - if (yych <= 0xF4) goto yy973; - goto yy964; - } - } -yy967: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0xBF) goto yy965; - goto yy964; -yy968: - yych = *++p; - if (yych <= 0x9F) goto yy964; - if (yych <= 0xBF) goto yy967; - goto yy964; -yy969: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0xBF) goto yy967; - goto yy964; -yy970: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0x9F) goto yy967; - goto yy964; -yy971: - yych = *++p; - if (yych <= 0x8F) goto yy964; - if (yych <= 0xBF) goto yy969; - goto yy964; -yy972: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0xBF) goto yy969; - goto yy964; -yy973: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0x8F) goto yy969; - goto yy964; -yy974: - yych = *++p; - if (yych != ':') goto yy964; -yy975: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy975; - } - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 128, 0, 64, 64, 0, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 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 yy840; + ++p; + yy839 : { return 0; } + yy840: + yych = *(marker = ++p); + if (yych != '^') + goto yy839; + yych = *++p; + if (yych != ']') + goto yy843; + yy841: + p = marker; + goto yy839; + yy842: + yych = *++p; + yy843: + if (yybm[0 + yych] & 64) { + goto yy842; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= ' ') + goto yy841; + if (yych <= ']') + goto yy851; + goto yy841; + } else { + if (yych <= 0xDF) + goto yy844; + if (yych <= 0xE0) + goto yy845; + goto yy846; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy847; + if (yych <= 0xEF) + goto yy846; + goto yy848; + } else { + if (yych <= 0xF3) + goto yy849; + if (yych <= 0xF4) + goto yy850; + goto yy841; + } + } + yy844: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0xBF) + goto yy842; + goto yy841; + yy845: + yych = *++p; + if (yych <= 0x9F) + goto yy841; + if (yych <= 0xBF) + goto yy844; + goto yy841; + yy846: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0xBF) + goto yy844; + goto yy841; + yy847: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0x9F) + goto yy844; + goto yy841; + yy848: + yych = *++p; + if (yych <= 0x8F) + goto yy841; + if (yych <= 0xBF) + goto yy846; + goto yy841; + yy849: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0xBF) + goto yy846; + goto yy841; + yy850: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0x8F) + goto yy846; + goto yy841; + yy851: + yych = *++p; + if (yych != ':') + goto yy841; + yy852: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy852; + } + { return (bufsize_t)(p - start); } + } } diff --git a/src/scanners.h b/src/scanners.h index 8861f8dd3..7e6a10aeb 100644 --- a/src/scanners.h +++ b/src/scanners.h @@ -15,6 +15,10 @@ bufsize_t _scan_autolink_uri(const unsigned char *p); bufsize_t _scan_autolink_email(const unsigned char *p); bufsize_t _scan_html_tag(const unsigned char *p); bufsize_t _scan_liberal_html_tag(const unsigned char *p); +bufsize_t _scan_html_comment(const unsigned char *p); +bufsize_t _scan_html_pi(const unsigned char *p); +bufsize_t _scan_html_declaration(const unsigned char *p); +bufsize_t _scan_html_cdata(const unsigned char *p); bufsize_t _scan_html_block_start(const unsigned char *p); bufsize_t _scan_html_block_start_7(const unsigned char *p); bufsize_t _scan_html_block_end_1(const unsigned char *p); @@ -37,6 +41,10 @@ bufsize_t _scan_footnote_definition(const unsigned char *p); #define scan_autolink_email(c, n) _scan_at(&_scan_autolink_email, c, n) #define scan_html_tag(c, n) _scan_at(&_scan_html_tag, c, n) #define scan_liberal_html_tag(c, n) _scan_at(&_scan_liberal_html_tag, c, n) +#define scan_html_comment(c, n) _scan_at(&_scan_html_comment, c, n) +#define scan_html_pi(c, n) _scan_at(&_scan_html_pi, c, n) +#define scan_html_declaration(c, n) _scan_at(&_scan_html_declaration, c, n) +#define scan_html_cdata(c, n) _scan_at(&_scan_html_cdata, c, n) #define scan_html_block_start(c, n) _scan_at(&_scan_html_block_start, c, n) #define scan_html_block_start_7(c, n) _scan_at(&_scan_html_block_start_7, c, n) #define scan_html_block_end_1(c, n) _scan_at(&_scan_html_block_end_1, c, n) diff --git a/src/scanners.re b/src/scanners.re index 241a10fda..ac4b9cf4c 100644 --- a/src/scanners.re +++ b/src/scanners.re @@ -37,7 +37,7 @@ bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, tagname = [A-Za-z][A-Za-z0-9-]*; - blocktagname = 'address'|'article'|'aside'|'base'|'basefont'|'blockquote'|'body'|'caption'|'center'|'col'|'colgroup'|'dd'|'details'|'dialog'|'dir'|'div'|'dl'|'dt'|'fieldset'|'figcaption'|'figure'|'footer'|'form'|'frame'|'frameset'|'h1'|'h2'|'h3'|'h4'|'h5'|'h6'|'head'|'header'|'hr'|'html'|'iframe'|'legend'|'li'|'link'|'main'|'menu'|'menuitem'|'nav'|'noframes'|'ol'|'optgroup'|'option'|'p'|'param'|'section'|'title'|'summary'|'table'|'tbody'|'td'|'tfoot'|'th'|'thead'|'title'|'tr'|'track'|'ul'; + blocktagname = 'address'|'article'|'aside'|'base'|'basefont'|'blockquote'|'body'|'caption'|'center'|'col'|'colgroup'|'dd'|'details'|'dialog'|'dir'|'div'|'dl'|'dt'|'fieldset'|'figcaption'|'figure'|'footer'|'form'|'frame'|'frameset'|'h1'|'h2'|'h3'|'h4'|'h5'|'h6'|'head'|'header'|'hr'|'html'|'iframe'|'legend'|'li'|'link'|'main'|'menu'|'menuitem'|'nav'|'noframes'|'ol'|'optgroup'|'option'|'p'|'param'|'section'|'source'|'title'|'summary'|'table'|'tbody'|'td'|'tfoot'|'th'|'thead'|'title'|'tr'|'track'|'ul'; attributename = [a-zA-Z_:][a-zA-Z0-9:._-]*; @@ -54,16 +54,15 @@ bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, opentag = tagname attribute* spacechar* [/]? [>]; closetag = [/] tagname spacechar* [>]; - htmlcomment = "!---->" | ("!--" ([-]? [^\x00>-]) ([-]? [^\x00-])* "-->"); + htmlcomment = "--" ([^\x00-]+ | "-" [^\x00-] | "--" [^\x00>])* "-->"; - processinginstruction = "?" ([^?>\x00]+ | [?][^>\x00] | [>])* "?>"; + processinginstruction = ([^?>\x00]+ | [?][^>\x00] | [>])+; - declaration = "!" [A-Z]+ spacechar+ [^>\x00]* ">"; + declaration = [A-Z]+ spacechar+ [^>\x00]*; - cdata = "![CDATA[" ([^\]\x00]+ | "]" [^\]\x00] | "]]" [^>\x00])* "]]>"; + cdata = "CDATA[" ([^\]\x00]+ | "]" [^\]\x00] | "]]" [^>\x00])*; - htmltag = opentag | closetag | htmlcomment | processinginstruction | - declaration | cdata; + htmltag = opentag | closetag; in_parens_nosp = [(] (reg_char|escaped_char|[\\])* [)]; @@ -133,6 +132,46 @@ bufsize_t _scan_liberal_html_tag(const unsigned char *p) */ } +bufsize_t _scan_html_comment(const unsigned char *p) +{ + const unsigned char *marker = NULL; + const unsigned char *start = p; +/*!re2c + htmlcomment { return (bufsize_t)(p - start); } + * { return 0; } +*/ +} + +bufsize_t _scan_html_pi(const unsigned char *p) +{ + const unsigned char *marker = NULL; + const unsigned char *start = p; +/*!re2c + processinginstruction { return (bufsize_t)(p - start); } + * { return 0; } +*/ +} + +bufsize_t _scan_html_declaration(const unsigned char *p) +{ + const unsigned char *marker = NULL; + const unsigned char *start = p; +/*!re2c + declaration { return (bufsize_t)(p - start); } + * { return 0; } +*/ +} + +bufsize_t _scan_html_cdata(const unsigned char *p) +{ + const unsigned char *marker = NULL; + const unsigned char *start = p; +/*!re2c + cdata { return (bufsize_t)(p - start); } + * { return 0; } +*/ +} + // Try to match an HTML block tag start line, returning // an integer code for the type of block (1-6, matching the spec). // #7 is handled by a separate function, below. @@ -140,7 +179,7 @@ bufsize_t _scan_html_block_start(const unsigned char *p) { const unsigned char *marker = NULL; /*!re2c - [<] ('script'|'pre'|'style') (spacechar | [>]) { return 1; } + [<] ('script'|'pre'|'textarea'|'style') (spacechar | [>]) { return 1; } '