grep: Restore modification for HAMMER FS
authorJohn Marino <draco@marino.st>
Tue, 8 May 2012 16:25:35 +0000 (18:25 +0200)
committerJohn Marino <draco@marino.st>
Tue, 8 May 2012 21:55:45 +0000 (23:55 +0200)
The first version of this modification was created by Matthias Schmidt.
Unmodified, grep used on a HAMMER filesystem will emit "Invalid argument"
when scanning directories because HAMMER doesn't treat them as files.

Unmodified behavior:
> cd /usr/src
> grep test: *
Makefile:test:
grep: cat: Invalid argument
[...]

After modification:
> cd /usr/src
> grep test: *
Makefile:test:

The modification was removed because it didn't merge simply with the
grep upgrade from 2.9 to 2.12.  Now that the merge is complete, the
new version of the modification is applied to restore the correct
behavior of grep on the HAMMER filesystem.

contrib/grep/src/main.c

index c5a8489..82769a7 100644 (file)
@@ -56,7 +56,7 @@
 
 #define AUTHORS \
   proper_name ("Mike Haertel"), \
-  _("others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>")
+  _("others, see\n<http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>")
 
 /* When stdout is connected to a regular file, save its stat
    information here, so that we can automatically skip it, thus
@@ -1114,7 +1114,8 @@ grep (int fd, struct stat const *st)
 
   if (! fillbuf (save, st))
     {
-      suppressible_error (filename, errno);
+      if (errno != EINVAL)
+        suppressible_error (filename, errno);
       return 0;
     }