grep: option to use GNU regex matching instead of POSIX one.

This fixes problems with NULs in files being scanned, but
 costs +800 bytes. The same can be done to sed (TODO).
This commit is contained in:
Denis Vlasenko
2008-08-09 16:15:14 +00:00
parent fb5902ca5c
commit 3fd15e197e
5 changed files with 155 additions and 36 deletions

View File

@@ -62,12 +62,8 @@ testing "grep -s nofile - (stdin and nonexisting file, match)" \
"grep -s domatch nonexistent - ; echo \$?" \
"(standard input):domatch\n2\n" "" "nomatch\ndomatch\nend\n"
# This doesn't match GNU behaviour (Binary file input matches)
# acts like GNU grep -a
testing "grep handles binary files" "grep foo input" "foo\n" "\0foo\n\n" ""
# This doesn't match GNU behaviour (Binary file (standard input) matches)
# acts like GNU grep -a
testing "grep handles binary stdin" "grep foo" "foo\n" "" "\0foo\n\n"
testing "grep handles NUL in files" "grep -a foo input" "\0foo\n" "\0foo\n\n" ""
testing "grep handles NUL on stdin" "grep -a foo" "\0foo\n" "" "\0foo\n\n"
testing "grep matches NUL" "grep . input > /dev/null 2>&1 ; echo \$?" \
"0\n" "\0\n" ""