diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-05-26 09:46:41 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-05-26 09:46:41 +0000 |
commit | 7f164cd05226615e9518e74eceb0b47c15cbe3e6 (patch) | |
tree | 4790f4a882e957df6c40d887ba2fd0ab8c519c47 /findutils/grep.c | |
parent | f086ed8ddd4bed67cb255c56b835ea24065c5c5f (diff) | |
download | busybox-w32-7f164cd05226615e9518e74eceb0b47c15cbe3e6.tar.gz busybox-w32-7f164cd05226615e9518e74eceb0b47c15cbe3e6.tar.bz2 busybox-w32-7f164cd05226615e9518e74eceb0b47c15cbe3e6.zip |
Patch from vodz to correct 'grep -e pattern1 -e pattern2' logic
Diffstat (limited to 'findutils/grep.c')
-rw-r--r-- | findutils/grep.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/findutils/grep.c b/findutils/grep.c index 3ba746373..6ece0ab12 100644 --- a/findutils/grep.c +++ b/findutils/grep.c | |||
@@ -20,8 +20,8 @@ | |||
20 | * | 20 | * |
21 | */ | 21 | */ |
22 | /* | 22 | /* |
23 | * Jun 2003 by Vladimir Oleynik <dzo@simtreas.ru> - | 23 | * Apr 2004 by Vladimir Oleynik <dzo@simtreas.ru> - |
24 | * correction "-e pattern1 -e -e pattern2" logic and more optimizations. | 24 | * correction "-e pattern1 -e pattern2" logic and more optimizations. |
25 | */ | 25 | */ |
26 | 26 | ||
27 | #include <stdio.h> | 27 | #include <stdio.h> |
@@ -135,11 +135,9 @@ static int grep_file(FILE *file) | |||
135 | */ | 135 | */ |
136 | regex_t regex; | 136 | regex_t regex; |
137 | xregcomp(®ex, pattern_ptr->data, reflags); | 137 | xregcomp(®ex, pattern_ptr->data, reflags); |
138 | ret = regexec(®ex, line, 0, NULL, 0) == 0; | 138 | ret |= regexec(®ex, line, 0, NULL, 0) == 0; |
139 | regfree(®ex); | 139 | regfree(®ex); |
140 | } | 140 | } |
141 | if (!ret) | ||
142 | break; | ||
143 | pattern_ptr = pattern_ptr->link; | 141 | pattern_ptr = pattern_ptr->link; |
144 | } /* while (pattern_ptr) */ | 142 | } /* while (pattern_ptr) */ |
145 | 143 | ||