diff --git a/src/modules/Regexp/pike_regexp.c b/src/modules/Regexp/pike_regexp.c index 8c3d21f6ed32e6bfddb0d13d3334ea23b60b93f6..05ae9ca62142b4482227cd2be90f475388633bed 100644 --- a/src/modules/Regexp/pike_regexp.c +++ b/src/modules/Regexp/pike_regexp.c @@ -1,5 +1,5 @@ /* - * $Id: pike_regexp.c,v 1.15 2000/08/11 13:04:22 grubba Exp $ + * $Id: pike_regexp.c,v 1.16 2000/09/02 23:52:23 marcus Exp $ * * regexp.c - regular expression matching * @@ -984,7 +984,7 @@ char *prog; register char nextch; register size_t no; register char *save; - register int minimum; + register size_t minimum; /* * Lookahead to avoid useless match attempts when we know @@ -995,8 +995,8 @@ char *prog; nextch = *OPERAND(nxt); minimum = (OP(scan) == STAR) ? 0 : 1; save = reginput; - no = regrepeat(OPERAND(scan)) + (minimum == 0); - while (no) { + no = regrepeat(OPERAND(scan)); + while (no >= minimum) { /* If it could work, try it. */ if (nextch == '\0' || *reginput == nextch) if (regmatch(nxt))