diff options
-rw-r--r-- | src/inlines.c | 87 | ||||
-rw-r--r-- | src/scanners.c | 5126 | ||||
-rw-r--r-- | src/scanners.h | 2 | ||||
-rw-r--r-- | src/scanners.re | 15 | ||||
-rw-r--r-- | test/spec.txt | 27 |
5 files changed, 1593 insertions, 3664 deletions
diff --git a/src/inlines.c b/src/inlines.c index f1c863f..c9cccfe 100644 --- a/src/inlines.c +++ b/src/inlines.c @@ -823,7 +823,44 @@ noMatch: subj->pos = startpos; // rewind return 0; } +static bufsize_t manual_scan_link_url(cmark_chunk *input, bufsize_t offset) { + bufsize_t i = offset; + size_t nb_p = 0; + + if (i < input->len && input->data[i] == '<') { + ++i; + while (i < input->len) { + if (input->data[i] == '>') { + ++i; + break; + } else if (input->data[i] == '\\') + i += 2; + else if (cmark_isspace(input->data[i])) + return -1; + else + ++i; + } + } else { + while (i < input->len) { + if (input->data[i] == '\\') + i += 2; + else if (input->data[i] == '(') { + ++nb_p; ++i; + } else if (input->data[i] == ')') { + if (nb_p == 0) + break; + --nb_p; ++i; + } else if (cmark_isspace(input->data[i])) + break; + else + ++i; + } + } + if (i >= input->len) + return -1; + return i - offset; +} // Return a link, an image, or a literal close bracket. static cmark_node *handle_close_bracket(subject *subj) { bufsize_t initial_pos, after_link_text_pos; @@ -865,7 +902,7 @@ static cmark_node *handle_close_bracket(subject *subj) { // First, look for an inline link. if (peek_char(subj) == '(' && ((sps = scan_spacechars(&subj->input, subj->pos + 1)) > -1) && - ((n = scan_link_url(&subj->input, subj->pos + 1 + sps)) > -1)) { + ((n = manual_scan_link_url(&subj->input, subj->pos + 1 + sps)) > -1)) { // try to parse an explicit link: starturl = subj->pos + 1 + sps; // after ( @@ -996,31 +1033,31 @@ static cmark_node *handle_newline(subject *subj) { static bufsize_t subject_find_special_char(subject *subj, int options) { // "\r\n\\`&_*[]<!" static const int8_t SPECIAL_CHARS[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // " ' . - static const char SMART_PUNCT_CHARS[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; bufsize_t n = subj->pos + 1; @@ -1171,8 +1208,8 @@ bufsize_t cmark_parse_reference_inline(cmark_mem *mem, cmark_strbuf *input, // parse link url: spnl(&subj); - matchlen = scan_link_url(&subj.input, subj.pos); - if (matchlen) { + matchlen = manual_scan_link_url(&subj.input, subj.pos); + if (matchlen > 0) { url = cmark_chunk_dup(&subj.input, subj.pos, matchlen); subj.pos += matchlen; } else { diff --git a/src/scanners.c b/src/scanners.c index 21a433d..e929d21 100644 --- a/src/scanners.c +++ b/src/scanners.c @@ -1,7 +1,7 @@ /* Generated by re2c 0.15.3 */ -#include "scanners.h" -#include "chunk.h" #include <stdlib.h> +#include "chunk.h" +#include "scanners.h" bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset) { @@ -15233,2090 +15233,6 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) { } } -// Try to match a URL in a link or reference, return number of chars matched. -// This may optionally be contained in <..>; otherwise -// whitespace and unbalanced right parentheses aren't allowed. -// Newlines aren't ever allowed. -bufsize_t _scan_link_url(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, 0, 8, 128, 128, 8, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 8, 224, 224, 224, 224, 224, 224, 224, 128, 128, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 32, 224, 32, 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, 224, 224, 224, 16, 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, 224, 224, 224, 224, 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 = *(marker = p); - if (yych <= '[') { - if (yych <= ' ') { - if (yych <= '\f') { - if (yych == '\n') - goto yy952; - goto yy968; - } else { - if (yych <= '\r') - goto yy954; - if (yych <= 0x1F) - goto yy968; - goto yy954; - } - } else { - if (yych <= ')') { - if (yych <= '\'') - goto yy956; - if (yych <= '(') - goto yy966; - goto yy968; - } else { - if (yych == '<') - goto yy955; - goto yy956; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\\') - goto yy965; - if (yych <= 0x7F) - goto yy956; - } else { - if (yych <= 0xDF) - goto yy957; - if (yych <= 0xE0) - goto yy959; - goto yy960; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy964; - if (yych <= 0xEF) - goto yy960; - goto yy961; - } else { - if (yych <= 0xF3) - goto yy962; - if (yych <= 0xF4) - goto yy963; - } - } - } - yy951 : { return (bufsize_t)(p - start); } - yy952: - yyaccept = 0; - marker = ++p; - yych = *p; - yy953: - if (yybm[0 + yych] & 8) { - goto yy952; - } - if (yych <= 0x7F) { - if (yych <= ')') { - if (yych <= 0x1F) - goto yy951; - if (yych <= '\'') - goto yy980; - if (yych <= '(') - goto yy971; - goto yy951; - } else { - if (yych <= '<') { - if (yych <= ';') - goto yy980; - goto yy1016; - } else { - if (yych == '\\') - goto yy982; - goto yy980; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) { - if (yych <= 0xC1) - goto yy951; - goto yy983; - } else { - if (yych <= 0xE0) - goto yy984; - if (yych <= 0xEC) - goto yy985; - goto yy989; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy985; - goto yy986; - } else { - if (yych <= 0xF3) - goto yy987; - if (yych <= 0xF4) - goto yy988; - goto yy951; - } - } - } - yy954: - yyaccept = 0; - yych = *(marker = ++p); - goto yy953; - yy955: - yyaccept = 0; - yych = *(marker = ++p); - if (yybm[0 + yych] & 64) { - goto yy1016; - } - if (yych <= '>') { - if (yych <= '\r') { - if (yych <= 0x08) { - if (yych <= 0x00) - goto yy951; - goto yy1029; - } else { - if (yych <= '\n') - goto yy951; - if (yych <= '\f') - goto yy1029; - goto yy951; - } - } else { - if (yych <= '(') { - if (yych <= 0x1F) - goto yy1029; - if (yych <= ' ') - goto yy951; - goto yy1027; - } else { - if (yych <= ')') - goto yy1029; - if (yych <= '<') - goto yy980; - goto yy1018; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\\') - goto yy1015; - goto yy951; - } else { - if (yych <= 0xDF) - goto yy1020; - if (yych <= 0xE0) - goto yy1021; - goto yy1022; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy1026; - if (yych <= 0xEF) - goto yy1022; - goto yy1023; - } else { - if (yych <= 0xF3) - goto yy1024; - if (yych <= 0xF4) - goto yy1025; - goto yy951; - } - } - } - yy956: - yyaccept = 0; - yych = *(marker = ++p); - goto yy981; - yy957: - yych = *++p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy956; - yy958: - p = marker; - if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy951; - } else { - goto yy967; - } - } else { - goto yy1019; - } - yy959: - yych = *++p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy957; - goto yy958; - yy960: - yych = *++p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy957; - goto yy958; - yy961: - yych = *++p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy960; - goto yy958; - yy962: - yych = *++p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy960; - goto yy958; - yy963: - yych = *++p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy960; - goto yy958; - yy964: - yych = *++p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy957; - goto yy958; - yy965: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0xDF) { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy980; - if (yych <= '\r') - goto yy951; - goto yy980; - } else { - if (yych <= ' ') - goto yy951; - if (yych <= 0x7F) - goto yy980; - if (yych <= 0xC1) - goto yy951; - goto yy990; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy991; - if (yych == 0xED) - goto yy996; - goto yy992; - } else { - if (yych <= 0xF0) - goto yy993; - if (yych <= 0xF3) - goto yy994; - if (yych <= 0xF4) - goto yy995; - goto yy951; - } - } - yy966: - yyaccept = 1; - yych = *(marker = ++p); - if (yych <= '(') { - if (yych <= ' ') - goto yy967; - if (yych <= '\'') - goto yy972; - } else { - if (yych <= 0x7F) - goto yy972; - if (yych <= 0xC1) - goto yy967; - if (yych <= 0xF4) - goto yy972; - } - yy967 : { return 0; } - yy968: - yych = *++p; - goto yy967; - yy969: - ++p; - yych = *p; - if (yybm[0 + yych] & 16) { - goto yy969; - } - if (yych <= 0xE0) { - if (yych <= ')') { - if (yych <= ' ') - goto yy958; - if (yych >= ')') - goto yy997; - } else { - if (yych <= 0x7F) - goto yy971; - if (yych <= 0xC1) - goto yy958; - if (yych <= 0xDF) - goto yy973; - goto yy974; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy979; - goto yy975; - } else { - if (yych <= 0xF0) - goto yy976; - if (yych <= 0xF3) - goto yy977; - if (yych <= 0xF4) - goto yy978; - goto yy958; - } - } - yy971: - ++p; - yych = *p; - yy972: - if (yybm[0 + yych] & 32) { - goto yy971; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '(') - goto yy958; - if (yych <= ')') - goto yy980; - goto yy969; - } else { - if (yych <= 0xC1) - goto yy958; - if (yych >= 0xE0) - goto yy974; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy979; - goto yy975; - } else { - if (yych <= 0xF0) - goto yy976; - if (yych <= 0xF3) - goto yy977; - if (yych <= 0xF4) - goto yy978; - goto yy958; - } - } - yy973: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy971; - goto yy958; - yy974: - ++p; - yych = *p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy973; - goto yy958; - yy975: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy973; - goto yy958; - yy976: - ++p; - yych = *p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy975; - goto yy958; - yy977: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy975; - goto yy958; - yy978: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy975; - goto yy958; - yy979: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy973; - goto yy958; - yy980: - yyaccept = 0; - marker = ++p; - yych = *p; - yy981: - if (yych <= 0xC1) { - if (yych <= ')') { - if (yych <= ' ') - goto yy951; - if (yych <= '\'') - goto yy980; - if (yych <= '(') - goto yy971; - goto yy951; - } else { - if (yych == '\\') - goto yy982; - if (yych <= 0x7F) - goto yy980; - goto yy951; - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy983; - if (yych <= 0xE0) - goto yy984; - if (yych <= 0xEC) - goto yy985; - goto yy989; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy985; - goto yy986; - } else { - if (yych <= 0xF3) - goto yy987; - if (yych <= 0xF4) - goto yy988; - goto yy951; - } - } - } - yy982: - yyaccept = 0; - marker = ++p; - yych = *p; - if (yych <= 0xDF) { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy980; - if (yych <= '\r') - goto yy951; - goto yy980; - } else { - if (yych <= ' ') - goto yy951; - if (yych <= 0x7F) - goto yy980; - if (yych <= 0xC1) - goto yy951; - goto yy990; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy991; - if (yych == 0xED) - goto yy996; - goto yy992; - } else { - if (yych <= 0xF0) - goto yy993; - if (yych <= 0xF3) - goto yy994; - if (yych <= 0xF4) - goto yy995; - goto yy951; - } - } - yy983: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy980; - goto yy958; - yy984: - ++p; - yych = *p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy983; - goto yy958; - yy985: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy983; - goto yy958; - yy986: - ++p; - yych = *p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy985; - goto yy958; - yy987: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy985; - goto yy958; - yy988: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy985; - goto yy958; - yy989: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy983; - goto yy958; - yy990: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy980; - goto yy958; - yy991: - ++p; - yych = *p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy990; - goto yy958; - yy992: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy990; - goto yy958; - yy993: - ++p; - yych = *p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy992; - goto yy958; - yy994: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy992; - goto yy958; - yy995: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy992; - goto yy958; - yy996: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy990; - goto yy958; - yy997: - yyaccept = 0; - marker = ++p; - yych = *p; - yy998: - if (yych <= 0xC1) { - if (yych <= ')') { - if (yych <= ' ') - goto yy951; - if (yych <= '\'') - goto yy997; - if (yych <= '(') - goto yy971; - goto yy980; - } else { - if (yych == '\\') - goto yy999; - if (yych <= 0x7F) - goto yy997; - goto yy951; - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy1000; - if (yych <= 0xE0) - goto yy1001; - if (yych <= 0xEC) - goto yy1002; - goto yy1006; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy1002; - goto yy1003; - } else { - if (yych <= 0xF3) - goto yy1004; - if (yych <= 0xF4) - goto yy1005; - goto yy951; - } - } - } - yy999: - yyaccept = 0; - marker = ++p; - yych = *p; - if (yych <= 0xC1) { - if (yych <= ' ') { - if (yych <= 0x08) - goto yy980; - if (yych <= '\r') - goto yy951; - if (yych <= 0x1F) - goto yy980; - goto yy951; - } else { - if (yych == '\\') - goto yy1007; - if (yych <= 0x7F) - goto yy997; - goto yy951; - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy1008; - if (yych <= 0xE0) - goto yy1009; - if (yych <= 0xEC) - goto yy1010; - goto yy1014; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy1010; - goto yy1011; - } else { - if (yych <= 0xF3) - goto yy1012; - if (yych <= 0xF4) - goto yy1013; - goto yy951; - } - } - } - yy1000: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy997; - goto yy958; - yy1001: - ++p; - yych = *p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy1000; - goto yy958; - yy1002: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1000; - goto yy958; - yy1003: - ++p; - yych = *p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy1002; - goto yy958; - yy1004: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1002; - goto yy958; - yy1005: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy1002; - goto yy958; - yy1006: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy1000; - goto yy958; - yy1007: - yyaccept = 0; - marker = ++p; - yych = *p; - if (yych <= 0xDF) { - if (yych <= '[') { - if (yych <= ' ') - goto yy951; - if (yych == '(') - goto yy971; - goto yy997; - } else { - if (yych <= '\\') - goto yy999; - if (yych <= 0x7F) - goto yy997; - if (yych <= 0xC1) - goto yy951; - goto yy1000; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy1001; - if (yych == 0xED) - goto yy1006; - goto yy1002; - } else { - if (yych <= 0xF0) - goto yy1003; - if (yych <= 0xF3) - goto yy1004; - if (yych <= 0xF4) - goto yy1005; - goto yy951; - } - } - yy1008: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy997; - goto yy958; - yy1009: - ++p; - yych = *p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy1008; - goto yy958; - yy1010: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1008; - goto yy958; - yy1011: - ++p; - yych = *p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy1010; - goto yy958; - yy1012: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1010; - goto yy958; - yy1013: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy1010; - goto yy958; - yy1014: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy1008; - goto yy958; - yy1015: - yyaccept = 0; - marker = ++p; - yych = *p; - if (yych <= '\\') { - if (yych <= '\r') { - if (yych <= 0x08) { - if (yych <= 0x00) - goto yy980; - } else { - if (yych <= '\n') - goto yy951; - if (yych <= '\f') - goto yy1029; - goto yy951; - } - } else { - if (yych <= '=') { - if (yych == ' ') - goto yy951; - } else { - if (yych <= '>') - goto yy1073; - if (yych >= '\\') - goto yy1074; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych >= 0x80) - goto yy951; - } else { - if (yych <= 0xDF) - goto yy1075; - if (yych <= 0xE0) - goto yy1076; - goto yy1077; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy1081; - if (yych <= 0xEF) - goto yy1077; - goto yy1078; - } else { - if (yych <= 0xF3) - goto yy1079; - if (yych <= 0xF4) - goto yy1080; - goto yy951; - } - } - } - yy1016: - yyaccept = 0; - marker = ++p; - yych = *p; - if (yybm[0 + yych] & 64) { - goto yy1016; - } - if (yych <= '>') { - if (yych <= '\r') { - if (yych <= 0x08) { - if (yych <= 0x00) - goto yy951; - goto yy1029; - } else { - if (yych <= '\n') - goto yy951; - if (yych <= '\f') - goto yy1029; - goto yy951; - } - } else { - if (yych <= '(') { - if (yych <= 0x1F) - goto yy1029; - if (yych <= ' ') - goto yy951; - goto yy1027; - } else { - if (yych <= ')') - goto yy1029; - if (yych <= '<') - goto yy980; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\\') - goto yy1015; - goto yy951; - } else { - if (yych <= 0xDF) - goto yy1020; - if (yych <= 0xE0) - goto yy1021; - goto yy1022; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy1026; - if (yych <= 0xEF) - goto yy1022; - goto yy1023; - } else { - if (yych <= 0xF3) - goto yy1024; - if (yych <= 0xF4) - goto yy1025; - goto yy951; - } - } - } - yy1018: - yyaccept = 2; - yych = *(marker = ++p); - if (yych <= ')') { - if (yych <= ' ') - goto yy1019; - if (yych <= '(') - goto yy981; - } else { - if (yych <= 0x7F) - goto yy981; - if (yych <= 0xC1) - goto yy1019; - if (yych <= 0xF4) - goto yy981; - } - yy1019 : { return (bufsize_t)(p - start); } - yy1020: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1016; - goto yy958; - yy1021: - ++p; - yych = *p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy1020; - goto yy958; - yy1022: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1020; - goto yy958; - yy1023: - ++p; - yych = *p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy1022; - goto yy958; - yy1024: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1022; - goto yy958; - yy1025: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy1022; - goto yy958; - yy1026: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy1020; - goto yy958; - yy1027: - ++p; - yych = *p; - if (yych <= '=') { - if (yych <= 0x1F) { - if (yych <= '\n') { - if (yych <= 0x00) - goto yy958; - if (yych >= '\t') - goto yy958; - } else { - if (yych == '\r') - goto yy958; - } - } else { - if (yych <= '(') { - if (yych <= ' ') - goto yy958; - if (yych <= '\'') - goto yy1027; - } else { - if (yych <= ')') - goto yy1016; - if (yych == '<') - goto yy971; - goto yy1027; - } - } - } else { - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '>') - goto yy1042; - if (yych <= '[') - goto yy1027; - goto yy1043; - } else { - if (yych <= 0x7F) - goto yy1027; - if (yych <= 0xC1) - goto yy958; - if (yych <= 0xDF) - goto yy1045; - goto yy1046; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy1051; - goto yy1047; - } else { - if (yych <= 0xF0) - goto yy1048; - if (yych <= 0xF3) - goto yy1049; - if (yych <= 0xF4) - goto yy1050; - goto yy958; - } - } - } - yy1029: - ++p; - yych = *p; - if (yybm[0 + yych] & 128) { - goto yy1029; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '<') - goto yy958; - if (yych >= '?') - goto yy1032; - } else { - if (yych <= 0xC1) - goto yy958; - if (yych <= 0xDF) - goto yy1034; - goto yy1035; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy1040; - goto yy1036; - } else { - if (yych <= 0xF0) - goto yy1037; - if (yych <= 0xF3) - goto yy1038; - if (yych <= 0xF4) - goto yy1039; - goto yy958; - } - } - yy1031: - yych = *++p; - goto yy1019; - yy1032: - ++p; - yych = *p; - if (yych <= '\\') { - if (yych <= '\r') { - if (yych <= 0x08) { - if (yych <= 0x00) - goto yy958; - goto yy1029; - } else { - if (yych <= '\n') - goto yy958; - if (yych <= '\f') - goto yy1029; - goto yy958; - } - } else { - if (yych <= '=') { - if (yych == ' ') - goto yy958; - goto yy1029; - } else { - if (yych <= '>') - goto yy1041; - if (yych <= '[') - goto yy1029; - goto yy1032; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x7F) - goto yy1029; - goto yy958; - } else { - if (yych <= 0xDF) - goto yy1034; - if (yych <= 0xE0) - goto yy1035; - goto yy1036; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy1040; - if (yych <= 0xEF) - goto yy1036; - goto yy1037; - } else { - if (yych <= 0xF3) - goto yy1038; - if (yych <= 0xF4) - goto yy1039; - goto yy958; - } - } - } - yy1034: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1029; - goto yy958; - yy1035: - ++p; - yych = *p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy1034; - goto yy958; - yy1036: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1034; - goto yy958; - yy1037: - ++p; - yych = *p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy1036; - goto yy958; - yy1038: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1036; - goto yy958; - yy1039: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy1036; - goto yy958; - yy1040: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy1034; - goto yy958; - yy1041: - yyaccept = 2; - marker = ++p; - yych = *p; - if (yybm[0 + yych] & 128) { - goto yy1029; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '<') - goto yy1019; - if (yych <= '>') - goto yy1031; - goto yy1032; - } else { - if (yych <= 0xC1) - goto yy1019; - if (yych <= 0xDF) - goto yy1034; - goto yy1035; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy1040; - goto yy1036; - } else { - if (yych <= 0xF0) - goto yy1037; - if (yych <= 0xF3) - goto yy1038; - if (yych <= 0xF4) - goto yy1039; - goto yy1019; - } - } - yy1042: - yyaccept = 2; - yych = *(marker = ++p); - if (yych <= '(') { - if (yych <= ' ') - goto yy1019; - if (yych <= '\'') - goto yy972; - goto yy1019; - } else { - if (yych <= 0x7F) - goto yy972; - if (yych <= 0xC1) - goto yy1019; - if (yych <= 0xF4) - goto yy972; - goto yy1019; - } - yy1043: - ++p; - yych = *p; - if (yych <= '[') { - if (yych <= 0x1F) { - if (yych <= '\n') { - if (yych <= 0x00) - goto yy958; - if (yych <= 0x08) - goto yy1029; - goto yy958; - } else { - if (yych == '\r') - goto yy958; - goto yy1029; - } - } else { - if (yych <= ')') { - if (yych <= ' ') - goto yy958; - if (yych <= '(') - goto yy1027; - goto yy1052; - } else { - if (yych == '>') - goto yy1054; - goto yy1027; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\\') - goto yy1043; - if (yych <= 0x7F) - goto yy1027; - goto yy958; - } else { - if (yych <= 0xDF) - goto yy1045; - if (yych <= 0xE0) - goto yy1046; - goto yy1047; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy1051; - if (yych <= 0xEF) - goto yy1047; - goto yy1048; - } else { - if (yych <= 0xF3) - goto yy1049; - if (yych <= 0xF4) - goto yy1050; - goto yy958; - } - } - } - yy1045: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1027; - goto yy958; - yy1046: - ++p; - yych = *p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy1045; - goto yy958; - yy1047: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1045; - goto yy958; - yy1048: - ++p; - yych = *p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy1047; - goto yy958; - yy1049: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1047; - goto yy958; - yy1050: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy1047; - goto yy958; - yy1051: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy1045; - goto yy958; - yy1052: - yyaccept = 0; - marker = ++p; - yych = *p; - if (yych <= '=') { - if (yych <= 0x1F) { - if (yych <= '\n') { - if (yych <= 0x00) - goto yy951; - if (yych <= 0x08) - goto yy1029; - goto yy951; - } else { - if (yych == '\r') - goto yy951; - goto yy1029; - } - } else { - if (yych <= '(') { - if (yych <= ' ') - goto yy951; - if (yych <= '\'') - goto yy1052; - goto yy1027; - } else { - if (yych <= ')') - goto yy1016; - if (yych == '<') - goto yy997; - goto yy1052; - } - } - } else { - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '>') - goto yy1055; - if (yych <= '[') - goto yy1052; - goto yy1056; - } else { - if (yych <= 0x7F) - goto yy1052; - if (yych <= 0xC1) - goto yy951; - if (yych <= 0xDF) - goto yy1057; - goto yy1058; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy1063; - goto yy1059; - } else { - if (yych <= 0xF0) - goto yy1060; - if (yych <= 0xF3) - goto yy1061; - if (yych <= 0xF4) - goto yy1062; - goto yy951; - } - } - } - yy1054: - yyaccept = 2; - marker = ++p; - yych = *p; - if (yych <= '=') { - if (yych <= 0x1F) { - if (yych <= '\n') { - if (yych <= 0x00) - goto yy1019; - if (yych <= 0x08) - goto yy1029; - goto yy1019; - } else { - if (yych == '\r') - goto yy1019; - goto yy1029; - } - } else { - if (yych <= '(') { - if (yych <= ' ') - goto yy1019; - if (yych <= '\'') - goto yy1027; - goto yy1029; - } else { - if (yych <= ')') - goto yy1016; - if (yych == '<') - goto yy971; - goto yy1027; - } - } - } else { - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '>') - goto yy1042; - if (yych <= '[') - goto yy1027; - goto yy1043; - } else { - if (yych <= 0x7F) - goto yy1027; - if (yych <= 0xC1) - goto yy1019; - if (yych <= 0xDF) - goto yy1045; - goto yy1046; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy1051; - goto yy1047; - } else { - if (yych <= 0xF0) - goto yy1048; - if (yych <= 0xF3) - goto yy1049; - if (yych <= 0xF4) - goto yy1050; - goto yy1019; - } - } - } - yy1055: - yyaccept = 2; - yych = *(marker = ++p); - if (yych <= ' ') - goto yy1019; - if (yych <= 0x7F) - goto yy998; - if (yych <= 0xC1) - goto yy1019; - if (yych <= 0xF4) - goto yy998; - goto yy1019; - yy1056: - yyaccept = 0; - marker = ++p; - yych = *p; - if (yych <= '\\') { - if (yych <= '\r') { - if (yych <= 0x08) { - if (yych <= 0x00) - goto yy980; - goto yy1016; - } else { - if (yych <= '\n') - goto yy951; - if (yych <= '\f') - goto yy1029; - goto yy951; - } - } else { - if (yych <= '=') { - if (yych <= 0x1F) - goto yy1016; - if (yych <= ' ') - goto yy951; - goto yy1052; - } else { - if (yych <= '>') - goto yy1064; - if (yych <= '[') - goto yy1052; - goto yy1065; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x7F) - goto yy1052; - goto yy951; - } else { - if (yych <= 0xDF) - goto yy1066; - if (yych <= 0xE0) - goto yy1067; - goto yy1068; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy1072; - if (yych <= 0xEF) - goto yy1068; - goto yy1069; - } else { - if (yych <= 0xF3) - goto yy1070; - if (yych <= 0xF4) - goto yy1071; - goto yy951; - } - } - } - yy1057: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1052; - goto yy958; - yy1058: - ++p; - yych = *p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy1057; - goto yy958; - yy1059: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1057; - goto yy958; - yy1060: - ++p; - yych = *p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy1059; - goto yy958; - yy1061: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1059; - goto yy958; - yy1062: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy1059; - goto yy958; - yy1063: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy1057; - goto yy958; - yy1064: - yyaccept = 2; - marker = ++p; - yych = *p; - if (yych <= '=') { - if (yych <= 0x1F) { - if (yych <= '\n') { - if (yych <= 0x00) - goto yy1019; - if (yych <= 0x08) - goto yy1029; - goto yy1019; - } else { - if (yych == '\r') - goto yy1019; - goto yy1029; - } - } else { - if (yych <= '(') { - if (yych <= ' ') - goto yy1019; - if (yych <= '\'') - goto yy1052; - goto yy1027; - } else { - if (yych <= ')') - goto yy1016; - if (yych == '<') - goto yy997; - goto yy1052; - } - } - } else { - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '>') - goto yy1055; - if (yych <= '[') - goto yy1052; - goto yy1056; - } else { - if (yych <= 0x7F) - goto yy1052; - if (yych <= 0xC1) - goto yy1019; - if (yych <= 0xDF) - goto yy1057; - goto yy1058; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy1063; - goto yy1059; - } else { - if (yych <= 0xF0) - goto yy1060; - if (yych <= 0xF3) - goto yy1061; - if (yych <= 0xF4) - goto yy1062; - goto yy1019; - } - } - } - yy1065: - yyaccept = 0; - marker = ++p; - yych = *p; - if (yych <= '[') { - if (yych <= 0x1F) { - if (yych <= '\n') { - if (yych <= 0x00) - goto yy951; - if (yych <= 0x08) - goto yy1029; - goto yy951; - } else { - if (yych == '\r') - goto yy951; - goto yy1029; - } - } else { - if (yych <= '(') { - if (yych <= ' ') - goto yy951; - if (yych <= '\'') - goto yy1052; - goto yy1027; - } else { - if (yych == '>') - goto yy1064; - goto yy1052; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\\') - goto yy1056; - if (yych <= 0x7F) - goto yy1052; - goto yy951; - } else { - if (yych <= 0xDF) - goto yy1057; - if (yych <= 0xE0) - goto yy1058; - goto yy1059; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy1063; - if (yych <= 0xEF) - goto yy1059; - goto yy1060; - } else { - if (yych <= 0xF3) - goto yy1061; - if (yych <= 0xF4) - goto yy1062; - goto yy951; - } - } - } - yy1066: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1052; - goto yy958; - yy1067: - ++p; - yych = *p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy1066; - goto yy958; - yy1068: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1066; - goto yy958; - yy1069: - ++p; - yych = *p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy1068; - goto yy958; - yy1070: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1068; - goto yy958; - yy1071: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy1068; - goto yy958; - yy1072: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy1066; - goto yy958; - yy1073: - yyaccept = 2; - marker = ++p; - yych = *p; - if (yybm[0 + yych] & 64) { - goto yy1016; - } - if (yych <= '>') { - if (yych <= '\r') { - if (yych <= 0x08) { - if (yych <= 0x00) - goto yy1019; - goto yy1029; - } else { - if (yych <= '\n') - goto yy1019; - if (yych <= '\f') - goto yy1029; - goto yy1019; - } - } else { - if (yych <= '(') { - if (yych <= 0x1F) - goto yy1029; - if (yych <= ' ') - goto yy1019; - goto yy1027; - } else { - if (yych <= ')') - goto yy1029; - if (yych <= '<') - goto yy980; - goto yy1018; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\\') - goto yy1015; - goto yy1019; - } else { - if (yych <= 0xDF) - goto yy1020; - if (yych <= 0xE0) - goto yy1021; - goto yy1022; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy1026; - if (yych <= 0xEF) - goto yy1022; - goto yy1023; - } else { - if (yych <= 0xF3) - goto yy1024; - if (yych <= 0xF4) - goto yy1025; - goto yy1019; - } - } - } - yy1074: - yyaccept = 0; - marker = ++p; - yych = *p; - if (yych <= '>') { - if (yych <= 0x1F) { - if (yych <= '\n') { - if (yych <= 0x00) - goto yy951; - if (yych <= 0x08) - goto yy1029; - goto yy951; - } else { - if (yych == '\r') - goto yy951; - goto yy1029; - } - } else { - if (yych <= '(') { - if (yych <= ' ') - goto yy951; - if (yych <= '\'') - goto yy1016; - goto yy1027; - } else { - if (yych <= ')') - goto yy1029; - if (yych <= '=') - goto yy1016; - goto yy1073; - } - } - } else { - if (yych <= 0xE0) { - if (yych <= 0x7F) { - if (yych == '\\') - goto yy1015; - goto yy1016; - } else { - if (yych <= 0xC1) - goto yy951; - if (yych <= 0xDF) - goto yy1020; - goto yy1021; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy1026; - goto yy1022; - } else { - if (yych <= 0xF0) - goto yy1023; - if (yych <= 0xF3) - goto yy1024; - if (yych <= 0xF4) - goto yy1025; - goto yy951; - } - } - } - yy1075: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1016; - goto yy958; - yy1076: - ++p; - yych = *p; - if (yych <= 0x9F) - goto yy958; - if (yych <= 0xBF) - goto yy1075; - goto yy958; - yy1077: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1075; - goto yy958; - yy1078: - ++p; - yych = *p; - if (yych <= 0x8F) - goto yy958; - if (yych <= 0xBF) - goto yy1077; - goto yy958; - yy1079: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0xBF) - goto yy1077; - goto yy958; - yy1080: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x8F) - goto yy1077; - goto yy958; - yy1081: - ++p; - yych = *p; - if (yych <= 0x7F) - goto yy958; - if (yych <= 0x9F) - goto yy1075; - goto yy958; - } -} - // 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). @@ -17352,640 +15268,640 @@ bufsize_t _scan_link_title(const unsigned char *p) { if (yych <= 0xC1) { if (yych <= '"') { if (yych == '\n') - goto yy1084; + goto yy951; if (yych <= '!') - goto yy1088; - goto yy1085; + goto yy955; + goto yy952; } else { if (yych <= '\'') { if (yych <= '&') - goto yy1088; - goto yy1086; + goto yy955; + goto yy953; } else { if (yych <= '(') - goto yy1087; + goto yy954; if (yych <= 0x7F) - goto yy1088; + goto yy955; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) - goto yy1089; + goto yy956; if (yych <= 0xE0) - goto yy1091; + goto yy958; if (yych <= 0xEC) - goto yy1092; - goto yy1096; + goto yy959; + goto yy963; } else { if (yych <= 0xF0) { if (yych <= 0xEF) - goto yy1092; - goto yy1093; + goto yy959; + goto yy960; } else { if (yych <= 0xF3) - goto yy1094; + goto yy961; if (yych <= 0xF4) - goto yy1095; + goto yy962; } } } - yy1084 : { return 0; } - yy1085: + yy951 : { return 0; } + yy952: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) - goto yy1084; + goto yy951; if (yych <= 0x7F) - goto yy1128; + goto yy995; if (yych <= 0xC1) - goto yy1084; + goto yy951; if (yych <= 0xF4) - goto yy1128; - goto yy1084; - yy1086: + goto yy995; + goto yy951; + yy953: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) - goto yy1084; + goto yy951; if (yych <= 0x7F) - goto yy1114; + goto yy981; if (yych <= 0xC1) - goto yy1084; + goto yy951; if (yych <= 0xF4) - goto yy1114; - goto yy1084; - yy1087: + goto yy981; + goto yy951; + yy954: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) - goto yy1084; + goto yy951; if (yych <= 0x7F) - goto yy1100; + goto yy967; if (yych <= 0xC1) - goto yy1084; + goto yy951; if (yych <= 0xF4) - goto yy1100; - goto yy1084; - yy1088: + goto yy967; + goto yy951; + yy955: yych = *++p; - goto yy1084; - yy1089: + goto yy951; + yy956: yych = *++p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1088; - yy1090: + goto yy955; + yy957: p = marker; if (yyaccept <= 1) { if (yyaccept == 0) { - goto yy1084; + goto yy951; } else { - goto yy1109; + goto yy976; } } else { if (yyaccept == 2) { - goto yy1123; + goto yy990; } else { - goto yy1137; + goto yy1004; } } - yy1091: + yy958: yych = *++p; if (yych <= 0x9F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1089; - goto yy1090; - yy1092: + goto yy956; + goto yy957; + yy959: yych = *++p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1089; - goto yy1090; - yy1093: + goto yy956; + goto yy957; + yy960: yych = *++p; if (yych <= 0x8F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1092; - goto yy1090; - yy1094: + goto yy959; + goto yy957; + yy961: yych = *++p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1092; - goto yy1090; - yy1095: + goto yy959; + goto yy957; + yy962: yych = *++p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0x8F) - goto yy1092; - goto yy1090; - yy1096: + goto yy959; + goto yy957; + yy963: yych = *++p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0x9F) - goto yy1089; - goto yy1090; - yy1097: + goto yy956; + goto yy957; + yy964: ++p; yych = *p; if (yybm[0 + yych] & 32) { - goto yy1099; + goto yy966; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) - goto yy1090; + goto yy957; if (yych <= ')') - goto yy1110; - goto yy1097; + goto yy977; + goto yy964; } else { if (yych <= 0xC1) - goto yy1090; + goto yy957; if (yych <= 0xDF) - goto yy1101; - goto yy1102; + goto yy968; + goto yy969; } } else { if (yych <= 0xEF) { if (yych == 0xED) - goto yy1107; - goto yy1103; + goto yy974; + goto yy970; } else { if (yych <= 0xF0) - goto yy1104; + goto yy971; if (yych <= 0xF3) - goto yy1105; + goto yy972; if (yych <= 0xF4) - goto yy1106; - goto yy1090; + goto yy973; + goto yy957; } } - yy1099: + yy966: ++p; yych = *p; - yy1100: + yy967: if (yybm[0 + yych] & 32) { - goto yy1099; + goto yy966; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) - goto yy1090; + goto yy957; if (yych <= ')') - goto yy1108; - goto yy1097; + goto yy975; + goto yy964; } else { if (yych <= 0xC1) - goto yy1090; + goto yy957; if (yych >= 0xE0) - goto yy1102; + goto yy969; } } else { if (yych <= 0xEF) { if (yych == 0xED) - goto yy1107; - goto yy1103; + goto yy974; + goto yy970; } else { if (yych <= 0xF0) - goto yy1104; + goto yy971; if (yych <= 0xF3) - goto yy1105; + goto yy972; if (yych <= 0xF4) - goto yy1106; - goto yy1090; + goto yy973; + goto yy957; } } - yy1101: + yy968: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1099; - goto yy1090; - yy1102: + goto yy966; + goto yy957; + yy969: ++p; yych = *p; if (yych <= 0x9F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1101; - goto yy1090; - yy1103: + goto yy968; + goto yy957; + yy970: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1101; - goto yy1090; - yy1104: + goto yy968; + goto yy957; + yy971: ++p; yych = *p; if (yych <= 0x8F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1103; - goto yy1090; - yy1105: + goto yy970; + goto yy957; + yy972: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1103; - goto yy1090; - yy1106: + goto yy970; + goto yy957; + yy973: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0x8F) - goto yy1103; - goto yy1090; - yy1107: + goto yy970; + goto yy957; + yy974: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0x9F) - goto yy1101; - goto yy1090; - yy1108: + goto yy968; + goto yy957; + yy975: ++p; - yy1109 : { return (bufsize_t)(p - start); } - yy1110: + yy976 : { return (bufsize_t)(p - start); } + yy977: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 32) { - goto yy1099; + goto yy966; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) - goto yy1109; + goto yy976; if (yych <= ')') - goto yy1108; - goto yy1097; + goto yy975; + goto yy964; } else { if (yych <= 0xC1) - goto yy1109; + goto yy976; if (yych <= 0xDF) - goto yy1101; - goto yy1102; + goto yy968; + goto yy969; } } else { if (yych <= 0xEF) { if (yych == 0xED) - goto yy1107; - goto yy1103; + goto yy974; + goto yy970; } else { if (yych <= 0xF0) - goto yy1104; + goto yy971; if (yych <= 0xF3) - goto yy1105; + goto yy972; if (yych <= 0xF4) - goto yy1106; - goto yy1109; + goto yy973; + goto yy976; } } - yy1111: + yy978: ++p; yych = *p; if (yybm[0 + yych] & 64) { - goto yy1113; + goto yy980; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) - goto yy1090; + goto yy957; if (yych <= '\'') - goto yy1124; - goto yy1111; + goto yy991; + goto yy978; } else { if (yych <= 0xC1) - goto yy1090; + goto yy957; if (yych <= 0xDF) - goto yy1115; - goto yy1116; + goto yy982; + goto yy983; } } else { if (yych <= 0xEF) { if (yych == 0xED) - goto yy1121; - goto yy1117; + goto yy988; + goto yy984; } else { if (yych <= 0xF0) - goto yy1118; + goto yy985; if (yych <= 0xF3) - goto yy1119; + goto yy986; if (yych <= 0xF4) - goto yy1120; - goto yy1090; + goto yy987; + goto yy957; } } - yy1113: + yy980: ++p; yych = *p; - yy1114: + yy981: if (yybm[0 + yych] & 64) { - goto yy1113; + goto yy980; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) - goto yy1090; + goto yy957; if (yych <= '\'') - goto yy1122; - goto yy1111; + goto yy989; + goto yy978; } else { if (yych <= 0xC1) - goto yy1090; + goto yy957; if (yych >= 0xE0) - goto yy1116; + goto yy983; } } else { if (yych <= 0xEF) { if (yych == 0xED) - goto yy1121; - goto yy1117; + goto yy988; + goto yy984; } else { if (yych <= 0xF0) - goto yy1118; + goto yy985; if (yych <= 0xF3) - goto yy1119; + goto yy986; if (yych <= 0xF4) - goto yy1120; - goto yy1090; + goto yy987; + goto yy957; } } - yy1115: + yy982: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1113; - goto yy1090; - yy1116: + goto yy980; + goto yy957; + yy983: ++p; yych = *p; if (yych <= 0x9F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1115; - goto yy1090; - yy1117: + goto yy982; + goto yy957; + yy984: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1115; - goto yy1090; - yy1118: + goto yy982; + goto yy957; + yy985: ++p; yych = *p; if (yych <= 0x8F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1117; - goto yy1090; - yy1119: + goto yy984; + goto yy957; + yy986: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1117; - goto yy1090; - yy1120: + goto yy984; + goto yy957; + yy987: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0x8F) - goto yy1117; - goto yy1090; - yy1121: + goto yy984; + goto yy957; + yy988: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0x9F) - goto yy1115; - goto yy1090; - yy1122: + goto yy982; + goto yy957; + yy989: ++p; - yy1123 : { return (bufsize_t)(p - start); } - yy1124: + yy990 : { return (bufsize_t)(p - start); } + yy991: yyaccept = 2; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { - goto yy1113; + goto yy980; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) - goto yy1123; + goto yy990; if (yych <= '\'') - goto yy1122; - goto yy1111; + goto yy989; + goto yy978; } else { if (yych <= 0xC1) - goto yy1123; + goto yy990; if (yych <= 0xDF) - goto yy1115; - goto yy1116; + goto yy982; + goto yy983; } } else { if (yych <= 0xEF) { if (yych == 0xED) - goto yy1121; - goto yy1117; + goto yy988; + goto yy984; } else { if (yych <= 0xF0) - goto yy1118; + goto yy985; if (yych <= 0xF3) - goto yy1119; + goto yy986; if (yych <= 0xF4) - goto yy1120; - goto yy1123; + goto yy987; + goto yy990; } } - yy1125: + yy992: ++p; yych = *p; if (yybm[0 + yych] & 128) { - goto yy1127; + goto yy994; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) - goto yy1090; + goto yy957; if (yych <= '"') - goto yy1138; - goto yy1125; + goto yy1005; + goto yy992; } else { if (yych <= 0xC1) - goto yy1090; + goto yy957; if (yych <= 0xDF) - goto yy1129; - goto yy1130; + goto yy996; + goto yy997; } } else { if (yych <= 0xEF) { if (yych == 0xED) - goto yy1135; - goto yy1131; + goto yy1002; + goto yy998; } else { if (yych <= 0xF0) - goto yy1132; + goto yy999; if (yych <= 0xF3) - goto yy1133; + goto yy1000; if (yych <= 0xF4) - goto yy1134; - goto yy1090; + goto yy1001; + goto yy957; } } - yy1127: + yy994: ++p; yych = *p; - yy1128: + yy995: if (yybm[0 + yych] & 128) { - goto yy1127; + goto yy994; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) - goto yy1090; + goto yy957; if (yych <= '"') - goto yy1136; - goto yy1125; + goto yy1003; + goto yy992; } else { if (yych <= 0xC1) - goto yy1090; + goto yy957; if (yych >= 0xE0) - goto yy1130; + goto yy997; } } else { if (yych <= 0xEF) { if (yych == 0xED) - goto yy1135; - goto yy1131; + goto yy1002; + goto yy998; } else { if (yych <= 0xF0) - goto yy1132; + goto yy999; if (yych <= 0xF3) - goto yy1133; + goto yy1000; if (yych <= 0xF4) - goto yy1134; - goto yy1090; + goto yy1001; + goto yy957; } } - yy1129: + yy996: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1127; - goto yy1090; - yy1130: + goto yy994; + goto yy957; + yy997: ++p; yych = *p; if (yych <= 0x9F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1129; - goto yy1090; - yy1131: + goto yy996; + goto yy957; + yy998: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1129; - goto yy1090; - yy1132: + goto yy996; + goto yy957; + yy999: ++p; yych = *p; if (yych <= 0x8F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1131; - goto yy1090; - yy1133: + goto yy998; + goto yy957; + yy1000: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0xBF) - goto yy1131; - goto yy1090; - yy1134: + goto yy998; + goto yy957; + yy1001: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0x8F) - goto yy1131; - goto yy1090; - yy1135: + goto yy998; + goto yy957; + yy1002: ++p; yych = *p; if (yych <= 0x7F) - goto yy1090; + goto yy957; if (yych <= 0x9F) - goto yy1129; - goto yy1090; - yy1136: + goto yy996; + goto yy957; + yy1003: ++p; - yy1137 : { return (bufsize_t)(p - start); } - yy1138: + yy1004 : { return (bufsize_t)(p - start); } + yy1005: yyaccept = 3; marker = ++p; yych = *p; if (yybm[0 + yych] & 128) { - goto yy1127; + goto yy994; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) - goto yy1137; + goto yy1004; if (yych <= '"') - goto yy1136; - goto yy1125; + goto yy1003; + goto yy992; } else { if (yych <= 0xC1) - goto yy1137; + goto yy1004; if (yych <= 0xDF) - goto yy1129; - goto yy1130; + goto yy996; + goto yy997; } } else { if (yych <= 0xEF) { if (yych == 0xED) - goto yy1135; - goto yy1131; + goto yy1002; + goto yy998; } else { if (yych <= 0xF0) - goto yy1132; + goto yy999; if (yych <= 0xF3) - goto yy1133; + goto yy1000; if (yych <= 0xF4) - goto yy1134; - goto yy1137; + goto yy1001; + goto yy1004; } } } @@ -18017,104 +15933,104 @@ bufsize_t _scan_spacechars(const unsigned char *p) { if (yych <= 0xC1) { if (yych <= '\r') { if (yych <= 0x08) - goto yy1145; + goto yy1012; if (yych == '\n') - goto yy1143; - goto yy1142; + goto yy1010; + goto yy1009; } else { if (yych == ' ') - goto yy1142; + goto yy1009; if (yych <= 0x7F) - goto yy1145; + goto yy1012; } } else { if (yych <= 0xED) { if (yych <= 0xDF) - goto yy1147; + goto yy1014; if (yych <= 0xE0) - goto yy1149; + goto yy1016; if (yych <= 0xEC) - goto yy1150; - goto yy1154; + goto yy1017; + goto yy1021; } else { if (yych <= 0xF0) { if (yych <= 0xEF) - goto yy1150; - goto yy1151; + goto yy1017; + goto yy1018; } else { if (yych <= 0xF3) - goto yy1152; + goto yy1019; if (yych <= 0xF4) - goto yy1153; + goto yy1020; } } } - yy1141 : { return (bufsize_t)(p - start); } - yy1142: + yy1008 : { return (bufsize_t)(p - start); } + yy1009: yych = *++p; - goto yy1144; - yy1143: + goto yy1011; + yy1010: ++p; yych = *p; - yy1144: + yy1011: if (yybm[0 + yych] & 128) { - goto yy1143; + goto yy1010; } - goto yy1141; - yy1145: + goto yy1008; + yy1012: ++p; { return 0; } - yy1147: + yy1014: yych = *++p; if (yych <= 0x7F) - goto yy1148; + goto yy1015; if (yych <= 0xBF) - goto yy1145; - yy1148: + goto yy1012; + yy1015: p = marker; - goto yy1141; - yy1149: + goto yy1008; + yy1016: yych = *++p; if (yych <= 0x9F) - goto yy1148; + goto yy1015; if (yych <= 0xBF) - goto yy1147; - goto yy1148; - yy1150: + goto yy1014; + goto yy1015; + yy1017: yych = *++p; if (yych <= 0x7F) - goto yy1148; + goto yy1015; if (yych <= 0xBF) - goto yy1147; - goto yy1148; - yy1151: + goto yy1014; + goto yy1015; + yy1018: yych = *++p; if (yych <= 0x8F) - goto yy1148; + goto yy1015; if (yych <= 0xBF) - goto yy1150; - goto yy1148; - yy1152: + goto yy1017; + goto yy1015; + yy1019: yych = *++p; if (yych <= 0x7F) - goto yy1148; + goto yy1015; if (yych <= 0xBF) - goto yy1150; - goto yy1148; - yy1153: + goto yy1017; + goto yy1015; + yy1020: yych = *++p; if (yych <= 0x7F) - goto yy1148; + goto yy1015; if (yych <= 0x8F) - goto yy1150; - goto yy1148; - yy1154: + goto yy1017; + goto yy1015; + yy1021: ++p; if ((yych = *p) <= 0x7F) - goto yy1148; + goto yy1015; if (yych <= 0x9F) - goto yy1147; - goto yy1148; + goto yy1014; + goto yy1015; } } @@ -18143,190 +16059,190 @@ bufsize_t _scan_atx_heading_start(const unsigned char *p) { if (yych <= 0xDF) { if (yych <= '"') { if (yych != '\n') - goto yy1159; + goto yy1026; } else { if (yych <= '#') - goto yy1158; + goto yy1025; if (yych <= 0x7F) - goto yy1159; + goto yy1026; if (yych >= 0xC2) - goto yy1160; + goto yy1027; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) - goto yy1162; + goto yy1029; if (yych == 0xED) - goto yy1167; - goto yy1163; + goto yy1034; + goto yy1030; } else { if (yych <= 0xF0) - goto yy1164; + goto yy1031; if (yych <= 0xF3) - goto yy1165; + goto yy1032; if (yych <= 0xF4) - goto yy1166; + goto yy1033; } } - yy1157 : { return 0; } - yy1158: + yy1024 : { return 0; } + yy1025: yych = *(marker = ++p); if (yybm[0 + yych] & 128) { - goto yy1170; + goto yy1037; } if (yych <= '\f') { if (yych <= 0x08) - goto yy1157; + goto yy1024; if (yych <= '\n') - goto yy1168; - goto yy1157; + goto yy1035; + goto yy1024; } else { if (yych <= '\r') - goto yy1168; + goto yy1035; if (yych == '#') - goto yy1172; - goto yy1157; + goto yy1039; + goto yy1024; } - yy1159: + yy1026: yych = *++p; - goto yy1157; - yy1160: + goto yy1024; + yy1027: yych = *++p; if (yych <= 0x7F) - goto yy1161; + goto yy1028; if (yych <= 0xBF) - goto yy1159; - yy1161: + goto yy1026; + yy1028: p = marker; - goto yy1157; - yy1162: + goto yy1024; + yy1029: yych = *++p; if (yych <= 0x9F) - goto yy1161; + goto yy1028; if (yych <= 0xBF) - goto yy1160; - goto yy1161; - yy1163: + goto yy1027; + goto yy1028; + yy1030: yych = *++p; if (yych <= 0x7F) - goto yy1161; + goto yy1028; if (yych <= 0xBF) - goto yy1160; - goto yy1161; - yy1164: + goto yy1027; + goto yy1028; + yy1031: yych = *++p; if (yych <= 0x8F) - goto yy1161; + goto yy1028; if (yych <= 0xBF) - goto yy1163; - goto yy1161; - yy1165: + goto yy1030; + goto yy1028; + yy1032: yych = *++p; if (yych <= 0x7F) - goto yy1161; + goto yy1028; if (yych <= 0xBF) - goto yy1163; - goto yy1161; - yy1166: + goto yy1030; + goto yy1028; + yy1033: yych = *++p; if (yych <= 0x7F) - goto yy1161; + goto yy1028; if (yych <= 0x8F) - goto yy1163; - goto yy1161; - yy1167: + goto yy1030; + goto yy1028; + yy1034: yych = *++p; if (yych <= 0x7F) - goto yy1161; + goto yy1028; if (yych <= 0x9F) - goto yy1160; - goto yy1161; - yy1168: + goto yy1027; + goto yy1028; + yy1035: ++p; - yy1169 : { return (bufsize_t)(p - start); } - yy1170: + yy1036 : { return (bufsize_t)(p - start); } + yy1037: ++p; yych = *p; if (yybm[0 + yych] & 128) { - goto yy1170; + goto yy1037; } - goto yy1169; - yy1172: + goto yy1036; + yy1039: yych = *++p; if (yybm[0 + yych] & 128) { - goto yy1170; + goto yy1037; } if (yych <= '\f') { if (yych <= 0x08) - goto yy1161; + goto yy1028; if (yych <= '\n') - goto yy1168; - goto yy1161; + goto yy1035; + goto yy1028; } else { if (yych <= '\r') - goto yy1168; + goto yy1035; if (yych != '#') - goto yy1161; + goto yy1028; } yych = *++p; if (yybm[0 + yych] & 128) { - goto yy1170; + goto yy1037; } if (yych <= '\f') { if (yych <= 0x08) - goto yy1161; + goto yy1028; if (yych <= '\n') - goto yy1168; - goto yy1161; + goto yy1035; + goto yy1028; } else { if (yych <= '\r') - goto yy1168; + goto yy1035; if (yych != '#') - goto yy1161; + goto yy1028; } yych = *++p; if (yybm[0 + yych] & 128) { - goto yy1170; + goto yy1037; } if (yych <= '\f') { if (yych <= 0x08) - goto yy1161; + goto yy1028; if (yych <= '\n') - goto yy1168; - goto yy1161; + goto yy1035; + goto yy1028; } else { if (yych <= '\r') - goto yy1168; + goto yy1035; if (yych != '#') - goto yy1161; + goto yy1028; } yych = *++p; if (yybm[0 + yych] & 128) { - goto yy1170; + goto yy1037; } if (yych <= '\f') { if (yych <= 0x08) - goto yy1161; + goto yy1028; if (yych <= '\n') - goto yy1168; - goto yy1161; + goto yy1035; + goto yy1028; } else { if (yych <= '\r') - goto yy1168; + goto yy1035; if (yych != '#') - goto yy1161; + goto yy1028; } ++p; if (yybm[0 + (yych = *p)] & 128) { - goto yy1170; + goto yy1037; } if (yych <= 0x08) - goto yy1161; + goto yy1028; if (yych <= '\n') - goto yy1168; + goto yy1035; if (yych == '\r') - goto yy1168; - goto yy1161; + goto yy1035; + goto yy1028; } } @@ -18355,205 +16271,205 @@ bufsize_t _scan_setext_heading_line(const unsigned char *p) { if (yych <= 0xC1) { if (yych <= '-') { if (yych == '\n') - goto yy1179; + goto yy1046; if (yych <= ',') - goto yy1182; - goto yy1181; + goto yy1049; + goto yy1048; } else { if (yych == '=') - goto yy1180; + goto yy1047; if (yych <= 0x7F) - goto yy1182; + goto yy1049; } } else { if (yych <= 0xED) { if (yych <= 0xDF) - goto yy1183; + goto yy1050; if (yych <= 0xE0) - goto yy1185; + goto yy1052; if (yych <= 0xEC) - goto yy1186; - goto yy1190; + goto yy1053; + goto yy1057; } else { if (yych <= 0xF0) { if (yych <= 0xEF) - goto yy1186; - goto yy1187; + goto yy1053; + goto yy1054; } else { if (yych <= 0xF3) - goto yy1188; + goto yy1055; if (yych <= 0xF4) - goto yy1189; + goto yy1056; } } } - yy1179 : { return 0; } - yy1180: + yy1046 : { return 0; } + yy1047: yych = *(marker = ++p); if (yybm[0 + yych] & 128) { - goto yy1201; + goto yy1068; } if (yych <= '\f') { if (yych <= 0x08) - goto yy1179; + goto yy1046; if (yych <= '\n') - goto yy1198; - goto yy1179; + goto yy1065; + goto yy1046; } else { if (yych <= '\r') - goto yy1198; + goto yy1065; if (yych == ' ') - goto yy1198; - goto yy1179; + goto yy1065; + goto yy1046; } - yy1181: + yy1048: yych = *(marker = ++p); if (yybm[0 + yych] & 64) { - goto yy1195; + goto yy1062; } if (yych <= '\f') { if (yych <= 0x08) - goto yy1179; + goto yy1046; if (yych <= '\n') - goto yy1192; - goto yy1179; + goto yy1059; + goto yy1046; } else { if (yych <= '\r') - goto yy1192; + goto yy1059; if (yych == ' ') - goto yy1192; - goto yy1179; + goto yy1059; + goto yy1046; } - yy1182: + yy1049: yych = *++p; - goto yy1179; - yy1183: + goto yy1046; + yy1050: yych = *++p; if (yych <= 0x7F) - goto yy1184; + goto yy1051; if (yych <= 0xBF) - goto yy1182; - yy1184: + goto yy1049; + yy1051: p = marker; - goto yy1179; - yy1185: + goto yy1046; + yy1052: yych = *++p; if (yych <= 0x9F) - goto yy1184; + goto yy1051; if (yych <= 0xBF) - goto yy1183; - goto yy1184; - yy1186: + goto yy1050; + goto yy1051; + yy1053: yych = *++p; if (yych <= 0x7F) - goto yy1184; + goto yy1051; if (yych <= 0xBF) - goto yy1183; - goto yy1184; - yy1187: + goto yy1050; + goto yy1051; + yy1054: yych = *++p; if (yych <= 0x8F) - goto yy1184; + goto yy1051; if (yych <= 0xBF) - goto yy1186; - goto yy1184; - yy1188: + goto yy1053; + goto yy1051; + yy1055: yych = *++p; if (yych <= 0x7F) - goto yy1184; + goto yy1051; if (yych <= 0xBF) - goto yy1186; - goto yy1184; - yy1189: + goto yy1053; + goto yy1051; + yy1056: yych = *++p; if (yych <= 0x7F) - goto yy1184; + goto yy1051; if (yych <= 0x8F) - goto yy1186; - goto yy1184; - yy1190: + goto yy1053; + goto yy1051; + yy1057: yych = *++p; if (yych <= 0x7F) - goto yy1184; + goto yy1051; if (yych <= 0x9F) - goto yy1183; - goto yy1184; - yy1191: + goto yy1050; + goto yy1051; + yy1058: ++p; yych = *p; - yy1192: + yy1059: if (yybm[0 + yych] & 32) { - goto yy1191; + goto yy1058; } if (yych <= 0x08) - goto yy1184; + goto yy1051; if (yych <= '\n') - goto yy1193; + goto yy1060; if (yych != '\r') - goto yy1184; - yy1193: + goto yy1051; + yy1060: ++p; { return 2; } - yy1195: + yy1062: ++p; yych = *p; if (yybm[0 + yych] & 32) { - goto yy1191; + goto yy1058; } if (yych <= '\f') { if (yych <= 0x08) - goto yy1184; + goto yy1051; if (yych <= '\n') - goto yy1193; - goto yy1184; + goto yy1060; + goto yy1051; } else { if (yych <= '\r') - goto yy1193; + goto yy1060; if (yych == '-') - goto yy1195; - goto yy1184; + goto yy1062; + goto yy1051; } - yy1197: + yy1064: ++p; yych = *p; - yy1198: + yy1065: if (yych <= '\f') { if (yych <= 0x08) - goto yy1184; + goto yy1051; if (yych <= '\t') - goto yy1197; + goto yy1064; if (yych >= '\v') - goto yy1184; + goto yy1051; } else { if (yych <= '\r') - goto yy1199; + goto yy1066; if (yych == ' ') - goto yy1197; - goto yy1184; + goto yy1064; + goto yy1051; } - yy1199: + yy1066: ++p; { return 1; } - yy1201: + yy1068: ++p; yych = *p; if (yybm[0 + yych] & 128) { - goto yy1201; + goto yy1068; } if (yych <= '\f') { if (yych <= 0x08) - goto yy1184; + goto yy1051; if (yych <= '\t') - goto yy1197; + goto yy1064; if (yych <= '\n') - goto yy1199; - goto yy1184; + goto yy1066; + goto yy1051; } else { if (yych <= '\r') - goto yy1199; + goto yy1066; if (yych == ' ') - goto yy1197; - goto yy1184; + goto yy1064; + goto yy1051; } } } @@ -18586,331 +16502,331 @@ bufsize_t _scan_thematic_break(const unsigned char *p) { if (yych <= 0x7F) { if (yych <= '*') { if (yych == '\n') - goto yy1205; + goto yy1072; if (yych <= ')') - goto yy1209; - goto yy1206; + goto yy1076; + goto yy1073; } else { if (yych <= '-') { if (yych <= ',') - goto yy1209; - goto yy1208; + goto yy1076; + goto yy1075; } else { if (yych == '_') - goto yy1207; - goto yy1209; + goto yy1074; + goto yy1076; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) { if (yych >= 0xC2) - goto yy1210; + goto yy1077; } else { if (yych <= 0xE0) - goto yy1212; + goto yy1079; if (yych <= 0xEC) - goto yy1213; - goto yy1217; + goto yy1080; + goto yy1084; } } else { if (yych <= 0xF0) { if (yych <= 0xEF) - goto yy1213; - goto yy1214; + goto yy1080; + goto yy1081; } else { if (yych <= 0xF3) - goto yy1215; + goto yy1082; if (yych <= 0xF4) - goto yy1216; + goto yy1083; } } } - yy1205 : { return 0; } - yy1206: + yy1072 : { return 0; } + yy1073: yych = *(marker = ++p); if (yych <= 0x1F) { if (yych == '\t') - goto yy1238; - goto yy1205; + goto yy1105; + goto yy1072; } else { if (yych <= ' ') - goto yy1238; + goto yy1105; if (yych == '*') - goto yy1240; - goto yy1205; + goto yy1107; + goto yy1072; } - yy1207: + yy1074: yych = *(marker = ++p); if (yych <= 0x1F) { if (yych == '\t') - goto yy1228; - goto yy1205; + goto yy1095; + goto yy1072; } else { if (yych <= ' ') - goto yy1228; + goto yy1095; if (yych == '_') - goto yy1230; - goto yy1205; + goto yy1097; + goto yy1072; } - yy1208: + yy1075: yych = *(marker = ++p); if (yybm[0 + yych] & 16) { - goto yy1218; + goto yy1085; } if (yych == '-') - goto yy1220; - goto yy1205; - yy1209: + goto yy1087; + goto yy1072; + yy1076: yych = *++p; - goto yy1205; - yy1210: + goto yy1072; + yy1077: yych = *++p; if (yych <= 0x7F) - goto yy1211; + goto yy1078; if (yych <= 0xBF) - goto yy1209; - yy1211: + goto yy1076; + yy1078: p = marker; - goto yy1205; - yy1212: + goto yy1072; + yy1079: yych = *++p; if (yych <= 0x9F) - goto yy1211; + goto yy1078; if (yych <= 0xBF) - goto yy1210; - goto yy1211; - yy1213: + goto yy1077; + goto yy1078; + yy1080: yych = *++p; if (yych <= 0x7F) - goto yy1211; + goto yy1078; if (yych <= 0xBF) - goto yy1210; - goto yy1211; - yy1214: + goto yy1077; + goto yy1078; + yy1081: yych = *++p; if (yych <= 0x8F) - goto yy1211; + goto yy1078; if (yych <= 0xBF) - goto yy1213; - goto yy1211; - yy1215: + goto yy1080; + goto yy1078; + yy1082: yych = *++p; if (yych <= 0x7F) - goto yy1211; + goto yy1078; if (yych <= 0xBF) - goto yy1213; - goto yy1211; - yy1216: + goto yy1080; + goto yy1078; + yy1083: yych = *++p; if (yych <= 0x7F) - goto yy1211; + goto yy1078; if (yych <= 0x8F) - goto yy1213; - goto yy1211; - yy1217: + goto yy1080; + goto yy1078; + yy1084: yych = *++p; if (yych <= 0x7F) - goto yy1211; + goto yy1078; if (yych <= 0x9F) - goto yy1210; - goto yy1211; - yy1218: + goto yy1077; + goto yy1078; + yy1085: ++p; yych = *p; if (yybm[0 + yych] & 16) { - goto yy1218; + goto yy1085; } if (yych != '-') - goto yy1211; - yy1220: + goto yy1078; + yy1087: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') - goto yy1220; - goto yy1211; + goto yy1087; + goto yy1078; } else { if (yych <= ' ') - goto yy1220; + goto yy1087; if (yych != '-') - goto yy1211; + goto yy1078; } - yy1222: + yy1089: ++p; yych = *p; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) - goto yy1211; - goto yy1222; + goto yy1078; + goto yy1089; } else { if (yych <= '\n') - goto yy1224; + goto yy1091; if (yych <= '\f') - goto yy1211; + goto yy1078; } } else { if (yych <= ' ') { if (yych <= 0x1F) - goto yy1211; - goto yy1222; + goto yy1078; + goto yy1089; } else { if (yych == '-') - goto yy1226; - goto yy1211; + goto yy1093; + goto yy1078; } } - yy1224: + yy1091: ++p; { return (bufsize_t)(p - start); } - yy1226: + yy1093: ++p; yych = *p; if (yybm[0 + yych] & 32) { - goto yy1226; + goto yy1093; } if (yych <= 0x08) - goto yy1211; + goto yy1078; if (yych <= '\n') - goto yy1224; + goto yy1091; if (yych == '\r') - goto yy1224; - goto yy1211; - yy1228: + goto yy1091; + goto yy1078; + yy1095: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') - goto yy1228; - goto yy1211; + goto yy1095; + goto yy1078; } else { if (yych <= ' ') - goto yy1228; + goto yy1095; if (yych != '_') - goto yy1211; + goto yy1078; } - yy1230: + yy1097: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') - goto yy1230; - goto yy1211; + goto yy1097; + goto yy1078; } else { if (yych <= ' ') - goto yy1230; + goto yy1097; if (yych != '_') - goto yy1211; + goto yy1078; } - yy1232: + yy1099: ++p; yych = *p; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) - goto yy1211; - goto yy1232; + goto yy1078; + goto yy1099; } else { if (yych <= '\n') - goto yy1234; + goto yy1101; if (yych <= '\f') - goto yy1211; + goto yy1078; } } else { if (yych <= ' ') { if (yych <= 0x1F) - goto yy1211; - goto yy1232; + goto yy1078; + goto yy1099; } else { if (yych == '_') - goto yy1236; - goto yy1211; + goto yy1103; + goto yy1078; } } - yy1234: + yy1101: ++p; { return (bufsize_t)(p - start); } - yy1236: + yy1103: ++p; yych = *p; if (yybm[0 + yych] & 64) { - goto yy1236; + goto yy1103; } if (yych <= 0x08) - goto yy1211; + goto yy1078; if (yych <= '\n') - goto yy1234; + goto yy1101; if (yych == '\r') - goto yy1234; - goto yy1211; - yy1238: + goto yy1101; + goto yy1078; + yy1105: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') - goto yy1238; - goto yy1211; + goto yy1105; + goto yy1078; } else { if (yych <= ' ') - goto yy1238; + goto yy1105; if (yych != '*') - goto yy1211; + goto yy1078; } - yy1240: + yy1107: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') - goto yy1240; - goto yy1211; + goto yy1107; + goto yy1078; } else { if (yych <= ' ') - goto yy1240; + goto yy1107; if (yych != '*') - goto yy1211; + goto yy1078; } - yy1242: + yy1109: ++p; yych = *p; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) - goto yy1211; - goto yy1242; + goto yy1078; + goto yy1109; } else { if (yych <= '\n') - goto yy1244; + goto yy1111; if (yych <= '\f') - goto yy1211; + goto yy1078; } } else { if (yych <= ' ') { if (yych <= 0x1F) - goto yy1211; - goto yy1242; + goto yy1078; + goto yy1109; } else { if (yych == '*') - goto yy1246; - goto yy1211; + goto yy1113; + goto yy1078; } } - yy1244: + yy1111: ++p; { return (bufsize_t)(p - start); } - yy1246: + yy1113: ++p; yych = *p; if (yybm[0 + yych] & 128) { - goto yy1246; + goto yy1113; } if (yych <= 0x08) - goto yy1211; + goto yy1078; if (yych <= '\n') - goto yy1244; + goto yy1111; if (yych == '\r') - goto yy1244; - goto yy1211; + goto yy1111; + goto yy1078; } } @@ -18946,374 +16862,374 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) { if (yych <= 0xC1) { if (yych <= '`') { if (yych == '\n') - goto yy1250; + goto yy1117; if (yych <= '_') - goto yy1253; - goto yy1251; + goto yy1120; + goto yy1118; } else { if (yych == '~') - goto yy1252; + goto yy1119; if (yych <= 0x7F) - goto yy1253; + goto yy1120; } } else { if (yych <= 0xED) { if (yych <= 0xDF) - goto yy1254; + goto yy1121; if (yych <= 0xE0) - goto yy1256; + goto yy1123; if (yych <= 0xEC) - goto yy1257; - goto yy1261; + goto yy1124; + goto yy1128; } else { if (yych <= 0xF0) { if (yych <= 0xEF) - goto yy1257; - goto yy1258; + goto yy1124; + goto yy1125; } else { if (yych <= 0xF3) - goto yy1259; + goto yy1126; if (yych <= 0xF4) - goto yy1260; + goto yy1127; } } } - yy1250 : { return 0; } - yy1251: + yy1117 : { return 0; } + yy1118: yych = *(marker = ++p); if (yych == '`') - goto yy1276; - goto yy1250; - yy1252: + goto yy1143; + goto yy1117; + yy1119: yych = *(marker = ++p); if (yych == '~') - goto yy1262; - goto yy1250; - yy1253: + goto yy1129; + goto yy1117; + yy1120: yych = *++p; - goto yy1250; - yy1254: + goto yy1117; + yy1121: yych = *++p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1253; - yy1255: + goto yy1120; + yy1122: p = marker; - goto yy1250; - yy1256: + goto yy1117; + yy1123: yych = *++p; if (yych <= 0x9F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1254; - goto yy1255; - yy1257: + goto yy1121; + goto yy1122; + yy1124: yych = *++p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1254; - goto yy1255; - yy1258: + goto yy1121; + goto yy1122; + yy1125: yych = *++p; if (yych <= 0x8F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1257; - goto yy1255; - yy1259: + goto yy1124; + goto yy1122; + yy1126: yych = *++p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1257; - goto yy1255; - yy1260: + goto yy1124; + goto yy1122; + yy1127: yych = *++p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0x8F) - goto yy1257; - goto yy1255; - yy1261: + goto yy1124; + goto yy1122; + yy1128: yych = *++p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0x9F) - goto yy1254; - goto yy1255; - yy1262: + goto yy1121; + goto yy1122; + yy1129: yych = *++p; if (yybm[0 + yych] & 16) { - goto yy1263; + goto yy1130; } - goto yy1255; - yy1263: + goto yy1122; + yy1130: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 32) { - goto yy1265; + goto yy1132; } if (yych <= 0xE0) { if (yych <= '~') { if (yych <= 0x00) - goto yy1255; + goto yy1122; if (yych <= '\r') - goto yy1274; - goto yy1263; + goto yy1141; + goto yy1130; } else { if (yych <= 0xC1) - goto yy1255; + goto yy1122; if (yych <= 0xDF) - goto yy1267; - goto yy1268; + goto yy1134; + goto yy1135; } } else { if (yych <= 0xEF) { if (yych == 0xED) - goto yy1273; - goto yy1269; + goto yy1140; + goto yy1136; } else { if (yych <= 0xF0) - goto yy1270; + goto yy1137; if (yych <= 0xF3) - goto yy1271; + goto yy1138; if (yych <= 0xF4) - goto yy1272; - goto yy1255; + goto yy1139; + goto yy1122; } } - yy1265: + yy1132: ++p; yych = *p; if (yybm[0 + yych] & 32) { - goto yy1265; + goto yy1132; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) - goto yy1255; + goto yy1122; if (yych <= '\r') - goto yy1274; - goto yy1255; + goto yy1141; + goto yy1122; } else { if (yych <= 0xDF) - goto yy1267; + goto yy1134; if (yych <= 0xE0) - goto yy1268; - goto yy1269; + goto yy1135; + goto yy1136; } } else { if (yych <= 0xF0) { if (yych <= 0xED) - goto yy1273; + goto yy1140; if (yych <= 0xEF) - goto yy1269; - goto yy1270; + goto yy1136; + goto yy1137; } else { if (yych <= 0xF3) - goto yy1271; + goto yy1138; if (yych <= 0xF4) - goto yy1272; - goto yy1255; + goto yy1139; + goto yy1122; } } - yy1267: + yy1134: ++p; yych = *p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1265; - goto yy1255; - yy1268: + goto yy1132; + goto yy1122; + yy1135: ++p; yych = *p; if (yych <= 0x9F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1267; - goto yy1255; - yy1269: + goto yy1134; + goto yy1122; + yy1136: ++p; yych = *p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1267; - goto yy1255; - yy1270: + goto yy1134; + goto yy1122; + yy1137: ++p; yych = *p; if (yych <= 0x8F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1269; - goto yy1255; - yy1271: + goto yy1136; + goto yy1122; + yy1138: ++p; yych = *p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1269; - goto yy1255; - yy1272: + goto yy1136; + goto yy1122; + yy1139: ++p; yych = *p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0x8F) - goto yy1269; - goto yy1255; - yy1273: + goto yy1136; + goto yy1122; + yy1140: ++p; yych = *p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0x9F) - goto yy1267; - goto yy1255; - yy1274: + goto yy1134; + goto yy1122; + yy1141: ++p; p = marker; { return (bufsize_t)(p - start); } - yy1276: + yy1143: yych = *++p; if (yybm[0 + yych] & 64) { - goto yy1277; + goto yy1144; } - goto yy1255; - yy1277: + goto yy1122; + yy1144: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 128) { - goto yy1279; + goto yy1146; } if (yych <= 0xE0) { if (yych <= '`') { if (yych <= 0x00) - goto yy1255; + goto yy1122; if (yych <= '\r') - goto yy1288; - goto yy1277; + goto yy1155; + goto yy1144; } else { if (yych <= 0xC1) - goto yy1255; + goto yy1122; if (yych <= 0xDF) - goto yy1281; - goto yy1282; + goto yy1148; + goto yy1149; } } else { if (yych <= 0xEF) { if (yych == 0xED) - goto yy1287; - goto yy1283; + goto yy1154; + goto yy1150; } else { if (yych <= 0xF0) - goto yy1284; + goto yy1151; if (yych <= 0xF3) - goto yy1285; + goto yy1152; if (yych <= 0xF4) - goto yy1286; - goto yy1255; + goto yy1153; + goto yy1122; } } - yy1279: + yy1146: ++p; yych = *p; if (yybm[0 + yych] & 128) { - goto yy1279; + goto yy1146; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) - goto yy1255; + goto yy1122; if (yych <= '\r') - goto yy1288; - goto yy1255; + goto yy1155; + goto yy1122; } else { if (yych <= 0xDF) - goto yy1281; + goto yy1148; if (yych <= 0xE0) - goto yy1282; - goto yy1283; + goto yy1149; + goto yy1150; } } else { if (yych <= 0xF0) { if (yych <= 0xED) - goto yy1287; + goto yy1154; if (yych <= 0xEF) - goto yy1283; - goto yy1284; + goto yy1150; + goto yy1151; } else { if (yych <= 0xF3) - goto yy1285; + goto yy1152; if (yych <= 0xF4) - goto yy1286; - goto yy1255; + goto yy1153; + goto yy1122; } } - yy1281: + yy1148: ++p; yych = *p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1279; - goto yy1255; - yy1282: + goto yy1146; + goto yy1122; + yy1149: ++p; yych = *p; if (yych <= 0x9F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1281; - goto yy1255; - yy1283: + goto yy1148; + goto yy1122; + yy1150: ++p; yych = *p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1281; - goto yy1255; - yy1284: + goto yy1148; + goto yy1122; + yy1151: ++p; yych = *p; if (yych <= 0x8F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1283; - goto yy1255; - yy1285: + goto yy1150; + goto yy1122; + yy1152: ++p; yych = *p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0xBF) - goto yy1283; - goto yy1255; - yy1286: + goto yy1150; + goto yy1122; + yy1153: ++p; yych = *p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0x8F) - goto yy1283; - goto yy1255; - yy1287: + goto yy1150; + goto yy1122; + yy1154: ++p; yych = *p; if (yych <= 0x7F) - goto yy1255; + goto yy1122; if (yych <= 0x9F) - goto yy1281; - goto yy1255; - yy1288: + goto yy1148; + goto yy1122; + yy1155: ++p; p = marker; { return (bufsize_t)(p - start); } @@ -19345,190 +17261,190 @@ bufsize_t _scan_close_code_fence(const unsigned char *p) { if (yych <= 0xC1) { if (yych <= '`') { if (yych == '\n') - goto yy1292; + goto yy1159; if (yych <= '_') - goto yy1295; - goto yy1293; + goto yy1162; + goto yy1160; } else { if (yych == '~') - goto yy1294; + goto yy1161; if (yych <= 0x7F) - goto yy1295; + goto yy1162; } } else { if (yych <= 0xED) { if (yych <= 0xDF) - goto yy1296; + goto yy1163; if (yych <= 0xE0) - goto yy1298; + goto yy1165; if (yych <= 0xEC) - goto yy1299; - goto yy1303; + goto yy1166; + goto yy1170; } else { if (yych <= 0xF0) { if (yych <= 0xEF) - goto yy1299; - goto yy1300; + goto yy1166; + goto yy1167; } else { if (yych <= 0xF3) - goto yy1301; + goto yy1168; if (yych <= 0xF4) - goto yy1302; + goto yy1169; } } } - yy1292 : { return 0; } - yy1293: + yy1159 : { return 0; } + yy1160: yych = *(marker = ++p); if (yych == '`') - goto yy1311; - goto yy1292; - yy1294: + goto yy1178; + goto yy1159; + yy1161: yych = *(marker = ++p); if (yych == '~') - goto yy1304; - goto yy1292; - yy1295: + goto yy1171; + goto yy1159; + yy1162: yych = *++p; - goto yy1292; - yy1296: + goto yy1159; + yy1163: yych = *++p; if (yych <= 0x7F) - goto yy1297; + goto yy1164; if (yych <= 0xBF) - goto yy1295; - yy1297: + goto yy1162; + yy1164: p = marker; - goto yy1292; - yy1298: + goto yy1159; + yy1165: yych = *++p; if (yych <= 0x9F) - goto yy1297; + goto yy1164; if (yych <= 0xBF) - goto yy1296; - goto yy1297; - yy1299: + goto yy1163; + goto yy1164; + yy1166: yych = *++p; if (yych <= 0x7F) - goto yy1297; + goto yy1164; if (yych <= 0xBF) - goto yy1296; - goto yy1297; - yy1300: + goto yy1163; + goto yy1164; + yy1167: yych = *++p; if (yych <= 0x8F) - goto yy1297; + goto yy1164; if (yych <= 0xBF) - goto yy1299; - goto yy1297; - yy1301: + goto yy1166; + goto yy1164; + yy1168: yych = *++p; if (yych <= 0x7F) - goto yy1297; + goto yy1164; if (yych <= 0xBF) - goto yy1299; - goto yy1297; - yy1302: + goto yy1166; + goto yy1164; + yy1169: yych = *++p; if (yych <= 0x7F) - goto yy1297; + goto yy1164; if (yych <= 0x8F) - goto yy1299; - goto yy1297; - yy1303: + goto yy1166; + goto yy1164; + yy1170: yych = *++p; if (yych <= 0x7F) - goto yy1297; + goto yy1164; if (yych <= 0x9F) - goto yy1296; - goto yy1297; - yy1304: + goto yy1163; + goto yy1164; + yy1171: yych = *++p; if (yybm[0 + yych] & 32) { - goto yy1305; + goto yy1172; } - goto yy1297; - yy1305: + goto yy1164; + yy1172: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 64) { - goto yy1307; + goto yy1174; } if (yych <= '\f') { if (yych <= 0x08) - goto yy1297; + goto yy1164; if (yych <= '\n') - goto yy1309; - goto yy1297; + goto yy1176; + goto yy1164; } else { if (yych <= '\r') - goto yy1309; + goto yy1176; if (yych == '~') - goto yy1305; - goto yy1297; + goto yy1172; + goto yy1164; } - yy1307: + yy1174: ++p; yych = *p; if (yybm[0 + yych] & 64) { - goto yy1307; + goto yy1174; } if (yych <= 0x08) - goto yy1297; + goto yy1164; if (yych <= '\n') - goto yy1309; + goto yy1176; if (yych != '\r') - goto yy1297; - yy1309: + goto yy1164; + yy1176: ++p; p = marker; { return (bufsize_t)(p - start); } - yy1311: + yy1178: yych = *++p; if (yybm[0 + yych] & 128) { - goto yy1312; + goto yy1179; } - goto yy1297; - yy1312: + goto yy1164; + yy1179: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 128) { - goto yy1312; + goto yy1179; } if (yych <= '\f') { if (yych <= 0x08) - goto yy1297; + goto yy1164; if (yych <= '\t') - goto yy1314; + goto yy1181; if (yych <= '\n') - goto yy1316; - goto yy1297; + goto yy1183; + goto yy1164; } else { if (yych <= '\r') - goto yy1316; + goto yy1183; if (yych != ' ') - goto yy1297; + goto yy1164; } - yy1314: + yy1181: ++p; yych = *p; if (yych <= '\f') { if (yych <= 0x08) - goto yy1297; + goto yy1164; if (yych <= '\t') - goto yy1314; + goto yy1181; if (yych >= '\v') - goto yy1297; + goto yy1164; } else { if (yych <= '\r') - goto yy1316; + goto yy1183; if (yych == ' ') - goto yy1314; - goto yy1297; + goto yy1181; + goto yy1164; } - yy1316: + yy1183: ++p; p = marker; { return (bufsize_t)(p - start); } @@ -19547,997 +17463,997 @@ bufsize_t _scan_entity(const unsigned char *p) { if (yych <= 0xDF) { if (yych <= '%') { if (yych != '\n') - goto yy1322; + goto yy1189; } else { if (yych <= '&') - goto yy1321; + goto yy1188; if (yych <= 0x7F) - goto yy1322; + goto yy1189; if (yych >= 0xC2) - goto yy1323; + goto yy1190; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) - goto yy1325; + goto yy1192; if (yych == 0xED) - goto yy1330; - goto yy1326; + goto yy1197; + goto yy1193; } else { if (yych <= 0xF0) - goto yy1327; + goto yy1194; if (yych <= 0xF3) - goto yy1328; + goto yy1195; if (yych <= 0xF4) - goto yy1329; + goto yy1196; } } - yy1320 : { return 0; } - yy1321: + yy1187 : { return 0; } + yy1188: yych = *(marker = ++p); if (yych <= '@') { if (yych == '#') - goto yy1331; - goto yy1320; + goto yy1198; + goto yy1187; } else { if (yych <= 'Z') - goto yy1332; + goto yy1199; if (yych <= '`') - goto yy1320; + goto yy1187; if (yych <= 'z') - goto yy1332; - goto yy1320; + goto yy1199; + goto yy1187; } - yy1322: + yy1189: yych = *++p; - goto yy1320; - yy1323: + goto yy1187; + yy1190: yych = *++p; if (yych <= 0x7F) - goto yy1324; + goto yy1191; if (yych <= 0xBF) - goto yy1322; - yy1324: + goto yy1189; + yy1191: p = marker; - goto yy1320; - yy1325: + goto yy1187; + yy1192: yych = *++p; if (yych <= 0x9F) - goto yy1324; + goto yy1191; if (yych <= 0xBF) - goto yy1323; - goto yy1324; - yy1326: + goto yy1190; + goto yy1191; + yy1193: yych = *++p; if (yych <= 0x7F) - goto yy1324; + goto yy1191; if (yych <= 0xBF) - goto yy1323; - goto yy1324; - yy1327: + goto yy1190; + goto yy1191; + yy1194: yych = *++p; if (yych <= 0x8F) - goto yy1324; + goto yy1191; if (yych <= 0xBF) - goto yy1326; - goto yy1324; - yy1328: + goto yy1193; + goto yy1191; + yy1195: yych = *++p; if (yych <= 0x7F) - goto yy1324; + goto yy1191; if (yych <= 0xBF) - goto yy1326; - goto yy1324; - yy1329: + goto yy1193; + goto yy1191; + yy1196: yych = *++p; if (yych <= 0x7F) - goto yy1324; + goto yy1191; if (yych <= 0x8F) - goto yy1326; - goto yy1324; - yy1330: + goto yy1193; + goto yy1191; + yy1197: yych = *++p; if (yych <= 0x7F) - goto yy1324; + goto yy1191; if (yych <= 0x9F) - goto yy1323; - goto yy1324; - yy1331: + goto yy1190; + goto yy1191; + yy1198: yych = *++p; if (yych <= 'W') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1367; - goto yy1324; + goto yy1234; + goto yy1191; } else { if (yych <= 'X') - goto yy1366; + goto yy1233; if (yych == 'x') - goto yy1366; - goto yy1324; + goto yy1233; + goto yy1191; } - yy1332: + yy1199: yych = *++p; if (yych <= '@') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych >= ':') - goto yy1324; + goto yy1191; } else { if (yych <= 'Z') - goto yy1333; + goto yy1200; if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } - yy1333: + yy1200: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1336; + goto yy1203; if (yych <= ':') - goto yy1324; + goto yy1191; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; - goto yy1336; + goto yy1191; + goto yy1203; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych <= 'z') - goto yy1336; - goto yy1324; + goto yy1203; + goto yy1191; } } - yy1334: + yy1201: ++p; { return (bufsize_t)(p - start); } - yy1336: + yy1203: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1337; + goto yy1204; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1337: + yy1204: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1338; + goto yy1205; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1338: + yy1205: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1339; + goto yy1206; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1339: + yy1206: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1340; + goto yy1207; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1340: + yy1207: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1341; + goto yy1208; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1341: + yy1208: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1342; + goto yy1209; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1342: + yy1209: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1343; + goto yy1210; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1343: + yy1210: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1344; + goto yy1211; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1344: + yy1211: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1345; + goto yy1212; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1345: + yy1212: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1346; + goto yy1213; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1346: + yy1213: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1347; + goto yy1214; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1347: + yy1214: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1348; + goto yy1215; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1348: + yy1215: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1349; + goto yy1216; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1349: + yy1216: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1350; + goto yy1217; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1350: + yy1217: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1351; + goto yy1218; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1351: + yy1218: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1352; + goto yy1219; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1352: + yy1219: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1353; + goto yy1220; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1353: + yy1220: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1354; + goto yy1221; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1354: + yy1221: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1355; + goto yy1222; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1355: + yy1222: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1356; + goto yy1223; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1356: + yy1223: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1357; + goto yy1224; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1357: + yy1224: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1358; + goto yy1225; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1358: + yy1225: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1359; + goto yy1226; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1359: + yy1226: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1360; + goto yy1227; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1360: + yy1227: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1361; + goto yy1228; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1361: + yy1228: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1362; + goto yy1229; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1362: + yy1229: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1363; + goto yy1230; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1363: + yy1230: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1364; + goto yy1231; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1364: + yy1231: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1365; + goto yy1232; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'Z') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= '{') - goto yy1324; + goto yy1191; } } - yy1365: + yy1232: yych = *++p; if (yych == ';') - goto yy1334; - goto yy1324; - yy1366: + goto yy1201; + goto yy1191; + yy1233: yych = *++p; if (yych <= '@') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1374; - goto yy1324; + goto yy1241; + goto yy1191; } else { if (yych <= 'F') - goto yy1374; + goto yy1241; if (yych <= '`') - goto yy1324; + goto yy1191; if (yych <= 'f') - goto yy1374; - goto yy1324; + goto yy1241; + goto yy1191; } - yy1367: + yy1234: yych = *++p; if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1368; + goto yy1235; if (yych == ';') - goto yy1334; - goto yy1324; - yy1368: + goto yy1201; + goto yy1191; + yy1235: yych = *++p; if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1369; + goto yy1236; if (yych == ';') - goto yy1334; - goto yy1324; - yy1369: + goto yy1201; + goto yy1191; + yy1236: yych = *++p; if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1370; + goto yy1237; if (yych == ';') - goto yy1334; - goto yy1324; - yy1370: + goto yy1201; + goto yy1191; + yy1237: yych = *++p; if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1371; + goto yy1238; if (yych == ';') - goto yy1334; - goto yy1324; - yy1371: + goto yy1201; + goto yy1191; + yy1238: yych = *++p; if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1372; + goto yy1239; if (yych == ';') - goto yy1334; - goto yy1324; - yy1372: + goto yy1201; + goto yy1191; + yy1239: yych = *++p; if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1373; + goto yy1240; if (yych == ';') - goto yy1334; - goto yy1324; - yy1373: + goto yy1201; + goto yy1191; + yy1240: yych = *++p; if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1365; + goto yy1232; if (yych == ';') - goto yy1334; - goto yy1324; - yy1374: + goto yy1201; + goto yy1191; + yy1241: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1375; + goto yy1242; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'F') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= 'g') - goto yy1324; + goto yy1191; } } - yy1375: + yy1242: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1376; + goto yy1243; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'F') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= 'g') - goto yy1324; + goto yy1191; } } - yy1376: + yy1243: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1377; + goto yy1244; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'F') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= 'g') - goto yy1324; + goto yy1191; } } - yy1377: + yy1244: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1378; + goto yy1245; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'F') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= 'g') - goto yy1324; + goto yy1191; } } - yy1378: + yy1245: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1379; + goto yy1246; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'F') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= 'g') - goto yy1324; + goto yy1191; } } - yy1379: + yy1246: yych = *++p; if (yych <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1380; + goto yy1247; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'F') { if (yych <= '@') - goto yy1324; + goto yy1191; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych >= 'g') - goto yy1324; + goto yy1191; } } - yy1380: + yy1247: ++p; if ((yych = *p) <= ';') { if (yych <= '/') - goto yy1324; + goto yy1191; if (yych <= '9') - goto yy1365; + goto yy1232; if (yych <= ':') - goto yy1324; - goto yy1334; + goto yy1191; + goto yy1201; } else { if (yych <= 'F') { if (yych <= '@') - goto yy1324; - goto yy1365; + goto yy1191; + goto yy1232; } else { if (yych <= '`') - goto yy1324; + goto yy1191; if (yych <= 'f') - goto yy1365; - goto yy1324; + goto yy1232; + goto yy1191; } } } @@ -20557,415 +18473,415 @@ bufsize_t _scan_dangerous_url(const unsigned char *p) { if (yych <= 'I') { if (yych <= 'C') { if (yych != '\n') - goto yy1388; + goto yy1255; } else { if (yych <= 'D') - goto yy1384; + goto yy1251; if (yych == 'F') - goto yy1387; - goto yy1388; + goto yy1254; + goto yy1255; } } else { if (yych <= 'V') { if (yych <= 'J') - goto yy1385; + goto yy1252; if (yych <= 'U') - goto yy1388; - goto yy1386; + goto yy1255; + goto yy1253; } else { if (yych == 'd') - goto yy1384; + goto yy1251; if (yych <= 'e') - goto yy1388; - goto yy1387; + goto yy1255; + goto yy1254; } } } else { if (yych <= 0xDF) { if (yych <= 'u') { if (yych == 'j') - goto yy1385; - goto yy1388; + goto yy1252; + goto yy1255; } else { if (yych <= 'v') - goto yy1386; + goto yy1253; if (yych <= 0x7F) - goto yy1388; + goto yy1255; if (yych >= 0xC2) - goto yy1389; + goto yy1256; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) - goto yy1391; + goto yy1258; if (yych == 0xED) - goto yy1396; - goto yy1392; + goto yy1263; + goto yy1259; } else { if (yych <= 0xF0) - goto yy1393; + goto yy1260; if (yych <= 0xF3) - goto yy1394; + goto yy1261; if (yych <= 0xF4) - goto yy1395; + goto yy1262; } } } - yy1383 : { return 0; } - yy1384: + yy1250 : { return 0; } + yy1251: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') - goto yy1418; + goto yy1285; if (yych == 'a') - goto yy1418; - goto yy1383; - yy1385: + goto yy1285; + goto yy1250; + yy1252: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') - goto yy1409; + goto yy1276; if (yych == 'a') - goto yy1409; - goto yy1383; - yy1386: + goto yy1276; + goto yy1250; + yy1253: yyaccept = 0; yych = *(marker = ++p); if (yych == 'B') - goto yy1402; + goto yy1269; if (yych == 'b') - goto yy1402; - goto yy1383; - yy1387: + goto yy1269; + goto yy1250; + yy1254: yyaccept = 0; yych = *(marker = ++p); if (yych == 'I') - goto yy1397; + goto yy1264; if (yych == 'i') - goto yy1397; - goto yy1383; - yy1388: + goto yy1264; + goto yy1250; + yy1255: yych = *++p; - goto yy1383; - yy1389: + goto yy1250; + yy1256: yych = *++p; if (yych <= 0x7F) - goto yy1390; + goto yy1257; if (yych <= 0xBF) - goto yy1388; - yy1390: + goto yy1255; + yy1257: p = marker; if (yyaccept == 0) { - goto yy1383; + goto yy1250; } else { - goto yy1401; + goto yy1268; } - yy1391: + yy1258: yych = *++p; if (yych <= 0x9F) - goto yy1390; + goto yy1257; if (yych <= 0xBF) - goto yy1389; - goto yy1390; - yy1392: + goto yy1256; + goto yy1257; + yy1259: yych = *++p; if (yych <= 0x7F) - goto yy1390; + goto yy1257; if (yych <= 0xBF) - goto yy1389; - goto yy1390; - yy1393: + goto yy1256; + goto yy1257; + yy1260: yych = *++p; if (yych <= 0x8F) - goto yy1390; + goto yy1257; if (yych <= 0xBF) - goto yy1392; - goto yy1390; - yy1394: + goto yy1259; + goto yy1257; + yy1261: yych = *++p; if (yych <= 0x7F) - goto yy1390; + goto yy1257; if (yych <= 0xBF) - goto yy1392; - goto yy1390; - yy1395: + goto yy1259; + goto yy1257; + yy1262: yych = *++p; if (yych <= 0x7F) - goto yy1390; + goto yy1257; if (yych <= 0x8F) - goto yy1392; - goto yy1390; - yy1396: + goto yy1259; + goto yy1257; + yy1263: yych = *++p; if (yych <= 0x7F) - goto yy1390; + goto yy1257; if (yych <= 0x9F) - goto yy1389; - goto yy1390; - yy1397: + goto yy1256; + goto yy1257; + yy1264: yych = *++p; if (yych == 'L') - goto yy1398; + goto yy1265; if (yych != 'l') - goto yy1390; - yy1398: + goto yy1257; + yy1265: yych = *++p; if (yych == 'E') - goto yy1399; + goto yy1266; if (yych != 'e') - goto yy1390; - yy1399: + goto yy1257; + yy1266: yych = *++p; if (yych != ':') - goto yy1390; - yy1400: + goto yy1257; + yy1267: ++p; - yy1401 : { return (bufsize_t)(p - start); } - yy1402: + yy1268 : { return (bufsize_t)(p - start); } + yy1269: yych = *++p; if (yych == 'S') - goto yy1403; + goto yy1270; if (yych != 's') - goto yy1390; - yy1403: + goto yy1257; + yy1270: yych = *++p; if (yych == 'C') - goto yy1404; + goto yy1271; if (yych != 'c') - goto yy1390; - yy1404: + goto yy1257; + yy1271: yych = *++p; if (yych == 'R') - goto yy1405; + goto yy1272; if (yych != 'r') - goto yy1390; - yy1405: + goto yy1257; + yy1272: yych = *++p; if (yych == 'I') - goto yy1406; + goto yy1273; if (yych != 'i') - goto yy1390; - yy1406: + goto yy1257; + yy1273: yych = *++p; if (yych == 'P') - goto yy1407; + goto yy1274; if (yych != 'p') - goto yy1390; - yy1407: + goto yy1257; + yy1274: yych = *++p; if (yych == 'T') - goto yy1408; + goto yy1275; if (yych != 't') - goto yy1390; - yy1408: + goto yy1257; + yy1275: yych = *++p; if (yych == ':') - goto yy1400; - goto yy1390; - yy1409: + goto yy1267; + goto yy1257; + yy1276: yych = *++p; if (yych == 'V') - goto yy1410; + goto yy1277; if (yych != 'v') - goto yy1390; - yy1410: + goto yy1257; + yy1277: yych = *++p; if (yych == 'A') - goto yy1411; + goto yy1278; if (yych != 'a') - goto yy1390; - yy1411: + goto yy1257; + yy1278: yych = *++p; if (yych == 'S') - goto yy1412; + goto yy1279; if (yych != 's') - goto yy1390; - yy1412: + goto yy1257; + yy1279: yych = *++p; if (yych == 'C') - goto yy1413; + goto yy1280; if (yych != 'c') - goto yy1390; - yy1413: + goto yy1257; + yy1280: yych = *++p; if (yych == 'R') - goto yy1414; + goto yy1281; if (yych != 'r') - goto yy1390; - yy1414: + goto yy1257; + yy1281: yych = *++p; if (yych == 'I') - goto yy1415; + goto yy1282; if (yych != 'i') - goto yy1390; - yy1415: + goto yy1257; + yy1282: yych = *++p; if (yych == 'P') - goto yy1416; + goto yy1283; if (yych != 'p') - goto yy1390; - yy1416: + goto yy1257; + yy1283: yych = *++p; if (yych == 'T') - goto yy1417; + goto yy1284; if (yych != 't') - goto yy1390; - yy1417: + goto yy1257; + yy1284: yych = *++p; if (yych == ':') - goto yy1400; - goto yy1390; - yy1418: + goto yy1267; + goto yy1257; + yy1285: yych = *++p; if (yych == 'T') - goto yy1419; + goto yy1286; if (yych != 't') - goto yy1390; - yy1419: + goto yy1257; + yy1286: yych = *++p; if (yych == 'A') - goto yy1420; + goto yy1287; if (yych != 'a') - goto yy1390; - yy1420: + goto yy1257; + yy1287: yych = *++p; if (yych != ':') - goto yy1390; + goto yy1257; yyaccept = 1; yych = *(marker = ++p); if (yych == 'I') - goto yy1422; + goto yy1289; if (yych != 'i') - goto yy1401; - yy1422: + goto yy1268; + yy1289: yych = *++p; if (yych == 'M') - goto yy1423; + goto yy1290; if (yych != 'm') - goto yy1390; - yy1423: + goto yy1257; + yy1290: yych = *++p; if (yych == 'A') - goto yy1424; + goto yy1291; if (yych != 'a') - goto yy1390; - yy1424: + goto yy1257; + yy1291: yych = *++p; if (yych == 'G') - goto yy1425; + goto yy1292; if (yych != 'g') - goto yy1390; - yy1425: + goto yy1257; + yy1292: yych = *++p; if (yych == 'E') - goto yy1426; + goto yy1293; if (yych != 'e') - goto yy1390; - yy1426: + goto yy1257; + yy1293: yych = *++p; if (yych != '/') - goto yy1390; + goto yy1257; yych = *++p; if (yych <= 'W') { if (yych <= 'J') { if (yych == 'G') - goto yy1429; + goto yy1296; if (yych <= 'I') - goto yy1390; - goto yy1430; + goto yy1257; + goto yy1297; } else { if (yych == 'P') - goto yy1428; + goto yy1295; if (yych <= 'V') - goto yy1390; - goto yy1431; + goto yy1257; + goto yy1298; } } else { if (yych <= 'j') { if (yych == 'g') - goto yy1429; + goto yy1296; if (yych <= 'i') - goto yy1390; - goto yy1430; + goto yy1257; + goto yy1297; } else { if (yych <= 'p') { if (yych <= 'o') - goto yy1390; + goto yy1257; } else { if (yych == 'w') - goto yy1431; - goto yy1390; + goto yy1298; + goto yy1257; } } } - yy1428: + yy1295: yych = *++p; if (yych == 'N') - goto yy1439; + goto yy1306; if (yych == 'n') - goto yy1439; - goto yy1390; - yy1429: + goto yy1306; + goto yy1257; + yy1296: yych = *++p; if (yych == 'I') - goto yy1438; + goto yy1305; if (yych == 'i') - goto yy1438; - goto yy1390; - yy1430: + goto yy1305; + goto yy1257; + yy1297: yych = *++p; if (yych == 'P') - goto yy1436; + goto yy1303; if (yych == 'p') - goto yy1436; - goto yy1390; - yy1431: + goto yy1303; + goto yy1257; + yy1298: yych = *++p; if (yych == 'E') - goto yy1432; + goto yy1299; if (yych != 'e') - goto yy1390; - yy1432: + goto yy1257; + yy1299: yych = *++p; if (yych == 'B') - goto yy1433; + goto yy1300; if (yych != 'b') - goto yy1390; - yy1433: + goto yy1257; + yy1300: yych = *++p; if (yych == 'P') - goto yy1434; + goto yy1301; if (yych != 'p') - goto yy1390; - yy1434: + goto yy1257; + yy1301: ++p; { return 0; } - yy1436: + yy1303: yych = *++p; if (yych == 'E') - goto yy1437; + goto yy1304; if (yych != 'e') - goto yy1390; - yy1437: + goto yy1257; + yy1304: yych = *++p; if (yych == 'G') - goto yy1434; + goto yy1301; if (yych == 'g') - goto yy1434; - goto yy1390; - yy1438: + goto yy1301; + goto yy1257; + yy1305: yych = *++p; if (yych == 'F') - goto yy1434; + goto yy1301; if (yych == 'f') - goto yy1434; - goto yy1390; - yy1439: + goto yy1301; + goto yy1257; + yy1306: ++p; if ((yych = *p) == 'G') - goto yy1434; + goto yy1301; if (yych == 'g') - goto yy1434; - goto yy1390; + goto yy1301; + goto yy1257; } } diff --git a/src/scanners.h b/src/scanners.h index 5e3cbe7..207f91a 100644 --- a/src/scanners.h +++ b/src/scanners.h @@ -18,7 +18,6 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p); bufsize_t _scan_html_block_end_3(const unsigned char *p); bufsize_t _scan_html_block_end_4(const unsigned char *p); bufsize_t _scan_html_block_end_5(const unsigned char *p); -bufsize_t _scan_link_url(const unsigned char *p); bufsize_t _scan_link_title(const unsigned char *p); bufsize_t _scan_spacechars(const unsigned char *p); bufsize_t _scan_atx_heading_start(const unsigned char *p); @@ -40,7 +39,6 @@ bufsize_t _scan_dangerous_url(const unsigned char *p); #define scan_html_block_end_3(c, n) _scan_at(&_scan_html_block_end_3, c, n) #define scan_html_block_end_4(c, n) _scan_at(&_scan_html_block_end_4, c, n) #define scan_html_block_end_5(c, n) _scan_at(&_scan_html_block_end_5, c, n) -#define scan_link_url(c, n) _scan_at(&_scan_link_url, c, n) #define scan_link_title(c, n) _scan_at(&_scan_link_title, c, n) #define scan_spacechars(c, n) _scan_at(&_scan_spacechars, c, n) #define scan_atx_heading_start(c, n) _scan_at(&_scan_atx_heading_start, c, n) diff --git a/src/scanners.re b/src/scanners.re index 77d30cd..02b393a 100644 --- a/src/scanners.re +++ b/src/scanners.re @@ -205,21 +205,6 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) */ } -// Try to match a URL in a link or reference, return number of chars matched. -// This may optionally be contained in <..>; otherwise -// whitespace and unbalanced right parentheses aren't allowed. -// Newlines aren't ever allowed. -bufsize_t _scan_link_url(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - [ \r\n]* [<] ([^<> \t\r\n\\\x00] | escaped_char | [\\])* [>] { return (bufsize_t)(p - start); } - [ \r\n]* (reg_char+ | escaped_char | [\\] [^() \t\v\f\r\n] | in_parens_nosp)* [\\]? { return (bufsize_t)(p - start); } - .? { return 0; } -*/ -} - // 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). diff --git a/test/spec.txt b/test/spec.txt index c66f93b..c49e85b 100644 --- a/test/spec.txt +++ b/test/spec.txt @@ -7148,8 +7148,7 @@ A [link destination](@) consists of either - a nonempty sequence of characters that does not include ASCII space or control characters, and includes parentheses only if (a) they are backslash-escaped or (b) they are part of - a balanced pair of unescaped parentheses that is not itself - inside a balanced pair of unescaped parentheses. + a balanced pair of unescaped parentheses. A [link title](@) consists of either @@ -7255,35 +7254,29 @@ Parentheses inside the link destination may be escaped: <p><a href="(foo)">link</a></p> ```````````````````````````````` -One level of balanced parentheses is allowed without escaping: - -```````````````````````````````` example -[link]((foo)and(bar)) -. -<p><a href="(foo)and(bar)">link</a></p> -```````````````````````````````` - -However, if you have parentheses within parentheses, you need to escape -or use the `<...>` form: +Any number parentheses are allowed without escaping, as long as they are +balanced: ```````````````````````````````` example [link](foo(and(bar))) . -<p>[link](foo(and(bar)))</p> +<p><a href="foo(and(bar))">link</a></p> ```````````````````````````````` +However, if you have unbalanced parentheses, you need to escape or use the +`<...>` form: ```````````````````````````````` example -[link](foo(and\(bar\))) +[link](foo\(and\(bar\)) . -<p><a href="foo(and(bar))">link</a></p> +<p><a href="foo(and(bar)">link</a></p> ```````````````````````````````` ```````````````````````````````` example -[link](<foo(and(bar))>) +[link](<foo(and(bar)>) . -<p><a href="foo(and(bar))">link</a></p> +<p><a href="foo(and(bar)">link</a></p> ```````````````````````````````` |