summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/scanners.c933
-rw-r--r--src/scanners.re10
2 files changed, 557 insertions, 386 deletions
diff --git a/src/scanners.c b/src/scanners.c
index 11e926e..c96490d 100644
--- a/src/scanners.c
+++ b/src/scanners.c
@@ -12622,7 +12622,7 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
unsigned char yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
- 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
@@ -12639,24 +12639,24 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
0, 0, 0, 0,
};
yych = *p;
- if (yych <= 0xE0) {
- if (yych <= '<') {
+ if (yych <= 0xDF) {
+ if (yych <= ';') {
if (yych <= 0x00)
goto yy766;
- if (yych <= ';')
+ if (yych != '\n')
goto yy768;
- goto yy769;
} else {
+ if (yych <= '<')
+ goto yy769;
if (yych <= 0x7F)
goto yy768;
- if (yych <= 0xC1)
- goto yy766;
- if (yych <= 0xDF)
+ if (yych >= 0xC2)
goto yy770;
- goto yy771;
}
} else {
if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy771;
if (yych == 0xED)
goto yy773;
goto yy772;
@@ -12675,24 +12675,12 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
yy768:
yyaccept = 0;
yych = *(marker = ++p);
- if (yych <= 0x00)
- goto yy767;
- if (yych <= 0x7F)
- goto yy781;
- if (yych <= 0xC1)
- goto yy767;
- if (yych <= 0xF4)
- goto yy781;
- goto yy767;
- yy769:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '/') {
+ if (yych <= '\n') {
if (yych <= 0x00)
goto yy767;
- if (yych <= '.')
+ if (yych <= '\t')
goto yy781;
- goto yy789;
+ goto yy767;
} else {
if (yych <= 0x7F)
goto yy781;
@@ -12702,6 +12690,28 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
goto yy781;
goto yy767;
}
+ yy769:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '.') {
+ if (yych <= 0x00)
+ goto yy767;
+ if (yych == '\n')
+ goto yy767;
+ goto yy781;
+ } else {
+ if (yych <= 0x7F) {
+ if (yych <= '/')
+ goto yy789;
+ goto yy781;
+ } else {
+ if (yych <= 0xC1)
+ goto yy767;
+ if (yych <= 0xF4)
+ goto yy781;
+ goto yy767;
+ }
+ }
yy770:
yyaccept = 0;
yych = *(marker = ++p);
@@ -12787,7 +12797,7 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy778;
if (yych >= '=')
goto yy778;
@@ -12819,23 +12829,26 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0xE0) {
- if (yych <= '/') {
+ if (yych <= 0xDF) {
+ if (yych <= '.') {
if (yych <= 0x00)
goto yy778;
- if (yych <= '.')
- goto yy780;
- goto yy789;
+ if (yych == '\n')
+ goto yy778;
+ goto yy780;
} else {
+ if (yych <= '/')
+ goto yy789;
if (yych <= 0x7F)
goto yy780;
if (yych <= 0xC1)
goto yy778;
- if (yych <= 0xDF)
- goto yy779;
+ goto yy779;
}
} else {
if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy784;
if (yych == 0xED)
goto yy788;
goto yy777;
@@ -12895,43 +12908,47 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0x7F) {
- if (yych <= 'S') {
- if (yych <= 'O') {
+ if (yych <= 's') {
+ if (yych <= 'P') {
+ if (yych <= '\t') {
if (yych <= 0x00)
goto yy778;
goto yy780;
} else {
- if (yych <= 'P')
- goto yy791;
- if (yych <= 'R')
+ if (yych <= '\n')
+ goto yy778;
+ if (yych <= 'O')
goto yy780;
+ goto yy791;
}
} else {
- if (yych <= 'p') {
- if (yych <= 'o')
+ if (yych <= 'o') {
+ if (yych != 'S')
goto yy780;
- goto yy791;
} else {
- if (yych != 's')
+ if (yych <= 'p')
+ goto yy791;
+ if (yych <= 'r')
goto yy780;
}
}
} else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) {
- if (yych <= 0xC1)
- goto yy778;
- goto yy779;
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x7F)
+ goto yy780;
+ goto yy778;
} else {
+ if (yych <= 0xDF)
+ goto yy779;
if (yych <= 0xE0)
goto yy784;
- if (yych <= 0xEC)
- goto yy777;
- goto yy788;
+ goto yy777;
}
} else {
if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy788;
if (yych <= 0xEF)
goto yy777;
goto yy785;
@@ -12949,45 +12966,49 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0x7F) {
- if (yych <= 'T') {
- if (yych <= 'B') {
+ if (yych <= 't') {
+ if (yych <= 'C') {
+ if (yych <= '\t') {
if (yych <= 0x00)
goto yy778;
goto yy780;
} else {
- if (yych <= 'C')
- goto yy796;
- if (yych <= 'S')
+ if (yych <= '\n')
+ goto yy778;
+ if (yych <= 'B')
goto yy780;
- goto yy797;
+ goto yy796;
}
} else {
- if (yych <= 'c') {
- if (yych <= 'b')
- goto yy780;
- goto yy796;
- } else {
- if (yych == 't')
+ if (yych <= 'b') {
+ if (yych == 'T')
goto yy797;
goto yy780;
+ } else {
+ if (yych <= 'c')
+ goto yy796;
+ if (yych <= 's')
+ goto yy780;
+ goto yy797;
}
}
} else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) {
- if (yych <= 0xC1)
- goto yy778;
- goto yy779;
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x7F)
+ goto yy780;
+ goto yy778;
} else {
+ if (yych <= 0xDF)
+ goto yy779;
if (yych <= 0xE0)
goto yy784;
- if (yych <= 0xEC)
- goto yy777;
- goto yy788;
+ goto yy777;
}
} else {
if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy788;
if (yych <= 0xEF)
goto yy777;
goto yy785;
@@ -13006,36 +13027,46 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0xDF) {
- if (yych <= 'q') {
+ if (yych <= 0xC1) {
+ if (yych <= 'Q') {
if (yych <= 0x00)
goto yy778;
- if (yych != 'R')
- goto yy780;
+ if (yych == '\n')
+ goto yy778;
+ goto yy780;
} else {
- if (yych <= 'r')
- goto yy792;
- if (yych <= 0x7F)
- goto yy780;
- if (yych <= 0xC1)
+ if (yych <= 'q') {
+ if (yych >= 'S')
+ goto yy780;
+ } else {
+ if (yych <= 'r')
+ goto yy792;
+ if (yych <= 0x7F)
+ goto yy780;
goto yy778;
- goto yy779;
+ }
}
} else {
- if (yych <= 0xEF) {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy779;
if (yych <= 0xE0)
goto yy784;
- if (yych == 0xED)
- goto yy788;
- goto yy777;
+ if (yych <= 0xEC)
+ goto yy777;
+ goto yy788;
} else {
- if (yych <= 0xF0)
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy777;
goto yy785;
- if (yych <= 0xF3)
- goto yy786;
- if (yych <= 0xF4)
- goto yy787;
- goto yy778;
+ } else {
+ if (yych <= 0xF3)
+ goto yy786;
+ if (yych <= 0xF4)
+ goto yy787;
+ goto yy778;
+ }
}
}
yy792:
@@ -13044,36 +13075,46 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0xDF) {
- if (yych <= 'd') {
+ if (yych <= 0xC1) {
+ if (yych <= 'D') {
if (yych <= 0x00)
goto yy778;
- if (yych != 'E')
- goto yy780;
+ if (yych == '\n')
+ goto yy778;
+ goto yy780;
} else {
- if (yych <= 'e')
- goto yy793;
- if (yych <= 0x7F)
- goto yy780;
- if (yych <= 0xC1)
+ if (yych <= 'd') {
+ if (yych >= 'F')
+ goto yy780;
+ } else {
+ if (yych <= 'e')
+ goto yy793;
+ if (yych <= 0x7F)
+ goto yy780;
goto yy778;
- goto yy779;
+ }
}
} else {
- if (yych <= 0xEF) {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy779;
if (yych <= 0xE0)
goto yy784;
- if (yych == 0xED)
- goto yy788;
- goto yy777;
+ if (yych <= 0xEC)
+ goto yy777;
+ goto yy788;
} else {
- if (yych <= 0xF0)
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy777;
goto yy785;
- if (yych <= 0xF3)
- goto yy786;
- if (yych <= 0xF4)
- goto yy787;
- goto yy778;
+ } else {
+ if (yych <= 0xF3)
+ goto yy786;
+ if (yych <= 0xF4)
+ goto yy787;
+ goto yy778;
+ }
}
}
yy793:
@@ -13082,23 +13123,26 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0xE0) {
- if (yych <= '>') {
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
if (yych <= 0x00)
goto yy778;
- if (yych <= '=')
- goto yy780;
+ if (yych == '\n')
+ goto yy778;
+ goto yy780;
} else {
+ if (yych <= '>')
+ goto yy794;
if (yych <= 0x7F)
goto yy780;
if (yych <= 0xC1)
goto yy778;
- if (yych <= 0xDF)
- goto yy779;
- goto yy784;
+ goto yy779;
}
} else {
if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy784;
if (yych == 0xED)
goto yy788;
goto yy777;
@@ -13112,6 +13156,7 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
goto yy778;
}
}
+ yy794:
yyaccept = 1;
marker = ++p;
yych = *p;
@@ -13120,7 +13165,7 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy795;
if (yych <= '<')
goto yy782;
@@ -13152,37 +13197,47 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0xDF) {
- if (yych <= 'q') {
+ if (yych <= 0xC1) {
+ if (yych <= 'Q') {
if (yych <= 0x00)
goto yy778;
- if (yych == 'R')
- goto yy800;
+ if (yych == '\n')
+ goto yy778;
goto yy780;
} else {
- if (yych <= 'r')
- goto yy800;
- if (yych <= 0x7F)
+ if (yych <= 'q') {
+ if (yych <= 'R')
+ goto yy800;
goto yy780;
- if (yych <= 0xC1)
+ } else {
+ if (yych <= 'r')
+ goto yy800;
+ if (yych <= 0x7F)
+ goto yy780;
goto yy778;
- goto yy779;
+ }
}
} else {
- if (yych <= 0xEF) {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy779;
if (yych <= 0xE0)
goto yy784;
- if (yych == 0xED)
- goto yy788;
- goto yy777;
+ if (yych <= 0xEC)
+ goto yy777;
+ goto yy788;
} else {
- if (yych <= 0xF0)
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy777;
goto yy785;
- if (yych <= 0xF3)
- goto yy786;
- if (yych <= 0xF4)
- goto yy787;
- goto yy778;
+ } else {
+ if (yych <= 0xF3)
+ goto yy786;
+ if (yych <= 0xF4)
+ goto yy787;
+ goto yy778;
+ }
}
}
yy797:
@@ -13191,36 +13246,46 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0xDF) {
- if (yych <= 'x') {
+ if (yych <= 0xC1) {
+ if (yych <= 'X') {
if (yych <= 0x00)
goto yy778;
- if (yych != 'Y')
- goto yy780;
+ if (yych == '\n')
+ goto yy778;
+ goto yy780;
} else {
- if (yych <= 'y')
- goto yy798;
- if (yych <= 0x7F)
- goto yy780;
- if (yych <= 0xC1)
+ if (yych <= 'x') {
+ if (yych >= 'Z')
+ goto yy780;
+ } else {
+ if (yych <= 'y')
+ goto yy798;
+ if (yych <= 0x7F)
+ goto yy780;
goto yy778;
- goto yy779;
+ }
}
} else {
- if (yych <= 0xEF) {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy779;
if (yych <= 0xE0)
goto yy784;
- if (yych == 0xED)
- goto yy788;
- goto yy777;
+ if (yych <= 0xEC)
+ goto yy777;
+ goto yy788;
} else {
- if (yych <= 0xF0)
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy777;
goto yy785;
- if (yych <= 0xF3)
- goto yy786;
- if (yych <= 0xF4)
- goto yy787;
- goto yy778;
+ } else {
+ if (yych <= 0xF3)
+ goto yy786;
+ if (yych <= 0xF4)
+ goto yy787;
+ goto yy778;
+ }
}
}
yy798:
@@ -13229,36 +13294,46 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0xDF) {
- if (yych <= 'k') {
+ if (yych <= 0xC1) {
+ if (yych <= 'K') {
if (yych <= 0x00)
goto yy778;
- if (yych != 'L')
- goto yy780;
+ if (yych == '\n')
+ goto yy778;
+ goto yy780;
} else {
- if (yych <= 'l')
- goto yy799;
- if (yych <= 0x7F)
- goto yy780;
- if (yych <= 0xC1)
+ if (yych <= 'k') {
+ if (yych >= 'M')
+ goto yy780;
+ } else {
+ if (yych <= 'l')
+ goto yy799;
+ if (yych <= 0x7F)
+ goto yy780;
goto yy778;
- goto yy779;
+ }
}
} else {
- if (yych <= 0xEF) {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy779;
if (yych <= 0xE0)
goto yy784;
- if (yych == 0xED)
- goto yy788;
- goto yy777;
+ if (yych <= 0xEC)
+ goto yy777;
+ goto yy788;
} else {
- if (yych <= 0xF0)
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy777;
goto yy785;
- if (yych <= 0xF3)
- goto yy786;
- if (yych <= 0xF4)
- goto yy787;
- goto yy778;
+ } else {
+ if (yych <= 0xF3)
+ goto yy786;
+ if (yych <= 0xF4)
+ goto yy787;
+ goto yy778;
+ }
}
}
yy799:
@@ -13267,37 +13342,47 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0xDF) {
- if (yych <= 'd') {
+ if (yych <= 0xC1) {
+ if (yych <= 'D') {
if (yych <= 0x00)
goto yy778;
- if (yych == 'E')
- goto yy793;
+ if (yych == '\n')
+ goto yy778;
goto yy780;
} else {
- if (yych <= 'e')
- goto yy793;
- if (yych <= 0x7F)
+ if (yych <= 'd') {
+ if (yych <= 'E')
+ goto yy793;
goto yy780;
- if (yych <= 0xC1)
+ } else {
+ if (yych <= 'e')
+ goto yy793;
+ if (yych <= 0x7F)
+ goto yy780;
goto yy778;
- goto yy779;
+ }
}
} else {
- if (yych <= 0xEF) {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy779;
if (yych <= 0xE0)
goto yy784;
- if (yych == 0xED)
- goto yy788;
- goto yy777;
+ if (yych <= 0xEC)
+ goto yy777;
+ goto yy788;
} else {
- if (yych <= 0xF0)
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy777;
goto yy785;
- if (yych <= 0xF3)
- goto yy786;
- if (yych <= 0xF4)
- goto yy787;
- goto yy778;
+ } else {
+ if (yych <= 0xF3)
+ goto yy786;
+ if (yych <= 0xF4)
+ goto yy787;
+ goto yy778;
+ }
}
}
yy800:
@@ -13306,36 +13391,46 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0xDF) {
- if (yych <= 'h') {
+ if (yych <= 0xC1) {
+ if (yych <= 'H') {
if (yych <= 0x00)
goto yy778;
- if (yych != 'I')
- goto yy780;
+ if (yych == '\n')
+ goto yy778;
+ goto yy780;
} else {
- if (yych <= 'i')
- goto yy801;
- if (yych <= 0x7F)
- goto yy780;
- if (yych <= 0xC1)
+ if (yych <= 'h') {
+ if (yych >= 'J')
+ goto yy780;
+ } else {
+ if (yych <= 'i')
+ goto yy801;
+ if (yych <= 0x7F)
+ goto yy780;
goto yy778;
- goto yy779;
+ }
}
} else {
- if (yych <= 0xEF) {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy779;
if (yych <= 0xE0)
goto yy784;
- if (yych == 0xED)
- goto yy788;
- goto yy777;
+ if (yych <= 0xEC)
+ goto yy777;
+ goto yy788;
} else {
- if (yych <= 0xF0)
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy777;
goto yy785;
- if (yych <= 0xF3)
- goto yy786;
- if (yych <= 0xF4)
- goto yy787;
- goto yy778;
+ } else {
+ if (yych <= 0xF3)
+ goto yy786;
+ if (yych <= 0xF4)
+ goto yy787;
+ goto yy778;
+ }
}
}
yy801:
@@ -13344,36 +13439,46 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0xDF) {
- if (yych <= 'o') {
+ if (yych <= 0xC1) {
+ if (yych <= 'O') {
if (yych <= 0x00)
goto yy778;
- if (yych != 'P')
- goto yy780;
+ if (yych == '\n')
+ goto yy778;
+ goto yy780;
} else {
- if (yych <= 'p')
- goto yy802;
- if (yych <= 0x7F)
- goto yy780;
- if (yych <= 0xC1)
+ if (yych <= 'o') {
+ if (yych >= 'Q')
+ goto yy780;
+ } else {
+ if (yych <= 'p')
+ goto yy802;
+ if (yych <= 0x7F)
+ goto yy780;
goto yy778;
- goto yy779;
+ }
}
} else {
- if (yych <= 0xEF) {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy779;
if (yych <= 0xE0)
goto yy784;
- if (yych == 0xED)
- goto yy788;
- goto yy777;
+ if (yych <= 0xEC)
+ goto yy777;
+ goto yy788;
} else {
- if (yych <= 0xF0)
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy777;
goto yy785;
- if (yych <= 0xF3)
- goto yy786;
- if (yych <= 0xF4)
- goto yy787;
- goto yy778;
+ } else {
+ if (yych <= 0xF3)
+ goto yy786;
+ if (yych <= 0xF4)
+ goto yy787;
+ goto yy778;
+ }
}
}
yy802:
@@ -13382,37 +13487,47 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy782;
}
- if (yych <= 0xDF) {
- if (yych <= 's') {
+ if (yych <= 0xC1) {
+ if (yych <= 'S') {
if (yych <= 0x00)
goto yy778;
- if (yych == 'T')
- goto yy793;
+ if (yych == '\n')
+ goto yy778;
goto yy780;
} else {
- if (yych <= 't')
- goto yy793;
- if (yych <= 0x7F)
+ if (yych <= 's') {
+ if (yych <= 'T')
+ goto yy793;
goto yy780;
- if (yych <= 0xC1)
+ } else {
+ if (yych <= 't')
+ goto yy793;
+ if (yych <= 0x7F)
+ goto yy780;
goto yy778;
- goto yy779;
+ }
}
} else {
- if (yych <= 0xEF) {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy779;
if (yych <= 0xE0)
goto yy784;
- if (yych == 0xED)
- goto yy788;
- goto yy777;
+ if (yych <= 0xEC)
+ goto yy777;
+ goto yy788;
} else {
- if (yych <= 0xF0)
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy777;
goto yy785;
- if (yych <= 0xF3)
- goto yy786;
- if (yych <= 0xF4)
- goto yy787;
- goto yy778;
+ } else {
+ if (yych <= 0xF3)
+ goto yy786;
+ if (yych <= 0xF4)
+ goto yy787;
+ goto yy778;
+ }
}
}
}
@@ -13427,7 +13542,7 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) {
unsigned char yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
- 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
@@ -13444,24 +13559,24 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) {
0, 0, 0, 0,
};
yych = *p;
- if (yych <= 0xE0) {
- if (yych <= '-') {
+ if (yych <= 0xDF) {
+ if (yych <= ',') {
if (yych <= 0x00)
goto yy805;
- if (yych <= ',')
+ if (yych != '\n')
goto yy807;
- goto yy808;
} else {
+ if (yych <= '-')
+ goto yy808;
if (yych <= 0x7F)
goto yy807;
- if (yych <= 0xC1)
- goto yy805;
- if (yych <= 0xDF)
+ if (yych >= 0xC2)
goto yy809;
- goto yy810;
}
} else {
if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy810;
if (yych == 0xED)
goto yy812;
goto yy811;
@@ -13480,30 +13595,42 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) {
yy807:
yyaccept = 0;
yych = *(marker = ++p);
- if (yych <= 0x00)
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy806;
+ if (yych <= '\t')
+ goto yy820;
goto yy806;
- if (yych <= 0x7F)
- goto yy820;
- if (yych <= 0xC1)
+ } else {
+ if (yych <= 0x7F)
+ goto yy820;
+ if (yych <= 0xC1)
+ goto yy806;
+ if (yych <= 0xF4)
+ goto yy820;
goto yy806;
- if (yych <= 0xF4)
- goto yy820;
- goto yy806;
+ }
yy808:
yyaccept = 0;
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
goto yy827;
}
- if (yych <= 0x00)
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy806;
+ if (yych <= '\t')
+ goto yy820;
goto yy806;
- if (yych <= 0x7F)
- goto yy820;
- if (yych <= 0xC1)
+ } else {
+ if (yych <= 0x7F)
+ goto yy820;
+ if (yych <= 0xC1)
+ goto yy806;
+ if (yych <= 0xF4)
+ goto yy820;
goto yy806;
- if (yych <= 0xF4)
- goto yy820;
- goto yy806;
+ }
yy809:
yyaccept = 0;
yych = *(marker = ++p);
@@ -13589,7 +13716,7 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy817;
if (yych >= '.')
goto yy817;
@@ -13623,7 +13750,7 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy817;
if (yych <= '-')
goto yy827;
@@ -13695,23 +13822,26 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy827;
}
- if (yych <= 0xE0) {
- if (yych <= '>') {
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
if (yych <= 0x00)
goto yy817;
- if (yych <= '=')
- goto yy819;
+ if (yych == '\n')
+ goto yy817;
+ goto yy819;
} else {
+ if (yych <= '>')
+ goto yy829;
if (yych <= 0x7F)
goto yy819;
if (yych <= 0xC1)
goto yy817;
- if (yych <= 0xDF)
- goto yy818;
- goto yy822;
+ goto yy818;
}
} else {
if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy822;
if (yych == 0xED)
goto yy826;
goto yy816;
@@ -13725,6 +13855,7 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) {
goto yy817;
}
}
+ yy829:
yyaccept = 1;
marker = ++p;
yych = *p;
@@ -13733,7 +13864,7 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy830;
if (yych <= '-')
goto yy821;
@@ -13771,7 +13902,7 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) {
unsigned char yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
- 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64,
@@ -13788,24 +13919,24 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) {
0, 0, 0, 0,
};
yych = *p;
- if (yych <= 0xE0) {
- if (yych <= '?') {
+ if (yych <= 0xDF) {
+ if (yych <= '>') {
if (yych <= 0x00)
goto yy833;
- if (yych <= '>')
+ if (yych != '\n')
goto yy835;
- goto yy836;
} else {
+ if (yych <= '?')
+ goto yy836;
if (yych <= 0x7F)
goto yy835;
- if (yych <= 0xC1)
- goto yy833;
- if (yych <= 0xDF)
+ if (yych >= 0xC2)
goto yy837;
- goto yy838;
}
} else {
if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy838;
if (yych == 0xED)
goto yy840;
goto yy839;
@@ -13824,24 +13955,12 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) {
yy835:
yyaccept = 0;
yych = *(marker = ++p);
- if (yych <= 0x00)
- goto yy834;
- if (yych <= 0x7F)
- goto yy848;
- if (yych <= 0xC1)
- goto yy834;
- if (yych <= 0xF4)
- goto yy848;
- goto yy834;
- yy836:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '>') {
+ if (yych <= '\n') {
if (yych <= 0x00)
goto yy834;
- if (yych <= '=')
+ if (yych <= '\t')
goto yy848;
- goto yy856;
+ goto yy834;
} else {
if (yych <= 0x7F)
goto yy848;
@@ -13851,6 +13970,28 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) {
goto yy848;
goto yy834;
}
+ yy836:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy834;
+ if (yych == '\n')
+ goto yy834;
+ goto yy848;
+ } else {
+ if (yych <= 0x7F) {
+ if (yych <= '>')
+ goto yy856;
+ goto yy848;
+ } else {
+ if (yych <= 0xC1)
+ goto yy834;
+ if (yych <= 0xF4)
+ goto yy848;
+ goto yy834;
+ }
+ }
yy837:
yyaccept = 0;
yych = *(marker = ++p);
@@ -13936,7 +14077,7 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy845;
if (yych >= '@')
goto yy845;
@@ -13968,23 +14109,26 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy849;
}
- if (yych <= 0xE0) {
- if (yych <= '>') {
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
if (yych <= 0x00)
goto yy845;
- if (yych <= '=')
- goto yy847;
- goto yy856;
+ if (yych == '\n')
+ goto yy845;
+ goto yy847;
} else {
+ if (yych <= '>')
+ goto yy856;
if (yych <= 0x7F)
goto yy847;
if (yych <= 0xC1)
goto yy845;
- if (yych <= 0xDF)
- goto yy846;
+ goto yy846;
}
} else {
if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy851;
if (yych == 0xED)
goto yy855;
goto yy844;
@@ -14047,7 +14191,7 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy857;
if (yych <= '?')
goto yy849;
@@ -14085,7 +14229,7 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) {
unsigned char yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
- 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64,
@@ -14102,24 +14246,24 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) {
0, 0, 0, 0,
};
yych = *p;
- if (yych <= 0xE0) {
- if (yych <= '>') {
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
if (yych <= 0x00)
goto yy860;
- if (yych <= '=')
+ if (yych != '\n')
goto yy862;
- goto yy863;
} else {
+ if (yych <= '>')
+ goto yy863;
if (yych <= 0x7F)
goto yy862;
- if (yych <= 0xC1)
- goto yy860;
- if (yych <= 0xDF)
+ if (yych >= 0xC2)
goto yy865;
- goto yy866;
}
} else {
if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy866;
if (yych == 0xED)
goto yy868;
goto yy867;
@@ -14138,26 +14282,37 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) {
yy862:
yyaccept = 0;
yych = *(marker = ++p);
- if (yych <= 0x00)
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy861;
+ if (yych <= '\t')
+ goto yy876;
goto yy861;
- if (yych <= 0x7F)
- goto yy876;
- if (yych <= 0xC1)
+ } else {
+ if (yych <= 0x7F)
+ goto yy876;
+ if (yych <= 0xC1)
+ goto yy861;
+ if (yych <= 0xF4)
+ goto yy876;
goto yy861;
- if (yych <= 0xF4)
- goto yy876;
- goto yy861;
+ }
yy863:
yyaccept = 1;
yych = *(marker = ++p);
- if (yych <= 0x00)
- goto yy864;
- if (yych <= 0x7F)
- goto yy876;
- if (yych <= 0xC1)
- goto yy864;
- if (yych <= 0xF4)
- goto yy876;
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy864;
+ if (yych <= '\t')
+ goto yy876;
+ } else {
+ if (yych <= 0x7F)
+ goto yy876;
+ if (yych <= 0xC1)
+ goto yy864;
+ if (yych <= 0xF4)
+ goto yy876;
+ }
yy864 : { return (bufsize_t)(p - start); }
yy865:
yyaccept = 0;
@@ -14244,7 +14399,7 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy873;
if (yych >= '?')
goto yy873;
@@ -14279,7 +14434,7 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy864;
if (yych <= '>')
goto yy877;
@@ -14357,7 +14512,7 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) {
unsigned char yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
- 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
@@ -14374,24 +14529,24 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) {
0, 0, 0, 0,
};
yych = *p;
- if (yych <= 0xE0) {
- if (yych <= ']') {
+ if (yych <= 0xDF) {
+ if (yych <= '\\') {
if (yych <= 0x00)
goto yy886;
- if (yych <= '\\')
+ if (yych != '\n')
goto yy888;
- goto yy889;
} else {
+ if (yych <= ']')
+ goto yy889;
if (yych <= 0x7F)
goto yy888;
- if (yych <= 0xC1)
- goto yy886;
- if (yych <= 0xDF)
+ if (yych >= 0xC2)
goto yy890;
- goto yy891;
}
} else {
if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy891;
if (yych == 0xED)
goto yy893;
goto yy892;
@@ -14410,30 +14565,42 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) {
yy888:
yyaccept = 0;
yych = *(marker = ++p);
- if (yych <= 0x00)
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy887;
+ if (yych <= '\t')
+ goto yy901;
goto yy887;
- if (yych <= 0x7F)
- goto yy901;
- if (yych <= 0xC1)
+ } else {
+ if (yych <= 0x7F)
+ goto yy901;
+ if (yych <= 0xC1)
+ goto yy887;
+ if (yych <= 0xF4)
+ goto yy901;
goto yy887;
- if (yych <= 0xF4)
- goto yy901;
- goto yy887;
+ }
yy889:
yyaccept = 0;
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
goto yy908;
}
- if (yych <= 0x00)
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy887;
+ if (yych <= '\t')
+ goto yy901;
goto yy887;
- if (yych <= 0x7F)
- goto yy901;
- if (yych <= 0xC1)
+ } else {
+ if (yych <= 0x7F)
+ goto yy901;
+ if (yych <= 0xC1)
+ goto yy887;
+ if (yych <= 0xF4)
+ goto yy901;
goto yy887;
- if (yych <= 0xF4)
- goto yy901;
- goto yy887;
+ }
yy890:
yyaccept = 0;
yych = *(marker = ++p);
@@ -14519,7 +14686,7 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy898;
if (yych >= '^')
goto yy898;
@@ -14553,7 +14720,7 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy898;
if (yych <= ']')
goto yy908;
@@ -14625,23 +14792,26 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) {
if (yybm[0 + yych] & 128) {
goto yy908;
}
- if (yych <= 0xE0) {
- if (yych <= '>') {
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
if (yych <= 0x00)
goto yy898;
- if (yych <= '=')
- goto yy900;
+ if (yych == '\n')
+ goto yy898;
+ goto yy900;
} else {
+ if (yych <= '>')
+ goto yy910;
if (yych <= 0x7F)
goto yy900;
if (yych <= 0xC1)
goto yy898;
- if (yych <= 0xDF)
- goto yy899;
- goto yy903;
+ goto yy899;
}
} else {
if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy903;
if (yych == 0xED)
goto yy907;
goto yy897;
@@ -14655,6 +14825,7 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) {
goto yy898;
}
}
+ yy910:
yyaccept = 1;
marker = ++p;
yych = *p;
@@ -14663,7 +14834,7 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) {
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
- if (yych <= 0x00)
+ if (yych <= '\n')
goto yy911;
if (yych <= ']')
goto yy902;
diff --git a/src/scanners.re b/src/scanners.re
index a7b9696..a0650f2 100644
--- a/src/scanners.re
+++ b/src/scanners.re
@@ -156,7 +156,7 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p)
const unsigned char *marker = NULL;
const unsigned char *start = p;
/*!re2c
- [^\x00]* [<] [/] ('script'|'pre'|'style') [>] { return (bufsize_t)(p - start); }
+ [^\n\x00]* [<] [/] ('script'|'pre'|'style') [>] { return (bufsize_t)(p - start); }
* { return 0; }
*/
}
@@ -167,7 +167,7 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p)
const unsigned char *marker = NULL;
const unsigned char *start = p;
/*!re2c
- [^\x00]* '-->' { return (bufsize_t)(p - start); }
+ [^\n\x00]* '-->' { return (bufsize_t)(p - start); }
* { return 0; }
*/
}
@@ -178,7 +178,7 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p)
const unsigned char *marker = NULL;
const unsigned char *start = p;
/*!re2c
- [^\x00]* '?>' { return (bufsize_t)(p - start); }
+ [^\n\x00]* '?>' { return (bufsize_t)(p - start); }
* { return 0; }
*/
}
@@ -189,7 +189,7 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p)
const unsigned char *marker = NULL;
const unsigned char *start = p;
/*!re2c
- [^\x00]* '>' { return (bufsize_t)(p - start); }
+ [^\n\x00]* '>' { return (bufsize_t)(p - start); }
* { return 0; }
*/
}
@@ -200,7 +200,7 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p)
const unsigned char *marker = NULL;
const unsigned char *start = p;
/*!re2c
- [^\x00]* ']]>' { return (bufsize_t)(p - start); }
+ [^\n\x00]* ']]>' { return (bufsize_t)(p - start); }
* { return 0; }
*/
}