Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Dec 2011 13:53:34 +0000 (UTC)
From:      Gabor Kovesdan <gabor@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org
Subject:   svn commit: r228180 - releng/9.0/usr.bin/grep
Message-ID:  <201112011353.pB1DrYQL047806@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gabor
Date: Thu Dec  1 13:53:33 2011
New Revision: 228180
URL: http://svn.freebsd.org/changeset/base/228180

Log:
  MFC 228093
  
    - Fix behavior of --null to match GNU grep
  
  MFC 228097
  
    - Call warnx() instead of errx() if a directory is not readable when using
      a recursive search.  This is the expected behavior instead of aborting.
  
  Approved by:	re (kib)

Modified:
  releng/9.0/usr.bin/grep/util.c
Directory Properties:
  releng/9.0/usr.bin/grep/   (props changed)

Modified: releng/9.0/usr.bin/grep/util.c
==============================================================================
--- releng/9.0/usr.bin/grep/util.c	Thu Dec  1 13:53:08 2011	(r228179)
+++ releng/9.0/usr.bin/grep/util.c	Thu Dec  1 13:53:33 2011	(r228180)
@@ -130,7 +130,9 @@ grep_tree(char **argv)
 		case FTS_DNR:
 			/* FALLTHROUGH */
 		case FTS_ERR:
-			errx(2, "%s: %s", p->fts_path, strerror(p->fts_errno));
+			notfound = true;
+			if(!sflag)
+				warnx("%s: %s", p->fts_path, strerror(p->fts_errno));
 			break;
 		case FTS_D:
 			/* FALLTHROUGH */
@@ -246,9 +248,9 @@ procfile(const char *fn)
 		printf("%u\n", c);
 	}
 	if (lflag && !qflag && c != 0)
-		printf("%s\n", fn);
+		printf("%s%c", fn, nullflag ? 0 : '\n');
 	if (Lflag && !qflag && c == 0)
-		printf("%s\n", fn);
+		printf("%s%c", fn, nullflag ? 0 : '\n');
 	if (c && !cflag && !lflag && !Lflag &&
 	    binbehave == BINFILE_BIN && f->binary && !qflag)
 		printf(getstr(8), fn);
@@ -440,13 +442,13 @@ printline(struct str *line, int sep, reg
 	int i, n = 0;
 
 	if (!hflag) {
-		if (nullflag == 0)
+		if (!nullflag) {
 			fputs(line->file, stdout);
-		else {
+			++n;
+		} else {
 			printf("%s", line->file);
 			putchar(0);
 		}
-		++n;
 	}
 	if (nflag) {
 		if (n > 0)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112011353.pB1DrYQL047806>