diff options
author | Tom Jones <thj@FreeBSD.org> | 2022-01-27 17:17:13 +0000 |
---|---|---|
committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2024-01-17 15:52:02 +0000 |
commit | ab215565c81a0dc1f97635cc0647084ad1480ba3 (patch) | |
tree | 40ef2b71f00be158031afdad7aaea1db10185ba9 | |
parent | 2a22edfc70ad442bdf5060f48ea673faebfaa386 (diff) | |
download | src-ab215565c81a0dc1f97635cc0647084ad1480ba3.tar.gz src-ab215565c81a0dc1f97635cc0647084ad1480ba3.zip |
Fix test output when gzip is run with -tlv
When run with test, verbose and list we need to parse the file otherwise
the test output is "NOT OK" even for the file is valid.
Reviewed by: kevans, allanjude, imp
Sponsored by: Klara Inc.
Differential Revision: https://reviews.freebsd.org/D34046
(cherry picked from commit 21c966a6b9f2e9110b8dc2a822ad2b4583f4f18b)
-rw-r--r-- | usr.bin/gzip/gzip.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/usr.bin/gzip/gzip.c b/usr.bin/gzip/gzip.c index 95525f99b881..a21039aeb59c 100644 --- a/usr.bin/gzip/gzip.c +++ b/usr.bin/gzip/gzip.c @@ -1654,10 +1654,13 @@ file_uncompress(char *file, char *outfile, size_t outsize) case FT_XZ: if (lflag) { size = unxz_len(fd); - print_list_out(in_size, size, file); - return -1; - } - size = unxz(fd, zfd, NULL, 0, NULL); + if (!tflag) { + print_list_out(in_size, size, file); + close(fd); + return -1; + } + } else + size = unxz(fd, zfd, NULL, 0, NULL); break; #endif @@ -1682,8 +1685,10 @@ file_uncompress(char *file, char *outfile, size_t outsize) default: if (lflag) { print_list(fd, in_size, outfile, isb.st_mtime); - close(fd); - return -1; /* XXX */ + if (!tflag) { + close(fd); + return -1; /* XXX */ + } } size = gz_uncompress(fd, zfd, NULL, 0, NULL, file); |