{
j = pat[i]; i += direction;
if (i == dirlen) i = infinity;
- if ((int) trt)
+ if (trt != 0)
{
k = (j = trt[j]);
if (i == infinity)
either kind of comparison will work as long
as we don't step by infinity. So pick the kind
that works when we do step by infinity. */
- if ((int) (p_limit + infinity) > (int) p_limit)
- while ((int) cursor <= (int) p_limit)
+ if ((EMACS_INT) (p_limit + infinity) > (EMACS_INT) p_limit)
+ while ((EMACS_INT) cursor <= (int) p_limit)
cursor += BM_tab[*cursor];
else
- while ((unsigned int) cursor <= (unsigned int) p_limit)
+ while ((unsigned EMACS_INT) cursor <= (unsigned EMACS_INT) p_limit)
cursor += BM_tab[*cursor];
}
else
{
- if ((int) (p_limit + infinity) < (int) p_limit)
- while ((int) cursor >= (int) p_limit)
+ if ((EMACS_INT) (p_limit + infinity) < (EMACS_INT) p_limit)
+ while ((EMACS_INT) cursor >= (EMACS_INT) p_limit)
cursor += BM_tab[*cursor];
else
- while ((unsigned int) cursor >= (unsigned int) p_limit)
+ while ((unsigned EMACS_INT) cursor >= (unsigned EMACS_INT) p_limit)
cursor += BM_tab[*cursor];
}
/* If you are here, cursor is beyond the end of the searched region. */
break; /* a small overrun is genuine */
cursor -= infinity; /* large overrun = hit */
i = dirlen - direction;
- if ((int) trt)
+ if (trt != 0)
{
while ((i -= direction) + direction != 0)
if (pat[i] != trt[*(cursor -= direction)])
while ((i -= direction) + direction != 0)
{
pos -= direction;
- if (pat[i] != (((int) trt)
+ if (pat[i] != (trt != 0
? trt[FETCH_CHAR(pos)]
: FETCH_CHAR (pos)))
break;