diff options
author | erik <erik@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2000-01-05 05:49:51 +0000 |
---|---|---|
committer | erik <erik@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2000-01-05 05:49:51 +0000 |
commit | 85ba1f1b58773927fe69a65fe4317827db102027 (patch) | |
tree | 268b4c8328c0f655b2c47d80bb1231f246ce3b3c | |
parent | f5005c98e67b6d00f4751778a75fcd256b90c964 (diff) | |
download | busybox-w32-85ba1f1b58773927fe69a65fe4317827db102027.tar.gz busybox-w32-85ba1f1b58773927fe69a65fe4317827db102027.tar.bz2 busybox-w32-85ba1f1b58773927fe69a65fe4317827db102027.zip |
heheh. Forgot the fix. Here it is:
* Grep -i previously failed on UPPER CASE patterns due to a silly
regexp implementation bug that is now fixed.
-Erik
git-svn-id: svn://busybox.net/trunk/busybox@278 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r-- | regexp.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -385,11 +385,14 @@ static int match1(regexp* re, char ch, int token, int ignoreCase) | |||
385 | if (re->program[1 + 32 * (token - M_CLASS(0)) + (ch >> 3)] & (1 << (ch & 7))) | 385 | if (re->program[1 + 32 * (token - M_CLASS(0)) + (ch >> 3)] & (1 << (ch & 7))) |
386 | return 0; | 386 | return 0; |
387 | } | 387 | } |
388 | else if (ch == token | 388 | //fprintf(stderr, "match1: ch='%c' token='%c': ", ch, token); |
389 | || (ignoreCase==TRUE && isupper(ch) && tolower(ch) == token)) | 389 | if (ch == token |
390 | || (ignoreCase==TRUE && tolower(ch) == tolower(token))) | ||
390 | { | 391 | { |
392 | //fprintf(stderr, "match\n"); | ||
391 | return 0; | 393 | return 0; |
392 | } | 394 | } |
395 | //fprintf(stderr, "no match\n"); | ||
393 | return 1; | 396 | return 1; |
394 | } | 397 | } |
395 | 398 | ||