if (minlen)
dontbother++,strend--;
tmp = (s != startpos) ? UCHARAT(s - 1) : regprev;
- tmp = (OP(c) == BOUND ? isALNUM(tmp) : isALNUM_LC(tmp));
+ tmp = ((OP(c) == BOUND ? isALNUM(tmp) : isALNUM_LC(tmp)) != 0);
while (s < strend) {
- if (tmp != (OP(c) == BOUND ? isALNUM(*s) : isALNUM_LC(*s))) {
+ if (tmp == !(OP(c) == BOUND ? isALNUM(*s) : isALNUM_LC(*s))) {
tmp = !tmp;
if (regtry(prog, s))
goto got_it;
if (minlen)
dontbother++,strend--;
tmp = (s != startpos) ? UCHARAT(s - 1) : regprev;
- tmp = (OP(c) == NBOUND ? isALNUM(tmp) : isALNUM_LC(tmp));
+ tmp = ((OP(c) == NBOUND ? isALNUM(tmp) : isALNUM_LC(tmp)) != 0);
while (s < strend) {
- if (tmp != (OP(c) == NBOUND ? isALNUM(*s) : isALNUM_LC(*s)))
+ if (tmp == !(OP(c) == NBOUND ? isALNUM(*s) : isALNUM_LC(*s)))
tmp = !tmp;
else if (regtry(prog, s))
goto got_it;
s = OPERAND(scan);
ln = *s++;
/* Inline the first character, for speed. */
- if (*s != nextchar)
+ if (UCHARAT(s) != nextchar)
sayNO;
if (regeol - locinput < ln)
sayNO;
ln = isALNUM_LC(ln);
n = isALNUM_LC(nextchar);
}
- if ((ln == n) == (OP(scan) == BOUND || OP(scan) == BOUNDL))
+ if (((!ln) == (!n)) == (OP(scan) == BOUND || OP(scan) == BOUNDL))
sayNO;
break;
case SPACEL:
if (s == regendp[n])
break;
/* Inline the first character, for speed. */
- if (*s != nextchar)
+ if (UCHARAT(s) != nextchar)
sayNO;
ln = regendp[n] - s;
if (locinput + ln > regeol)