hi there,

any thoughts on this patch? it changes the semantics of gzip so that it is
consistent with the semantics of bzip2, xz and for more important GNU gzip.

cheers.
alex

-- 
a13x
diff --git a/usr.bin/gzip/gzip.1 b/usr.bin/gzip/gzip.1
index 848a4b3..8eab82c 100644
--- a/usr.bin/gzip/gzip.1
+++ b/usr.bin/gzip/gzip.1
@@ -25,7 +25,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\" $FreeBSD$
-.Dd April 27, 2010
+.Dd November 15, 2010
 .Dt GZIP 1
 .Os
 .Sh NAME
@@ -127,9 +127,9 @@ stream, leaving files intact.
 This option selects decompression rather than compression.
 .It Fl f , -force
 This option turns on force mode.
-This allows files with multiple links, overwriting of pre-existing
-files, reading from or writing to a terminal, and when combined
-with the
+This allows files with multiple links, symbolic links to regular files,
+overwriting of pre-existing files, reading from or writing to a terminal,
+and when combined with the
 .Fl c
 option, allowing non-compressed data to pass through unchanged.
 .It Fl h , -help
diff --git a/usr.bin/gzip/gzip.c b/usr.bin/gzip/gzip.c
index d86e84b..15fcf95 100644
--- a/usr.bin/gzip/gzip.c
+++ b/usr.bin/gzip/gzip.c
@@ -1781,7 +1781,7 @@ handle_pathname(char *path)
        }
 
 retry:
-       if (stat(path, &sb) != 0) {
+       if (fflag && stat(path, &sb) != 0 || fflag == 0 && lstat(path, &sb) != 
0) {
                /* lets try <path>.gz if we're decompressing */
                if (dflag && s == NULL && errno == ENOENT) {
                        len = strlen(path);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[email protected]"

Reply via email to