[git commit] grep: fix echo "aa" | busybox grep -F -w "a" (should not match)
Denys Vlasenko
vda.linux at googlemail.com
Thu Mar 29 16:03:50 UTC 2018
commit: https://git.busybox.net/busybox/commit/?id=03fd7e06f854d385070a6fc9714f445727c359cd
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
function old new delta
grep_file 1461 1470 +9
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
findutils/grep.c | 2 +-
testsuite/grep.tests | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/findutils/grep.c b/findutils/grep.c
index fc6de4b69..88de0d4ef 100644
--- a/findutils/grep.c
+++ b/findutils/grep.c
@@ -352,7 +352,7 @@ static int grep_file(FILE *file)
goto opt_f_not_found;
} else
if (option_mask32 & OPT_w) {
- char c = (match != str) ? match[-1] : ' ';
+ char c = (match != line) ? match[-1] : ' ';
if (!isalnum(c) && c != '_') {
c = match[strlen(gl->pattern)];
if (!c || (!isalnum(c) && c != '_'))
diff --git a/testsuite/grep.tests b/testsuite/grep.tests
index ed4ba455e..d0b0d2767 100755
--- a/testsuite/grep.tests
+++ b/testsuite/grep.tests
@@ -165,6 +165,12 @@ testing "grep -w word doesn't match wordword" \
"wordword\n" \
""
+testing "grep -F -w w doesn't match ww" \
+ "grep -F -w w input" \
+ "" \
+ "ww\n" \
+ ""
+
testing "grep -w word match second word" \
"grep -w word input" \
"bword,word\n""wordb,word\n""bwordb,word\n" \
More information about the busybox-cvs
mailing list