aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Leres <leres@FreeBSD.org>2025-12-13 23:43:02 +0000
committerCraig Leres <leres@FreeBSD.org>2025-12-14 21:15:36 +0000
commit80726c2257e9d6d79341aac65ba22987f53619bc (patch)
treec1db71d326e407553786d162ec04bbbc700fb948
parentf943454bfbd98ce49516c6ede8626b5f2602edc1 (diff)
Fix zgrep(1) wrapper regression, add test
@bdrewery reported D48873 broke "bzgrep -q '1 2' /var/log/messages.0.bz2" The mistake was in using $* instead of "$@" (I suspect $* is never right). Reported by: bdrewery Reviewed by: markj Approved by: markj Fixes: 1070477cc8b7 ("Fix remaining zgrep(1) wrapper script regressions") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54217
-rwxr-xr-xusr.bin/grep/tests/grep_freebsd_test.sh10
-rwxr-xr-xusr.bin/grep/zgrep.sh2
2 files changed, 11 insertions, 1 deletions
diff --git a/usr.bin/grep/tests/grep_freebsd_test.sh b/usr.bin/grep/tests/grep_freebsd_test.sh
index 906b70645151..eaf3694c2b1e 100755
--- a/usr.bin/grep/tests/grep_freebsd_test.sh
+++ b/usr.bin/grep/tests/grep_freebsd_test.sh
@@ -117,6 +117,15 @@ color_dupe_body()
atf_check -o match:"^ +1 color.out" wc -l color.out
}
+atf_test_case qflag
+qflag_body()
+{
+ # Test whitespace in argument
+ printf "1 2 3 4\n5 6 7 8\n" > in
+
+ atf_check zgrep -q '1 2' in
+}
+
atf_init_test_cases()
{
atf_add_test_case grep_r_implied
@@ -124,4 +133,5 @@ atf_init_test_cases()
atf_add_test_case gnuext
atf_add_test_case zflag
atf_add_test_case color_dupe
+ atf_add_test_case qflag
}
diff --git a/usr.bin/grep/zgrep.sh b/usr.bin/grep/zgrep.sh
index 8bd630726647..474f3868db9d 100755
--- a/usr.bin/grep/zgrep.sh
+++ b/usr.bin/grep/zgrep.sh
@@ -109,7 +109,7 @@ do
grep_args="${grep_args} ${pre}"
shift
# Put back partial arg
- set -- "-${post}" $*
+ set -- "-${post}" "$@"
;;
-[ABCDdefm])
if [ $# -lt 2 ]