grep: fix grep -x to not set REG_NOSUB
No binary (build failed)
—
(log yok)
| @@ -716,7 +716,7 @@ int grep_main(int argc UNUSED_PARAM, char **argv) | |
| option_mask32 |= OPT_F; | |
| #if !ENABLE_EXTRA_COMPAT | |
| - | if (!(option_mask32 & (OPT_o | OPT_w))) |
| + | if (!(option_mask32 & (OPT_o | OPT_w | OPT_x))) |
| reflags = REG_NOSUB; | |
| #endif | |
| @@ -82,6 +82,20 @@ testing "grep -F handles -i" "grep -F -i foo input ; echo \$?" \ | |
| testing "grep can read regexps from stdin" "grep -f - input ; echo \$?" \ | |
| "two\nthree\n0\n" "tw\ntwo\nthree\n" "tw.\nthr\n" | |
| + | # -x (whole line match) |
| + | testing "grep -x (full match)" "grep -x foo input ; echo \$?" \ |
| + | "foo\n0\n" "foo\n" "" |
| + | testing "grep -x (partial match 1)" "grep -x foo input ; echo \$?" \ |
| + | "1\n" "foo bar\n" "" |
| + | testing "grep -x (partial match 2)" "grep -x foo input ; echo \$?" \ |
| + | "1\n" "bar foo\n" "" |
| + | testing "grep -x -F (full match)" "grep -x -F foo input ; echo \$?" \ |
| + | "foo\n0\n" "foo\n" "" |
| + | testing "grep -x -F (partial match 1)" "grep -x -F foo input ; echo \$?" \ |
| + | "1\n" "foo bar\n" "" |
| + | testing "grep -x -F (partial match 2)" "grep -x -F foo input ; echo \$?" \ |
| + | "1\n" "bar foo\n" "" |
| + | |
| optional FEATURE_GREP_EGREP_ALIAS | |
| testing "grep -E supports extended regexps" "grep -E fo+" "foo\n" "" \ | |
| "b\ar\nfoo\nbaz" | |