From 0a2c793bd61540629d5686adb5afd2ada19d624f Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Fri, 30 Apr 2010 09:32:10 +0200 Subject: grep: fix -Fi function old new delta grep_file 1151 1169 +18 Signed-off-by: Ian Wienand Signed-off-by: Denys Vlasenko --- findutils/grep.c | 5 ++++- testsuite/grep.tests | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/findutils/grep.c b/findutils/grep.c index 40caef423..0f1c11abb 100644 --- a/findutils/grep.c +++ b/findutils/grep.c @@ -254,7 +254,10 @@ static int grep_file(FILE *file) while (pattern_ptr) { gl = (grep_list_data_t *)pattern_ptr->data; if (FGREP_FLAG) { - found |= (strstr(line, gl->pattern) != NULL); + found |= (((option_mask32 & OPT_i) + ? strcasestr(line, gl->pattern) + : strstr(line, gl->pattern) + ) != NULL); } else { if (!(gl->flg_mem_alocated_compiled & COMPILED)) { gl->flg_mem_alocated_compiled |= COMPILED; diff --git a/testsuite/grep.tests b/testsuite/grep.tests index 8692307dd..d4bf80d83 100755 --- a/testsuite/grep.tests +++ b/testsuite/grep.tests @@ -75,6 +75,8 @@ testing "grep handles multiple regexps" "grep -e one -e two input ; echo \$?" \ "one\ntwo\n0\n" "one\ntwo\n" "" testing "grep -F handles multiple expessions" "grep -F -e one -e two input ; echo \$?" \ "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/- testing "grep can read regexps from stdin" "grep -f - input ; echo \$?" \ -- cgit v1.2.3