diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | regex.c | 6 | ||||
-rw-r--r-- | search.c | 5 |
3 files changed, 14 insertions, 6 deletions
@@ -1,3 +1,10 @@ +2002-01-11 Akinori Ito <aito@fw.ipsj.or.jp> + + * [w3m-dev 02819] + * regex.c (RegexMatch): loop condition changed (from < to <= ) + * regex.c (regmatch_iter): end condition changed (from >= to >) + * search.c (forwardSearch): next search fix + 2002-01-11 Fumitoshi UKAI <ukai@debian.or.jp> * [w3m-dev 02818] @@ -1842,4 +1849,4 @@ * release-0-2-1 * import w3m-0.2.1 -$Id: ChangeLog,v 1.206 2002/01/10 16:11:32 ukai Exp $ +$Id: ChangeLog,v 1.207 2002/01/11 02:24:13 a-ito Exp $ @@ -1,4 +1,4 @@ -/* $Id: regex.c,v 1.9 2002/01/10 16:11:32 ukai Exp $ */ +/* $Id: regex.c,v 1.10 2002/01/11 02:24:13 a-ito Exp $ */ /* * regex: Regular expression pattern match library * @@ -265,7 +265,7 @@ RegexMatch(Regex *re, char *str, int len, int firstp) len = strlen(str); re->position = NULL; ep = str + len; - for (p = str; p < ep; p++) { + for (p = str; p <= ep; p++) { lpos = NULL; re->lposition = NULL; for (r = re; r != NULL; r = r->alt_regex) { @@ -554,7 +554,7 @@ regmatch_iter(struct MatchingContext1 *c, c->re++; c->firstp = 0; } - if (c->str >= c->end_p) { + if (c->str > c->end_p) { return 0; } } @@ -1,4 +1,4 @@ -/* $Id: search.c,v 1.5 2001/12/23 14:44:00 ukai Exp $ */ +/* $Id: search.c,v 1.6 2002/01/11 02:24:13 a-ito Exp $ */ #include "fm.h" #include "regex.h" @@ -23,7 +23,8 @@ forwardSearch(Buffer *buf, char *str) if (l->propBuf[pos] & PC_KANJI2) pos++; #endif - if (regexMatch(&l->lineBuf[pos], l->len - pos, 0) == 1) { + if (pos < l->len && + regexMatch(&l->lineBuf[pos], l->len - pos, 0) == 1) { matchedPosition(&first, &last); buf->pos = first - l->lineBuf; arrangeCursor(buf); |