grep: fix grep -x to not set REG_NOSUB
authorJames Hogan <james.hogan@imgtec.com>
Tue, 7 May 2013 11:32:21 +0000 (12:32 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 16 May 2013 12:47:05 +0000 (14:47 +0200)
commit5fc0585c01a6b87432f344c98eb544e116c2d1d4
tree6695af7cfe19d48e9e9d0c8cedc93b7e73ba6b28
parentaa94130f744ae229e5392eb4e303a9805a9963fb
grep: fix grep -x to not set REG_NOSUB

When -F isn't specified (and !ENABLE_EXTRA_COMPAT), grep -x uses
regexec's regmatch_t output to determine if the match was the entire
line. However it also set the REG_NOSUB flag which makes it ignore the
regmatch_t argument.

Add an exception to the setting of REG_NOSUB for OPT_x and add some test
cases to test the behaviour of -x.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Natanael Copa <ncopa@alpinelinux.org>
Cc: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
findutils/grep.c
testsuite/grep.tests