Match symbolic link handling behavior with GNU gzip, bzip2 and xz:

When we are operating on a symbolic link pointing to an existing
file, bail out by default, but go ahead if -f is specified.

Submitted by:	arundel
MFC after:	2 weeks
This commit is contained in:
Xin LI 2011-05-23 09:40:21 +00:00
parent be07528c53
commit fc26891004
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=222211
2 changed files with 5 additions and 5 deletions

View File

@ -25,7 +25,7 @@
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.Dd April 27, 2010
.Dd May 23, 2011
.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

View File

@ -1782,7 +1782,7 @@ handle_pathname(char *path)
}
retry:
if (stat(path, &sb) != 0) {
if (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);