in src/scanners.c [11202:11793]
bufsize_t _scan_link_title(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
{
unsigned char yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 80, 80,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 32, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
};
yych = *p;
if (yych <= '&') {
if (yych == '"')
goto yy697;
} else {
if (yych <= '\'')
goto yy698;
if (yych <= '(')
goto yy699;
}
++p;
yy696 : { return 0; }
yy697:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x00)
goto yy696;
if (yych <= 0x7F)
goto yy701;
if (yych <= 0xC1)
goto yy696;
if (yych <= 0xF4)
goto yy701;
goto yy696;
yy698:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x00)
goto yy696;
if (yych <= 0x7F)
goto yy715;
if (yych <= 0xC1)
goto yy696;
if (yych <= 0xF4)
goto yy715;
goto yy696;
yy699:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= '(') {
if (yych <= 0x00)
goto yy696;
if (yych <= '\'')
goto yy728;
goto yy696;
} else {
if (yych <= 0x7F)
goto yy728;
if (yych <= 0xC1)
goto yy696;
if (yych <= 0xF4)
goto yy728;
goto yy696;
}
yy700:
++p;
yych = *p;
yy701:
if (yybm[0 + yych] & 16) {
goto yy700;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy702;
if (yych <= '"')
goto yy703;
goto yy705;
} else {
if (yych <= 0xC1)
goto yy702;
if (yych <= 0xDF)
goto yy707;
goto yy708;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy710;
goto yy709;
} else {
if (yych <= 0xF0)
goto yy711;
if (yych <= 0xF3)
goto yy712;
if (yych <= 0xF4)
goto yy713;
}
}
yy702:
p = marker;
if (yyaccept <= 1) {
if (yyaccept == 0) {
goto yy696;
} else {
goto yy704;
}
} else {
if (yyaccept == 2) {
goto yy717;
} else {
goto yy730;
}
}
yy703:
++p;
yy704 : { return (bufsize_t)(p - start); }
yy705:
++p;
yych = *p;
if (yybm[0 + yych] & 16) {
goto yy700;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy702;
if (yych <= '"')
goto yy740;
goto yy705;
} else {
if (yych <= 0xC1)
goto yy702;
if (yych >= 0xE0)
goto yy708;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy710;
goto yy709;
} else {
if (yych <= 0xF0)
goto yy711;
if (yych <= 0xF3)
goto yy712;
if (yych <= 0xF4)
goto yy713;
goto yy702;
}
}
yy707:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0xBF)
goto yy700;
goto yy702;
yy708:
++p;
yych = *p;
if (yych <= 0x9F)
goto yy702;
if (yych <= 0xBF)
goto yy707;
goto yy702;
yy709:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0xBF)
goto yy707;
goto yy702;
yy710:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0x9F)
goto yy707;
goto yy702;
yy711:
++p;
yych = *p;
if (yych <= 0x8F)
goto yy702;
if (yych <= 0xBF)
goto yy709;
goto yy702;
yy712:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0xBF)
goto yy709;
goto yy702;
yy713:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0x8F)
goto yy709;
goto yy702;
yy714:
++p;
yych = *p;
yy715:
if (yybm[0 + yych] & 64) {
goto yy714;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy702;
if (yych >= '(')
goto yy718;
} else {
if (yych <= 0xC1)
goto yy702;
if (yych <= 0xDF)
goto yy720;
goto yy721;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy723;
goto yy722;
} else {
if (yych <= 0xF0)
goto yy724;
if (yych <= 0xF3)
goto yy725;
if (yych <= 0xF4)
goto yy726;
goto yy702;
}
}
yy716:
++p;
yy717 : { return (bufsize_t)(p - start); }
yy718:
++p;
yych = *p;
if (yybm[0 + yych] & 64) {
goto yy714;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy702;
if (yych <= '\'')
goto yy741;
goto yy718;
} else {
if (yych <= 0xC1)
goto yy702;
if (yych >= 0xE0)
goto yy721;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy723;
goto yy722;
} else {
if (yych <= 0xF0)
goto yy724;
if (yych <= 0xF3)
goto yy725;
if (yych <= 0xF4)
goto yy726;
goto yy702;
}
}
yy720:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0xBF)
goto yy714;
goto yy702;
yy721:
++p;
yych = *p;
if (yych <= 0x9F)
goto yy702;
if (yych <= 0xBF)
goto yy720;
goto yy702;
yy722:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0xBF)
goto yy720;
goto yy702;
yy723:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0x9F)
goto yy720;
goto yy702;
yy724:
++p;
yych = *p;
if (yych <= 0x8F)
goto yy702;
if (yych <= 0xBF)
goto yy722;
goto yy702;
yy725:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0xBF)
goto yy722;
goto yy702;
yy726:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0x8F)
goto yy722;
goto yy702;
yy727:
++p;
yych = *p;
yy728:
if (yybm[0 + yych] & 128) {
goto yy727;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= '(')
goto yy702;
if (yych >= '*')
goto yy731;
} else {
if (yych <= 0xC1)
goto yy702;
if (yych <= 0xDF)
goto yy733;
goto yy734;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy736;
goto yy735;
} else {
if (yych <= 0xF0)
goto yy737;
if (yych <= 0xF3)
goto yy738;
if (yych <= 0xF4)
goto yy739;
goto yy702;
}
}
yy729:
++p;
yy730 : { return (bufsize_t)(p - start); }
yy731:
++p;
yych = *p;
if (yych <= 0xDF) {
if (yych <= '[') {
if (yych <= 0x00)
goto yy702;
if (yych == ')')
goto yy742;
goto yy727;
} else {
if (yych <= '\\')
goto yy731;
if (yych <= 0x7F)
goto yy727;
if (yych <= 0xC1)
goto yy702;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy734;
if (yych == 0xED)
goto yy736;
goto yy735;
} else {
if (yych <= 0xF0)
goto yy737;
if (yych <= 0xF3)
goto yy738;
if (yych <= 0xF4)
goto yy739;
goto yy702;
}
}
yy733:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0xBF)
goto yy727;
goto yy702;
yy734:
++p;
yych = *p;
if (yych <= 0x9F)
goto yy702;
if (yych <= 0xBF)
goto yy733;
goto yy702;
yy735:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0xBF)
goto yy733;
goto yy702;
yy736:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0x9F)
goto yy733;
goto yy702;
yy737:
++p;
yych = *p;
if (yych <= 0x8F)
goto yy702;
if (yych <= 0xBF)
goto yy735;
goto yy702;
yy738:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0xBF)
goto yy735;
goto yy702;
yy739:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy702;
if (yych <= 0x8F)
goto yy735;
goto yy702;
yy740:
yyaccept = 1;
marker = ++p;
yych = *p;
if (yybm[0 + yych] & 16) {
goto yy700;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy704;
if (yych <= '"')
goto yy703;
goto yy705;
} else {
if (yych <= 0xC1)
goto yy704;
if (yych <= 0xDF)
goto yy707;
goto yy708;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy710;
goto yy709;
} else {
if (yych <= 0xF0)
goto yy711;
if (yych <= 0xF3)
goto yy712;
if (yych <= 0xF4)
goto yy713;
goto yy704;
}
}
yy741:
yyaccept = 2;
marker = ++p;
yych = *p;
if (yybm[0 + yych] & 64) {
goto yy714;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy717;
if (yych <= '\'')
goto yy716;
goto yy718;
} else {
if (yych <= 0xC1)
goto yy717;
if (yych <= 0xDF)
goto yy720;
goto yy721;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy723;
goto yy722;
} else {
if (yych <= 0xF0)
goto yy724;
if (yych <= 0xF3)
goto yy725;
if (yych <= 0xF4)
goto yy726;
goto yy717;
}
}
yy742:
yyaccept = 3;
marker = ++p;
yych = *p;
if (yybm[0 + yych] & 128) {
goto yy727;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= '(')
goto yy730;
if (yych <= ')')
goto yy729;
goto yy731;
} else {
if (yych <= 0xC1)
goto yy730;
if (yych <= 0xDF)
goto yy733;
goto yy734;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy736;
goto yy735;
} else {
if (yych <= 0xF0)
goto yy737;
if (yych <= 0xF3)
goto yy738;
if (yych <= 0xF4)
goto yy739;
goto yy730;
}
}
}
}