when we use a character as a subscript we must make it unsigned. */
#ifndef TRANSLATE
#define TRANSLATE(d) \
- (translate ? (unsigned char) translate[(unsigned char) (d)] : (d))
+ (translate ? (unsigned char) RE_TRANSLATE (translate, (unsigned char) (d)) : (d))
#endif
if (translate)
while (range > lim
&& !fastmap[(unsigned char)
- translate[(unsigned char) *d++]])
+ RE_TRANSLATE (translate, (unsigned char) *d++)])
range--;
else
while (range > lim && !fastmap[(unsigned char) *d++])
do
{
PREFETCH ();
- if ((unsigned char) translate[(unsigned char) *d++]
+ if ((unsigned char) RE_TRANSLATE (translate, (unsigned char) *d++)
!= (unsigned char) *p++)
goto fail;
}
register unsigned char *p1 = s1, *p2 = s2;
while (len)
{
- if (translate[*p1++] != translate[*p2++]) return 1;
+ if (RE_TRANSLATE (translate, *p1++) != RE_TRANSLATE (translate, *p2++))
+ return 1;
len--;
}
return 0;