grep: fix -Fi

function                                             old     new   delta
grep_file                                           1151    1169     +18

Signed-off-by: Ian Wienand <ianw@vmware.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Ian Wienand 2010-04-30 09:32:10 +02:00 committed by Denys Vlasenko
parent d2844fcb68
commit 0a2c793bd6
2 changed files with 6 additions and 1 deletions

View File

@ -254,7 +254,10 @@ static int grep_file(FILE *file)
while (pattern_ptr) { while (pattern_ptr) {
gl = (grep_list_data_t *)pattern_ptr->data; gl = (grep_list_data_t *)pattern_ptr->data;
if (FGREP_FLAG) { if (FGREP_FLAG) {
found |= (strstr(line, gl->pattern) != NULL); found |= (((option_mask32 & OPT_i)
? strcasestr(line, gl->pattern)
: strstr(line, gl->pattern)
) != NULL);
} else { } else {
if (!(gl->flg_mem_alocated_compiled & COMPILED)) { if (!(gl->flg_mem_alocated_compiled & COMPILED)) {
gl->flg_mem_alocated_compiled |= COMPILED; gl->flg_mem_alocated_compiled |= COMPILED;

View File

@ -75,6 +75,8 @@ testing "grep handles multiple regexps" "grep -e one -e two input ; echo \$?" \
"one\ntwo\n0\n" "one\ntwo\n" "" "one\ntwo\n0\n" "one\ntwo\n" ""
testing "grep -F handles multiple expessions" "grep -F -e one -e two input ; echo \$?" \ testing "grep -F handles multiple expessions" "grep -F -e one -e two input ; echo \$?" \
"one\ntwo\n0\n" "one\ntwo\n" "" "one\ntwo\n0\n" "one\ntwo\n" ""
testing "grep -F handles -i" "grep -F -i foo input ; echo \$?" \
"FOO\n0\n" "FOO\n" ""
# -f file/- # -f file/-
testing "grep can read regexps from stdin" "grep -f - input ; echo \$?" \ testing "grep can read regexps from stdin" "grep -f - input ; echo \$?" \