git: 42368c6b5f92 - stable/12 - grep: fix combination of quiet and count flag

Ed Maste emaste at FreeBSD.org
Wed Sep 22 14:07:02 UTC 2021


The branch stable/12 has been updated by emaste:

URL: https://cgit.FreeBSD.org/src/commit/?id=42368c6b5f920cda954621c3c541bfdb754ab0c8

commit 42368c6b5f920cda954621c3c541bfdb754ab0c8
Author:     Mariusz Zaborski <oshogbo at FreeBSD.org>
AuthorDate: 2021-07-09 12:09:14 +0000
Commit:     Ed Maste <emaste at FreeBSD.org>
CommitDate: 2021-09-22 14:06:39 +0000

    grep: fix combination of quiet and count flag
    
    When the quiet (-q) flag is provided, we don't expect any output.
    Currently, the behavior is broken:
    $ grep -cq flag util.c
    1
    
    $ grep -cs flag util.c
    55
    
    First of all, we print a number to stdout. Secondly, it just returns
    0 or 1 (which is unexpected). GNU grep with c and q flags doesn't
    print anything.
    
    Reviewed by:    markj
    Differential Revision:  https://reviews.freebsd.org/D31108
    
    (cherry picked from commit 24c681a7f6d6c777221fdbd289da64ff65ad8785)
---
 usr.bin/grep/util.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/usr.bin/grep/util.c b/usr.bin/grep/util.c
index 220ffaef7dab..5c7659fd0f28 100644
--- a/usr.bin/grep/util.c
+++ b/usr.bin/grep/util.c
@@ -386,7 +386,7 @@ procfile(const char *fn)
 		clearqueue();
 	grep_close(f);
 
-	if (cflag) {
+	if (cflag && !qflag) {
 		if (!hflag)
 			printf("%s:", pc.ln.file);
 		printf("%u\n", lines);


More information about the dev-commits-src-all mailing list