Skip to content

Commit 36ffa5f

Browse files
authored
grep: fix logic for empty patterns (#826)
* Checking length of $pattern is unreliable because it is valid for a pattern to have zero-length (meaning match-all) * I found this when testing the -f option but the logic applies to other usages of grep %md5sum a.c c9fd7ff4cb5b01981a2a362f82f44c89 a.c %perl grep -F '' a.c | md5sum c9fd7ff4cb5b01981a2a362f82f44c89 - %printf "\n" > pat0 && perl grep -f pat0 a.c | md5sum c9fd7ff4cb5b01981a2a362f82f44c89 - %perl grep -e '' a.c | md5sum c9fd7ff4cb5b01981a2a362f82f44c89 -
1 parent a70b742 commit 36ffa5f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

bin/grep

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ sub parse_args {
269269
if ($opt_f && scalar(@patterns) == 0) { # empty -f file allowed
270270
exit EX_NOMATCH;
271271
}
272-
unless (length $pattern) {
272+
unless (@patterns) {
273273
$pattern = shift @ARGV;
274274
usage() unless defined $pattern;
275275
push @patterns, $pattern;

0 commit comments

Comments
 (0)