diff options
-rw-r--r-- | findutils/grep.c | 2 | ||||
-rwxr-xr-x | testsuite/grep.tests | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/findutils/grep.c b/findutils/grep.c index b808ad92b..b8ad1bf8f 100644 --- a/findutils/grep.c +++ b/findutils/grep.c | |||
@@ -716,7 +716,7 @@ int grep_main(int argc UNUSED_PARAM, char **argv) | |||
716 | option_mask32 |= OPT_F; | 716 | option_mask32 |= OPT_F; |
717 | 717 | ||
718 | #if !ENABLE_EXTRA_COMPAT | 718 | #if !ENABLE_EXTRA_COMPAT |
719 | if (!(option_mask32 & (OPT_o | OPT_w))) | 719 | if (!(option_mask32 & (OPT_o | OPT_w | OPT_x))) |
720 | reflags = REG_NOSUB; | 720 | reflags = REG_NOSUB; |
721 | #endif | 721 | #endif |
722 | 722 | ||
diff --git a/testsuite/grep.tests b/testsuite/grep.tests index 5696fa7e1..64d99a905 100755 --- a/testsuite/grep.tests +++ b/testsuite/grep.tests | |||
@@ -82,6 +82,20 @@ testing "grep -F handles -i" "grep -F -i foo input ; echo \$?" \ | |||
82 | testing "grep can read regexps from stdin" "grep -f - input ; echo \$?" \ | 82 | testing "grep can read regexps from stdin" "grep -f - input ; echo \$?" \ |
83 | "two\nthree\n0\n" "tw\ntwo\nthree\n" "tw.\nthr\n" | 83 | "two\nthree\n0\n" "tw\ntwo\nthree\n" "tw.\nthr\n" |
84 | 84 | ||
85 | # -x (whole line match) | ||
86 | testing "grep -x (full match)" "grep -x foo input ; echo \$?" \ | ||
87 | "foo\n0\n" "foo\n" "" | ||
88 | testing "grep -x (partial match 1)" "grep -x foo input ; echo \$?" \ | ||
89 | "1\n" "foo bar\n" "" | ||
90 | testing "grep -x (partial match 2)" "grep -x foo input ; echo \$?" \ | ||
91 | "1\n" "bar foo\n" "" | ||
92 | testing "grep -x -F (full match)" "grep -x -F foo input ; echo \$?" \ | ||
93 | "foo\n0\n" "foo\n" "" | ||
94 | testing "grep -x -F (partial match 1)" "grep -x -F foo input ; echo \$?" \ | ||
95 | "1\n" "foo bar\n" "" | ||
96 | testing "grep -x -F (partial match 2)" "grep -x -F foo input ; echo \$?" \ | ||
97 | "1\n" "bar foo\n" "" | ||
98 | |||
85 | optional FEATURE_GREP_EGREP_ALIAS | 99 | optional FEATURE_GREP_EGREP_ALIAS |
86 | testing "grep -E supports extended regexps" "grep -E fo+" "foo\n" "" \ | 100 | testing "grep -E supports extended regexps" "grep -E fo+" "foo\n" "" \ |
87 | "b\ar\nfoo\nbaz" | 101 | "b\ar\nfoo\nbaz" |