diff options
author | John MacFarlane <jgm@berkeley.edu> | 2019-03-17 10:23:47 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2019-03-17 10:23:47 -0700 |
commit | 9f7d0a674b0a9c741daf359516d80dbf13ec960a (patch) | |
tree | 06f58b1cc23b795c06be895dbc586d5e0bb696a3 | |
parent | a32124dd5dfcb6138e422c7d76b236fd2161c275 (diff) |
Disallow unescaped ( in parenthesized link title.
In accord with spec change.
-rw-r--r-- | src/scanners.c | 1881 | ||||
-rw-r--r-- | src/scanners.re | 2 |
2 files changed, 1340 insertions, 543 deletions
diff --git a/src/scanners.c b/src/scanners.c index 3ee0cfa..930c3f7 100644 --- a/src/scanners.c +++ b/src/scanners.c @@ -1,4 +1,4 @@ -/* Generated by re2c 1.0.2 */ +/* Generated by re2c 0.16 */ #include <stdlib.h> #include "chunk.h" #include "scanners.h" @@ -738,8 +738,8 @@ bufsize_t _scan_scheme(const unsigned char *p) { goto yy6; } } - yych = *++p; - if (yych == ':') + ++p; + if ((yych = *p) == ':') goto yy8; goto yy6; } @@ -864,7 +864,8 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) { } } yy47: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy47; } @@ -928,49 +929,56 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) { ++p; { return (bufsize_t)(p - start); } yy52: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy47; goto yy45; yy53: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy45; if (yych <= 0xBF) goto yy52; goto yy45; yy54: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy52; goto yy45; yy55: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0x9F) goto yy52; goto yy45; yy56: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy45; if (yych <= 0xBF) goto yy54; goto yy45; yy57: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy54; goto yy45; yy58: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0x8F) @@ -1571,8 +1579,8 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) { goto yy45; } } - yych = *++p; - if (yych == ':') + ++p; + if ((yych = *p) == ':') goto yy47; goto yy45; } @@ -1674,7 +1682,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy92: - yych = *++p; + ++p; + yych = *p; yy93: if (yybm[0 + yych] & 128) { goto yy92; @@ -1687,7 +1696,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { p = marker; goto yy90; yy95: - yych = *++p; + ++p; + yych = *p; if (yych <= '@') { if (yych <= '/') goto yy94; @@ -1702,7 +1712,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { goto yy94; } yy96: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -1731,7 +1742,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { goto yy94; } } - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy101; @@ -1752,7 +1764,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy98: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -1786,7 +1799,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { ++p; { return (bufsize_t)(p - start); } yy101: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy103; @@ -1807,7 +1821,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy102: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -1837,7 +1852,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy103: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy105; @@ -1858,7 +1874,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy104: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -1888,7 +1905,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy105: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy107; @@ -1909,7 +1927,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy106: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -1939,7 +1958,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy107: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy109; @@ -1960,7 +1980,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy108: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -1990,7 +2011,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy109: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy111; @@ -2011,7 +2033,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy110: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2041,7 +2064,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy111: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy113; @@ -2062,7 +2086,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy112: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2092,7 +2117,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy113: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy115; @@ -2113,7 +2139,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy114: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2143,7 +2170,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy115: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy117; @@ -2164,7 +2192,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy116: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2194,7 +2223,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy117: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy119; @@ -2215,7 +2245,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy118: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2245,7 +2276,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy119: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy121; @@ -2266,7 +2298,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy120: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2296,7 +2329,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy121: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy123; @@ -2317,7 +2351,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy122: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2347,7 +2382,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy123: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy125; @@ -2368,7 +2404,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy124: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2398,7 +2435,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy125: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy127; @@ -2419,7 +2457,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy126: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2449,7 +2488,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy127: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy129; @@ -2470,7 +2510,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy128: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2500,7 +2541,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy129: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy131; @@ -2521,7 +2563,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy130: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2551,7 +2594,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy131: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy133; @@ -2572,7 +2616,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy132: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2602,7 +2647,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy133: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy135; @@ -2623,7 +2669,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy134: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2653,7 +2700,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy135: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy137; @@ -2674,7 +2722,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy136: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2704,7 +2753,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy137: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy139; @@ -2725,7 +2775,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy138: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2755,7 +2806,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy139: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy141; @@ -2776,7 +2828,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy140: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2806,7 +2859,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy141: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy143; @@ -2827,7 +2881,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy142: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2857,7 +2912,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy143: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy145; @@ -2878,7 +2934,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy144: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2908,7 +2965,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy145: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy147; @@ -2929,7 +2987,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy146: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -2959,7 +3018,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy147: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy149; @@ -2980,7 +3040,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy148: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3010,7 +3071,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy149: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy151; @@ -3031,7 +3093,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy150: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3061,7 +3124,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy151: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy153; @@ -3082,7 +3146,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy152: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3112,7 +3177,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy153: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy155; @@ -3133,7 +3199,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy154: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3163,7 +3230,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy155: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy157; @@ -3184,7 +3252,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy156: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3214,7 +3283,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy157: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy159; @@ -3235,7 +3305,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy158: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3265,7 +3336,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy159: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy161; @@ -3286,7 +3358,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy160: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3316,7 +3389,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy161: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy163; @@ -3337,7 +3411,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy162: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3367,7 +3442,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy163: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy165; @@ -3388,7 +3464,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy164: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3418,7 +3495,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy165: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy167; @@ -3439,7 +3517,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy166: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3469,7 +3548,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy167: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy169; @@ -3490,7 +3570,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy168: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3520,7 +3601,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy169: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy171; @@ -3541,7 +3623,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy170: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3571,7 +3654,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy171: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy173; @@ -3592,7 +3676,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy172: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3622,7 +3707,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy173: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy175; @@ -3643,7 +3729,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy174: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3673,7 +3760,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy175: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy177; @@ -3694,7 +3782,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy176: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3724,7 +3813,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy177: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy179; @@ -3745,7 +3835,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy178: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3775,7 +3866,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy179: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy181; @@ -3796,7 +3888,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy180: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3826,7 +3919,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy181: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy183; @@ -3847,7 +3941,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy182: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3877,7 +3972,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy183: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy185; @@ -3898,7 +3994,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy184: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3928,7 +4025,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy185: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy187; @@ -3949,7 +4047,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy186: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -3979,7 +4078,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy187: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy189; @@ -4000,7 +4100,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy188: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4030,7 +4131,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy189: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy191; @@ -4051,7 +4153,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy190: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4081,7 +4184,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy191: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy193; @@ -4102,7 +4206,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy192: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4132,7 +4237,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy193: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy195; @@ -4153,7 +4259,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy194: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4183,7 +4290,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy195: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy197; @@ -4204,7 +4312,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy196: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4234,7 +4343,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy197: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy199; @@ -4255,7 +4365,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy198: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4285,7 +4396,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy199: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy201; @@ -4306,7 +4418,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy200: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4336,7 +4449,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy201: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy203; @@ -4357,7 +4471,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy202: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4387,7 +4502,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy203: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy205; @@ -4408,7 +4524,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy204: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4438,7 +4555,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy205: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy207; @@ -4459,7 +4577,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy206: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4489,7 +4608,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy207: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy209; @@ -4510,7 +4630,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy208: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4540,7 +4661,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy209: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy211; @@ -4561,7 +4683,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy210: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4591,7 +4714,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy211: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy213; @@ -4612,7 +4736,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy212: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4642,7 +4767,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy213: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy215; @@ -4663,7 +4789,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy214: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4693,7 +4820,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy215: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy217; @@ -4714,7 +4842,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy216: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4744,7 +4873,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy217: - yych = *++p; + ++p; + yych = *p; if (yych <= '9') { if (yych == '-') goto yy219; @@ -4765,7 +4895,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy218: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') @@ -4795,7 +4926,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy219: - yych = *++p; + ++p; + yych = *p; if (yych <= '@') { if (yych <= '/') goto yy94; @@ -4812,7 +4944,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { goto yy94; } yy220: - yych = *++p; + ++p; + yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= '-') @@ -4838,7 +4971,8 @@ bufsize_t _scan_autolink_email(const unsigned char *p) { } } yy221: - yych = *++p; + ++p; + yych = *p; if (yych == '.') goto yy95; if (yych == '>') @@ -4856,37 +4990,519 @@ bufsize_t _scan_html_tag(const unsigned char *p) { unsigned char yych; static const unsigned char yybm[] = { /* table 1 .. 8: 0 */ - 0, 250, 250, 250, 250, 250, 250, 250, 250, 235, 235, 235, 235, 235, 250, - 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 235, 250, 202, 250, 250, 250, 250, 170, 250, 250, 250, - 250, 250, 246, 254, 250, 254, 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 250, 234, 234, 232, 250, 250, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 250, 250, 122, 250, 254, 234, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 250, 250, 250, 250, - 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 235, + 235, + 235, + 235, + 235, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 235, + 250, + 202, + 250, + 250, + 250, + 250, + 170, + 250, + 250, + 250, + 250, + 250, + 246, + 254, + 250, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 250, + 234, + 234, + 232, + 250, + 250, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 250, + 250, + 122, + 250, + 254, + 234, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 254, + 250, + 250, + 250, + 250, + 250, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, /* table 9 .. 11: 256 */ - 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 192, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 128, 128, 128, 128, 128, 0, 128, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 128, 128, 128, 128, 128, 128, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, + 0, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 192, + 128, + 128, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 128, + 128, + 128, + 128, + 128, + 0, + 128, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 224, + 128, + 128, + 128, + 128, + 128, + 128, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 192, + 128, + 128, + 128, + 128, + 128, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; yych = *p; if (yych <= '>') { @@ -4949,34 +5565,33 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy225; yy229: yych = *(marker = ++p); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy225; - if (yych <= '\r') - goto yy250; + if (yybm[0 + yych] & 1) { + goto yy247; + } + if (yych <= '=') { + if (yych <= '.') { + if (yych == '-') + goto yy249; goto yy225; } else { - if (yych <= ' ') - goto yy250; - if (yych == '-') - goto yy250; + if (yych <= '/') + goto yy251; + if (yych <= '9') + goto yy249; goto yy225; } } else { - if (yych <= '@') { - if (yych <= '9') - goto yy250; - if (yych == '>') - goto yy250; - goto yy225; + if (yych <= 'Z') { + if (yych <= '>') + goto yy252; + if (yych <= '@') + goto yy225; + goto yy249; } else { - if (yych <= 'Z') - goto yy250; if (yych <= '`') goto yy225; if (yych <= 'z') - goto yy250; + goto yy249; goto yy225; } } @@ -4988,7 +5603,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { p = marker; goto yy225; yy232: - yych = *++p; + ++p; + yych = *p; if (yybm[256 + yych] & 32) { goto yy232; } @@ -5007,7 +5623,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy257; goto yy231; yy235: - yych = *++p; + ++p; + yych = *p; if (yybm[256 + yych] & 64) { goto yy235; } @@ -5025,7 +5642,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy231; } yy237: - yych = *++p; + ++p; + yych = *p; yy238: if (yybm[256 + yych] & 128) { goto yy237; @@ -5058,7 +5676,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy231; } } - yych = *++p; + ++p; + yych = *p; if (yych <= 0xE0) { if (yych <= '>') { if (yych <= 0x00) @@ -5090,56 +5709,64 @@ bufsize_t _scan_html_tag(const unsigned char *p) { } } yy240: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy237; goto yy231; yy241: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy240; goto yy231; yy242: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy240; goto yy231; yy243: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy240; goto yy231; yy244: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy242; goto yy231; yy245: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy242; goto yy231; yy246: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy242; goto yy231; yy247: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 1) { goto yy247; } @@ -5171,8 +5798,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { } } yy249: - yych = *++p; - yy250: + ++p; + yych = *p; if (yybm[0 + yych] & 1) { goto yy247; } @@ -5218,7 +5845,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy231; goto yy263; yy255: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 2) { goto yy255; } @@ -5259,7 +5887,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy279; goto yy231; yy258: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy231; @@ -5274,7 +5903,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy231; } yy260: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 4) { goto yy260; } @@ -5302,7 +5932,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { } } yy262: - yych = *++p; + ++p; + yych = *p; yy263: if (yybm[0 + yych] & 8) { goto yy262; @@ -5344,98 +5975,112 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy231; goto yy263; yy265: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy262; goto yy231; yy266: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy265; goto yy231; yy267: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy265; goto yy231; yy268: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy265; goto yy231; yy269: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy267; goto yy231; yy270: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy267; goto yy231; yy271: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy267; goto yy231; yy272: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy255; goto yy231; yy273: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy272; goto yy231; yy274: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy272; goto yy231; yy275: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy272; goto yy231; yy276: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy274; goto yy231; yy277: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy274; goto yy231; yy278: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) @@ -5449,7 +6094,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy285; goto yy231; yy280: - yych = *++p; + ++p; + yych = *p; if (yych <= '<') { if (yych <= ' ') { if (yych <= 0x08) @@ -5494,7 +6140,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { } } yy282: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 16) { goto yy286; } @@ -5530,7 +6177,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { } } yy284: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 8) { goto yy262; } @@ -5571,7 +6219,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy299; goto yy231; yy286: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 16) { goto yy286; } @@ -5607,7 +6256,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { } } yy288: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 32) { goto yy288; } @@ -5641,7 +6291,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { } } yy290: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy290; } @@ -5675,49 +6326,56 @@ bufsize_t _scan_html_tag(const unsigned char *p) { } } yy292: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy286; goto yy231; yy293: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy292; goto yy231; yy294: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy292; goto yy231; yy295: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy292; goto yy231; yy296: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy294; goto yy231; yy297: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy294; goto yy231; yy298: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) @@ -5731,7 +6389,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy315; goto yy231; yy300: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 1) { goto yy247; } @@ -5741,98 +6400,112 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy252; goto yy231; yy301: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy288; goto yy231; yy302: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy301; goto yy231; yy303: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy301; goto yy231; yy304: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy301; goto yy231; yy305: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy303; goto yy231; yy306: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy303; goto yy231; yy307: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy303; goto yy231; yy308: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy290; goto yy231; yy309: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy308; goto yy231; yy310: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy308; goto yy231; yy311: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy308; goto yy231; yy312: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy310; goto yy231; yy313: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy310; goto yy231; yy314: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) @@ -5843,7 +6516,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { if (yych != '[') goto yy231; yy316: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy316; } @@ -5875,7 +6549,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) { goto yy231; } } - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy316; } @@ -5909,56 +6584,64 @@ bufsize_t _scan_html_tag(const unsigned char *p) { } } yy319: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy316; goto yy231; yy320: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy319; goto yy231; yy321: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy319; goto yy231; yy322: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy319; goto yy231; yy323: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy321; goto yy231; yy324: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy321; goto yy231; yy325: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy321; goto yy231; yy326: - yych = *++p; + ++p; + yych = *p; if (yych <= 0xE0) { if (yych <= '>') { if (yych <= 0x00) @@ -7678,8 +8361,8 @@ bufsize_t _scan_html_block_start(const unsigned char *p) { ++p; { return 5; } yy490: - yych = *++p; - if (yych == 'T') + ++p; + if ((yych = *p) == 'T') goto yy438; if (yych == 't') goto yy438; @@ -7753,7 +8436,8 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { goto yy513; } yy498: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 2) { goto yy502; } @@ -7785,7 +8469,8 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { } } yy500: - yych = *++p; + ++p; + yych = *p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) @@ -7818,7 +8503,8 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { } } yy502: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 2) { goto yy502; } @@ -7853,7 +8539,8 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { if (yych != '>') goto yy497; yy505: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 4) { goto yy505; } @@ -7867,7 +8554,8 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { goto yy514; goto yy497; yy507: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy497; @@ -7882,7 +8570,8 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { goto yy497; } yy509: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 8) { goto yy509; } @@ -7911,7 +8600,8 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { } yy511: yyaccept = 1; - yych = *(marker = ++p); + marker = ++p; + yych = *p; if (yybm[0 + yych] & 4) { goto yy505; } @@ -7925,10 +8615,11 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { goto yy514; yy513 : { return 7; } yy514: - ++p; + yych = *++p; goto yy513; yy515: - yych = *++p; + ++p; + yych = *p; if (yych <= '<') { if (yych <= ' ') { if (yych <= 0x08) @@ -7973,7 +8664,8 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { } } yy517: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 32) { goto yy519; } @@ -8009,7 +8701,8 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { } } yy519: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 32) { goto yy519; } @@ -8045,7 +8738,8 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { } } yy521: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy521; } @@ -8079,7 +8773,8 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { } } yy523: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy523; } @@ -8113,56 +8808,64 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { } } yy525: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy519; goto yy497; yy526: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy497; if (yych <= 0xBF) goto yy525; goto yy497; yy527: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy525; goto yy497; yy528: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x9F) goto yy525; goto yy497; yy529: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy497; if (yych <= 0xBF) goto yy527; goto yy497; yy530: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy527; goto yy497; yy531: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x8F) goto yy527; goto yy497; yy532: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 2) { goto yy502; } @@ -8172,98 +8875,112 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) { goto yy505; goto yy497; yy533: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy521; goto yy497; yy534: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy497; if (yych <= 0xBF) goto yy533; goto yy497; yy535: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy533; goto yy497; yy536: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x9F) goto yy533; goto yy497; yy537: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy497; if (yych <= 0xBF) goto yy535; goto yy497; yy538: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy535; goto yy497; yy539: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x8F) goto yy535; goto yy497; yy540: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy523; goto yy497; yy541: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy497; if (yych <= 0xBF) goto yy540; goto yy497; yy542: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy540; goto yy497; yy543: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x9F) goto yy540; goto yy497; yy544: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy497; if (yych <= 0xBF) goto yy542; goto yy497; yy545: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy542; goto yy497; yy546: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x8F) @@ -8428,7 +9145,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { goto yy567; goto yy550; yy560: - yych = *++p; + ++p; + yych = *p; yy561: if (yybm[0 + yych] & 64) { goto yy560; @@ -8468,7 +9186,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { goto yy582; } yy563: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -8505,56 +9224,64 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } } yy565: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy562; if (yych <= 0xBF) goto yy560; goto yy562; yy566: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy562; if (yych <= 0xBF) goto yy565; goto yy562; yy567: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy562; if (yych <= 0xBF) goto yy565; goto yy562; yy568: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy562; if (yych <= 0x9F) goto yy565; goto yy562; yy569: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy562; if (yych <= 0xBF) goto yy567; goto yy562; yy570: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy562; if (yych <= 0xBF) goto yy567; goto yy562; yy571: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy562; if (yych <= 0x8F) goto yy567; goto yy562; yy572: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -8613,7 +9340,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } } yy573: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -8661,7 +9389,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } } yy574: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -8721,7 +9450,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } } yy575: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -8769,7 +9499,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } } yy576: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -8817,7 +9548,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } } yy577: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -8865,7 +9597,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } } yy578: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -8903,7 +9636,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } } yy579: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -8951,7 +9685,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } } yy580: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -9000,7 +9735,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } yy581: yyaccept = 1; - yych = *(marker = ++p); + marker = ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy560; } @@ -9033,7 +9769,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } yy582 : { return (bufsize_t)(p - start); } yy583: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -9080,7 +9817,8 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) { } } yy584: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } @@ -9285,7 +10023,8 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) { goto yy604; goto yy588; yy598: - yych = *++p; + ++p; + yych = *p; yy599: if (yybm[0 + yych] & 64) { goto yy598; @@ -9325,7 +10064,8 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) { goto yy612; } yy601: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy598; } @@ -9359,56 +10099,64 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) { } } yy602: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy600; if (yych <= 0xBF) goto yy598; goto yy600; yy603: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy600; if (yych <= 0xBF) goto yy602; goto yy600; yy604: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy600; if (yych <= 0xBF) goto yy602; goto yy600; yy605: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy600; if (yych <= 0x9F) goto yy602; goto yy600; yy606: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy600; if (yych <= 0xBF) goto yy604; goto yy600; yy607: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy600; if (yych <= 0xBF) goto yy604; goto yy600; yy608: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy600; if (yych <= 0x8F) goto yy604; goto yy600; yy609: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy609; } @@ -9447,7 +10195,8 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) { } yy611: yyaccept = 1; - yych = *(marker = ++p); + marker = ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy598; } @@ -9638,7 +10387,8 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) { goto yy633; goto yy616; yy626: - yych = *++p; + ++p; + yych = *p; yy627: if (yybm[0 + yych] & 64) { goto yy626; @@ -9678,7 +10428,8 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) { goto yy639; } yy629: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy629; } @@ -9715,49 +10466,56 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) { } } yy631: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy628; if (yych <= 0xBF) goto yy626; goto yy628; yy632: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy628; if (yych <= 0xBF) goto yy631; goto yy628; yy633: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy628; if (yych <= 0xBF) goto yy631; goto yy628; yy634: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy628; if (yych <= 0x9F) goto yy631; goto yy628; yy635: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy628; if (yych <= 0xBF) goto yy633; goto yy628; yy636: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy628; if (yych <= 0xBF) goto yy633; goto yy628; yy637: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy628; if (yych <= 0x8F) @@ -9765,7 +10523,8 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) { goto yy628; yy638: yyaccept = 1; - yych = *(marker = ++p); + marker = ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy626; } @@ -9885,7 +10644,8 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) { } yy645: yyaccept = 1; - yych = *(marker = ++p); + marker = ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy655; } @@ -9974,7 +10734,8 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) { goto yy660; goto yy643; yy655: - yych = *++p; + ++p; + yych = *p; yy656: if (yybm[0 + yych] & 128) { goto yy655; @@ -10014,49 +10775,56 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) { goto yy647; } yy658: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy657; if (yych <= 0xBF) goto yy655; goto yy657; yy659: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy657; if (yych <= 0xBF) goto yy658; goto yy657; yy660: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy657; if (yych <= 0xBF) goto yy658; goto yy657; yy661: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy657; if (yych <= 0x9F) goto yy658; goto yy657; yy662: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy657; if (yych <= 0xBF) goto yy660; goto yy657; yy663: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy657; if (yych <= 0xBF) goto yy660; goto yy657; yy664: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy657; if (yych <= 0x8F) @@ -10220,7 +10988,8 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) { goto yy684; goto yy668; yy678: - yych = *++p; + ++p; + yych = *p; yy679: if (yybm[0 + yych] & 64) { goto yy678; @@ -10260,7 +11029,8 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) { goto yy692; } yy681: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy678; } @@ -10294,56 +11064,64 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) { } } yy682: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy680; if (yych <= 0xBF) goto yy678; goto yy680; yy683: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy680; if (yych <= 0xBF) goto yy682; goto yy680; yy684: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy680; if (yych <= 0xBF) goto yy682; goto yy680; yy685: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy680; if (yych <= 0x9F) goto yy682; goto yy680; yy686: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy680; if (yych <= 0xBF) goto yy684; goto yy680; yy687: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy680; if (yych <= 0xBF) goto yy684; goto yy680; yy688: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy680; if (yych <= 0x8F) goto yy684; goto yy680; yy689: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy689; } @@ -10382,7 +11160,8 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) { } yy691: yyaccept = 1; - yych = *(marker = ++p); + marker = ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy678; } @@ -10430,7 +11209,7 @@ bufsize_t _scan_link_title(const unsigned char *p) { static const unsigned char yybm[] = { 0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 208, 80, + 208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 80, 80, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, @@ -10487,17 +11266,24 @@ bufsize_t _scan_link_title(const unsigned char *p) { yy699: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x00) + if (yych <= '(') { + if (yych <= 0x00) + goto yy696; + if (yych <= '\'') + goto yy728; goto yy696; - if (yych <= 0x7F) - goto yy728; - if (yych <= 0xC1) + } else { + if (yych <= 0x7F) + goto yy728; + if (yych <= 0xC1) + goto yy696; + if (yych <= 0xF4) + goto yy728; goto yy696; - if (yych <= 0xF4) - goto yy728; - goto yy696; + } yy700: - yych = *++p; + ++p; + yych = *p; yy701: if (yybm[0 + yych] & 16) { goto yy700; @@ -10549,7 +11335,8 @@ bufsize_t _scan_link_title(const unsigned char *p) { ++p; yy704 : { return (bufsize_t)(p - start); } yy705: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 16) { goto yy700; } @@ -10582,56 +11369,64 @@ bufsize_t _scan_link_title(const unsigned char *p) { } } yy707: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy700; goto yy702; yy708: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy702; if (yych <= 0xBF) goto yy707; goto yy702; yy709: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy707; goto yy702; yy710: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x9F) goto yy707; goto yy702; yy711: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy702; if (yych <= 0xBF) goto yy709; goto yy702; yy712: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy709; goto yy702; yy713: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x8F) goto yy709; goto yy702; yy714: - yych = *++p; + ++p; + yych = *p; yy715: if (yybm[0 + yych] & 64) { goto yy714; @@ -10668,7 +11463,8 @@ bufsize_t _scan_link_title(const unsigned char *p) { ++p; yy717 : { return (bufsize_t)(p - start); } yy718: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy714; } @@ -10701,63 +11497,71 @@ bufsize_t _scan_link_title(const unsigned char *p) { } } yy720: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy714; goto yy702; yy721: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy702; if (yych <= 0xBF) goto yy720; goto yy702; yy722: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy720; goto yy702; yy723: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x9F) goto yy720; goto yy702; yy724: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy702; if (yych <= 0xBF) goto yy722; goto yy702; yy725: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy722; goto yy702; yy726: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x8F) goto yy722; goto yy702; yy727: - yych = *++p; + ++p; + yych = *p; yy728: if (yybm[0 + yych] & 128) { goto yy727; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) + if (yych <= '(') goto yy702; if (yych >= '*') goto yy731; @@ -10787,25 +11591,27 @@ bufsize_t _scan_link_title(const unsigned char *p) { ++p; yy730 : { return (bufsize_t)(p - start); } yy731: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy727; - } - if (yych <= 0xE0) { - if (yych <= '\\') { + ++p; + yych = *p; + if (yych <= 0xDF) { + if (yych <= '[') { if (yych <= 0x00) goto yy702; - if (yych <= ')') + if (yych == ')') goto yy742; - goto yy731; + goto yy727; } else { + if (yych <= '\\') + goto yy731; + if (yych <= 0x7F) + goto yy727; if (yych <= 0xC1) goto yy702; - if (yych >= 0xE0) - goto yy734; } } else { if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy734; if (yych == 0xED) goto yy736; goto yy735; @@ -10820,49 +11626,56 @@ bufsize_t _scan_link_title(const unsigned char *p) { } } yy733: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy727; goto yy702; yy734: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy702; if (yych <= 0xBF) goto yy733; goto yy702; yy735: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy733; goto yy702; yy736: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x9F) goto yy733; goto yy702; yy737: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy702; if (yych <= 0xBF) goto yy735; goto yy702; yy738: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy735; goto yy702; yy739: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x8F) @@ -10870,7 +11683,8 @@ bufsize_t _scan_link_title(const unsigned char *p) { goto yy702; yy740: yyaccept = 1; - yych = *(marker = ++p); + marker = ++p; + yych = *p; if (yybm[0 + yych] & 16) { goto yy700; } @@ -10905,7 +11719,8 @@ bufsize_t _scan_link_title(const unsigned char *p) { } yy741: yyaccept = 2; - yych = *(marker = ++p); + marker = ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy714; } @@ -10940,13 +11755,14 @@ bufsize_t _scan_link_title(const unsigned char *p) { } yy742: yyaccept = 3; - yych = *(marker = ++p); + marker = ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy727; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) + if (yych <= '(') goto yy730; if (yych <= ')') goto yy729; @@ -11004,7 +11820,8 @@ bufsize_t _scan_spacechars(const unsigned char *p) { ++p; { return 0; } yy747: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy747; } @@ -11057,13 +11874,14 @@ bufsize_t _scan_atx_heading_start(const unsigned char *p) { goto yy753; } yy755: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy755; } yy757 : { return (bufsize_t)(p - start); } yy758: - ++p; + yych = *++p; goto yy757; yy759: yych = *++p; @@ -11133,8 +11951,8 @@ bufsize_t _scan_atx_heading_start(const unsigned char *p) { if (yych != '#') goto yy760; } - yych = *++p; - if (yybm[0 + yych] & 128) { + ++p; + if (yybm[0 + (yych = *p)] & 128) { goto yy755; } if (yych <= 0x08) @@ -11212,7 +12030,8 @@ bufsize_t _scan_setext_heading_line(const unsigned char *p) { goto yy768; } yy771: - yych = *++p; + ++p; + yych = *p; yy772: if (yybm[0 + yych] & 32) { goto yy771; @@ -11230,7 +12049,8 @@ bufsize_t _scan_setext_heading_line(const unsigned char *p) { ++p; { return 2; } yy776: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 32) { goto yy771; } @@ -11248,7 +12068,8 @@ bufsize_t _scan_setext_heading_line(const unsigned char *p) { goto yy773; } yy778: - yych = *++p; + ++p; + yych = *p; yy779: if (yych <= '\f') { if (yych <= 0x08) @@ -11268,7 +12089,8 @@ bufsize_t _scan_setext_heading_line(const unsigned char *p) { ++p; { return 1; } yy782: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy782; } @@ -11361,7 +12183,8 @@ bufsize_t _scan_thematic_break(const unsigned char *p) { goto yy787; } yy791: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 16) { goto yy791; } @@ -11371,7 +12194,8 @@ bufsize_t _scan_thematic_break(const unsigned char *p) { p = marker; goto yy787; yy794: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy794; @@ -11384,7 +12208,8 @@ bufsize_t _scan_thematic_break(const unsigned char *p) { goto yy793; } yy796: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy796; @@ -11396,7 +12221,8 @@ bufsize_t _scan_thematic_break(const unsigned char *p) { goto yy793; } yy798: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy798; @@ -11409,7 +12235,8 @@ bufsize_t _scan_thematic_break(const unsigned char *p) { goto yy793; } yy800: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy800; @@ -11421,7 +12248,8 @@ bufsize_t _scan_thematic_break(const unsigned char *p) { goto yy793; } yy802: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy802; @@ -11434,7 +12262,8 @@ bufsize_t _scan_thematic_break(const unsigned char *p) { goto yy793; } yy804: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 32) { goto yy804; } @@ -11446,7 +12275,8 @@ bufsize_t _scan_thematic_break(const unsigned char *p) { goto yy810; goto yy793; yy806: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy806; } @@ -11458,7 +12288,8 @@ bufsize_t _scan_thematic_break(const unsigned char *p) { goto yy812; goto yy793; yy808: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy808; } @@ -11541,64 +12372,45 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) { } goto yy823; yy825: - yych = *++p; - if (yybm[0 + yych] & 16) { - goto yy825; + ++p; + yych = *p; + marker = p; + if (yybm[0 + yych] & 64) { + goto yy829; } - if (yych <= 0xDF) { - if (yych <= '\f') { + if (yych <= 0xE0) { + if (yych <= '`') { if (yych <= 0x00) goto yy823; - if (yych == '\n') { - marker = p; + if (yych <= '\r') goto yy831; - } - marker = p; - goto yy829; + goto yy825; } else { - if (yych <= '\r') { - marker = p; - goto yy831; - } - if (yych <= 0x7F) { - marker = p; - goto yy829; - } if (yych <= 0xC1) goto yy823; - marker = p; - goto yy833; + if (yych <= 0xDF) + goto yy833; + goto yy834; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) { - marker = p; - goto yy834; - } - if (yych == 0xED) { - marker = p; + if (yych == 0xED) goto yy836; - } - marker = p; goto yy835; } else { - if (yych <= 0xF0) { - marker = p; + if (yych <= 0xF0) goto yy837; - } - if (yych <= 0xF3) { - marker = p; + if (yych <= 0xF3) goto yy838; - } - if (yych <= 0xF4) { - marker = p; + if (yych <= 0xF4) goto yy839; - } goto yy823; } } yy827: - yych = *++p; + ++p; + yych = *p; + marker = p; if (yybm[0 + yych] & 32) { goto yy827; } @@ -11606,56 +12418,38 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) { if (yych <= '\f') { if (yych <= 0x00) goto yy823; - if (yych == '\n') { - marker = p; + if (yych == '\n') goto yy842; - } - marker = p; goto yy840; } else { - if (yych <= '\r') { - marker = p; + if (yych <= '\r') goto yy842; - } - if (yych <= 0x7F) { - marker = p; + if (yych <= 0x7F) goto yy840; - } if (yych <= 0xC1) goto yy823; - marker = p; goto yy844; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) { - marker = p; + if (yych <= 0xE0) goto yy845; - } - if (yych == 0xED) { - marker = p; + if (yych == 0xED) goto yy847; - } - marker = p; goto yy846; } else { - if (yych <= 0xF0) { - marker = p; + if (yych <= 0xF0) goto yy848; - } - if (yych <= 0xF3) { - marker = p; + if (yych <= 0xF3) goto yy849; - } - if (yych <= 0xF4) { - marker = p; + if (yych <= 0xF4) goto yy850; - } goto yy823; } } yy829: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 64) { goto yy829; } @@ -11692,56 +12486,64 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) { p = marker; { return (bufsize_t)(p - start); } yy833: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy829; goto yy823; yy834: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy823; if (yych <= 0xBF) goto yy833; goto yy823; yy835: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy833; goto yy823; yy836: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy823; if (yych <= 0x9F) goto yy833; goto yy823; yy837: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy823; if (yych <= 0xBF) goto yy835; goto yy823; yy838: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy835; goto yy823; yy839: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy823; if (yych <= 0x8F) goto yy835; goto yy823; yy840: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy840; } @@ -11778,49 +12580,56 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) { p = marker; { return (bufsize_t)(p - start); } yy844: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy840; goto yy823; yy845: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x9F) goto yy823; if (yych <= 0xBF) goto yy844; goto yy823; yy846: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy844; goto yy823; yy847: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy823; if (yych <= 0x9F) goto yy844; goto yy823; yy848: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x8F) goto yy823; if (yych <= 0xBF) goto yy846; goto yy823; yy849: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy846; goto yy823; yy850: - yych = *++p; + ++p; + yych = *p; if (yych <= 0x7F) goto yy823; if (yych <= 0x8F) @@ -11882,63 +12691,50 @@ bufsize_t _scan_close_code_fence(const unsigned char *p) { } goto yy858; yy860: - yych = *++p; - if (yybm[0 + yych] & 32) { - goto yy860; + ++p; + yych = *p; + marker = p; + if (yybm[0 + yych] & 128) { + goto yy864; } if (yych <= '\f') { if (yych <= 0x08) goto yy858; - if (yych <= '\t') { - marker = p; - goto yy864; - } - if (yych <= '\n') { - marker = p; + if (yych <= '\n') goto yy866; - } goto yy858; } else { - if (yych <= '\r') { - marker = p; + if (yych <= '\r') goto yy866; - } - if (yych == ' ') { - marker = p; - goto yy864; - } + if (yych == '`') + goto yy860; goto yy858; } yy862: - yych = *++p; + ++p; + yych = *p; + marker = p; if (yybm[0 + yych] & 64) { goto yy862; } if (yych <= '\f') { if (yych <= 0x08) goto yy858; - if (yych <= '\t') { - marker = p; + if (yych <= '\t') goto yy868; - } - if (yych <= '\n') { - marker = p; + if (yych <= '\n') goto yy870; - } goto yy858; } else { - if (yych <= '\r') { - marker = p; + if (yych <= '\r') goto yy870; - } - if (yych == ' ') { - marker = p; + if (yych == ' ') goto yy868; - } goto yy858; } yy864: - yych = *++p; + ++p; + yych = *p; if (yybm[0 + yych] & 128) { goto yy864; } @@ -11953,7 +12749,8 @@ bufsize_t _scan_close_code_fence(const unsigned char *p) { p = marker; { return (bufsize_t)(p - start); } yy868: - yych = *++p; + ++p; + yych = *p; if (yych <= '\f') { if (yych <= 0x08) goto yy858; @@ -12849,8 +13646,8 @@ bufsize_t _scan_entity(const unsigned char *p) { } } yy924: - yych = *++p; - if (yych <= ';') { + ++p; + if ((yych = *p) <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') @@ -13034,7 +13831,7 @@ bufsize_t _scan_dangerous_url(const unsigned char *p) { goto yy949; yy946 : { return (bufsize_t)(p - start); } yy947: - ++p; + yych = *++p; goto yy946; yy948: yych = *++p; @@ -13180,8 +13977,8 @@ bufsize_t _scan_dangerous_url(const unsigned char *p) { ++p; { return 0; } yy967: - yych = *++p; - if (yych == 'P') + ++p; + if ((yych = *p) == 'P') goto yy965; if (yych == 'p') goto yy965; diff --git a/src/scanners.re b/src/scanners.re index 457efaf..4c72cde 100644 --- a/src/scanners.re +++ b/src/scanners.re @@ -215,7 +215,7 @@ bufsize_t _scan_link_title(const unsigned char *p) /*!re2c ["] (escaped_char|[^"\x00])* ["] { return (bufsize_t)(p - start); } ['] (escaped_char|[^'\x00])* ['] { return (bufsize_t)(p - start); } - [(] (escaped_char|[^)\x00])* [)] { return (bufsize_t)(p - start); } + [(] (escaped_char|[^()\x00])* [)] { return (bufsize_t)(p - start); } * { return 0; } */ } |