From: Dmitry Potapov Date: Fri, 14 May 2010 09:34:24 GMT Subject: Re: [PATCH 3/7] grep: --count over binary Message-ID: <20100514093424.GA6212@dpotapov.dyndns.org> In-Reply-To: <4BEC62F6.9050602@lsrfire.ath.cx> On Thu, May 13, 2010 at 10:37:10PM +0200, René Scharfe wrote: > The intent of showing the message "Binary file xyz matches" for > binary files is to avoid annoying users by potentially messing up > their terminals by printing control characters. In --count mode, > this precaution isn't necessary. > > Display counts of matches if -c/--count was specified, even if -a > was not given. GNU grep does the same. It is also not necessary with '-l' and '-L' options. (At least, if we follow GNU grep). > --- a/grep.c > +++ b/grep.c > @@ -802,7 +802,7 @@ static int grep_buffer_1(struct grep_opt *opt, const char *name, > > switch (opt->binary) { > case GREP_BINARY_DEFAULT: > - if (buffer_is_binary(buf, size)) > + if (!opt->count && buffer_is_binary(buf, size)) > binary_match_only = 1; So, I believe it should be: if (!opt->count && !opt->name_only && !opt->unmatch_name_only && buffer_is_binary(buf, size)) Dmitry