{
syntaxcode = code[pos++];
for (a = 0; a < 256; a++)
- if (SYNTAX(a) == syntaxcode)
+ if (SYNTAX(a) & syntaxcode)
fastmap[a] = 1;
return;
}
{
syntaxcode = code[pos++];
for (a = 0; a < 256; a++)
- if (SYNTAX(a) != syntaxcode)
+ if (!(SYNTAX(a) & syntaxcode) )
fastmap[a] = 1;
return;
}
if (translate)
{
while (text < textend &&
- translate[SYNTAX(*text)] == a)
+ (SYNTAX(translate[*text]) & a) )
text++;
}
else
{
- while (text < textend && SYNTAX(*text) == a)
+ while (text < textend && (SYNTAX(*text) & a) )
text++;
}
break;
if (translate)
{
while (text < textend &&
- translate[SYNTAX(*text)] != a)
+ !(SYNTAX(translate[*text]) & a) )
text++;
}
else
{
- while (text < textend && SYNTAX(*text) != a)
+ while (text < textend && !(SYNTAX(*text) & a) )
text++;
}
break;