aboutsummaryrefslogtreecommitdiff
path: root/findutils/grep.c
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2004-05-26 09:46:41 +0000
committerEric Andersen <andersen@codepoet.org>2004-05-26 09:46:41 +0000
commit7f164cd05226615e9518e74eceb0b47c15cbe3e6 (patch)
tree4790f4a882e957df6c40d887ba2fd0ab8c519c47 /findutils/grep.c
parentf086ed8ddd4bed67cb255c56b835ea24065c5c5f (diff)
downloadbusybox-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.c8
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(&regex, pattern_ptr->data, reflags); 137 xregcomp(&regex, pattern_ptr->data, reflags);
138 ret = regexec(&regex, line, 0, NULL, 0) == 0; 138 ret |= regexec(&regex, line, 0, NULL, 0) == 0;
139 regfree(&regex); 139 regfree(&regex);
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