he
b5d827cee2
Use of ``vflag'' should be protected by #ifndef SMALL.
2005-11-23 18:34:51 +00:00
mrg
426bb686c4
due to popular demand, don't warn about >4GB files not having their
...
size correctly stored. PR#32105 among other requests.
2005-11-22 09:07:03 +00:00
mrg
e3969e9f13
apply a patch from onno van der linden in PR#32070 that fixes
...
these problems:
1) gzip -vt just prints the contents of a .Z file
2) gzip -vt will print OK even if the .gz file is corrupt
3) gzip -vt prints nothing with a .bz2 file
4) gzip can loop endlessly with a corrupt .bz2 file
2005-11-22 09:05:29 +00:00
wiz
179b01d905
Fix typo reported by David A. Holland in PR 31422.
2005-09-30 13:46:56 +00:00
mrg
1a05f328bc
apply a patch from christian biere:
...
- if we have an open fd, use it instead and, eg, fstat(2), of the file name
and stat(2).
- signed/unsigned variable fixes
- misc. cleanup
2005-09-20 05:12:15 +00:00
mrg
84cb5f3013
oops. fix previous by keeping the stat() inside #ifndef SMALL. pointed
...
out by dsl.
2005-09-15 18:51:33 +00:00
mrg
bdc7967496
in file_compress() always stat() the input file. this patch avoids
...
reading from uninitialised space as provided by John Hein in PR#28995.
2005-09-15 09:30:21 +00:00
mrg
5c0ab9e0af
fix signed/unsigned mismatch reported by Christian Biere in PR#31180
...
using his provided patch.
2005-09-15 09:11:30 +00:00
wiz
aa81fc094a
Use better section header. From YOMURA Masanori in private mail.
2005-09-11 23:30:20 +00:00
mrg
cde2923d5b
avoid an infinite loop while decompressing invalid gzip files.
...
some minor CSE. compare stat return value consistently.
thanks to tron for testing the first change.
2005-08-28 10:17:50 +00:00
lukem
6b5252b15f
Fix numerous uninitalized variables.
...
Detected with gcc -Wuninitialized.
2005-06-02 01:51:58 +00:00
yamt
751e975bfc
handle partial reads. PR/29484.
2005-02-22 21:45:44 +00:00
enami
4cc9b2f8f4
Fix parsing of $GZIP so that not to overrun the end of string.
...
Addesses PR#28779. Fix is slightly different that suggested in the PR
since it fails if $GZIP contains whitespace.
2005-01-31 09:11:49 +00:00
jmc
40c0737463
Fixed for PR#28581. If stdin is the input stream, fstat it and check if it's
...
file. If so, use it's mtime for the mtime in the header. Otherwise use
time(2)'s result instead. Lines up with GNU gzip and RFC 1952 now as well.
2004-12-08 06:38:40 +00:00
dsl
2c25900b60
Don't abort decompression if there are no bytes in the output buffer
...
when the end of compressed block (ie the crc) is reached.
(ie when decompressing concatenated zipped files).
Fixes PR bin/27153
2004-10-08 12:46:24 +00:00
dsl
abc7a82e52
Count the output file size modulo 2^32 so that the check against the size
...
in the compressed file works for files greater than 4GB.
Fixes the fixable part of bin/26907
2004-09-11 11:07:44 +00:00
dsl
754b92f9b9
The last commit slightly increased the size of gzip - I had thought that
...
all the install media used the 'SMALL' variant, but this is not the case.
Redo the percentage print code to reduce the size to less than the old version.
Fix another fd leakage (didn't call fclose() if ferror() returned non-zero.
Change some maybe_warn() to maybe_warnx() in places I'm sure errno is undefined.
Call mayber_warn() earlier in other paths so that errno might still be valid.
Make the SMALL and NO_BZIP/COMPRESS_SUPPORT options all compile with WARNS=3.
2004-09-05 21:32:30 +00:00
dsl
434117bcce
Set the XFL field of the gzip header to indicate maximum compression or
...
fast compression. Fixes PR bin/26812
Add references the the 3 relevant RFCs
2004-09-04 10:48:57 +00:00
he
d6cee1d93b
Cast field width computed from pointer diff and ssize_t to int.
...
Fixes build for amd64 and presumably for our other lp64 ports.
2004-08-31 10:14:30 +00:00
dsl
d55b8a2190
Redo suffix handling so that gunzip xxx.tgx => xxx.tar
...
Rework logic of gz_{un}compress to make it much less likely to leak fds
(at least 2 non-error paths leaked them!)
Make -S ".xyz" and -S "" both do something sensible.
Make in-situ compression work - only lose the file on error.
Pass an open fd to zopen (renamed zdopen) to avoid fd leakage (was badly borked)
Write header into first 64k output block to writes are aligned.
(more efficient and might avoid some problem with code that doesn't
like receiving partial buffers)
Check file size on compression - double checks against fs full.
Remove some pointless casts, and otherwise simplify some logic.
2004-08-30 14:36:51 +00:00
he
7ae4fdd283
Instead of placing largish buffers on the stack, use malloc/free.
...
Fixes compile problem for sun2.
2004-07-16 22:44:01 +00:00
yamt
5e6cd45b9d
fix "gzip -lv a.gz" after gzip.c 1.46.
2004-07-12 10:21:11 +00:00
yamt
284b1b2ac6
another warn -> warnx.
2004-07-12 09:58:10 +00:00
mrg
2644272f85
in check_outfile() if the outfile exists and -f was given just delete it.
...
fixes PR#26251.
2004-07-12 02:50:38 +00:00
yamt
bd416872f6
fix descriptor leaks on error.
2004-07-11 22:49:42 +00:00
mrg
668894b1c5
- in gz_uncompress() be sure to do the crc/len recalculation insigned.
...
fixes PR#26246.
- if crc/len are wrong, be sure to noticed it failed
- in check_suffixes(), be sure not to underrun an array (from yamt)
- don't fail so badly on short header, from and fixes R#26242 (also
from yamt)
- more underrun avoidance in file_uncompress(). fixes PR#26241.
2004-07-11 14:39:39 +00:00
mrg
d44ac40080
check the suffix of the input file ala GNU gzip, and error about it
...
unless -f is given. fixes PR#26240
2004-07-11 09:40:51 +00:00
mrg
e46324f383
move the crc/len code into their own state's to properly allow the buffer
...
to be refreshed. re-fixes regress/usr.bin/gzip/concatenated.
2004-07-11 07:01:03 +00:00
mrg
469c821e42
- check for trunated input.
...
- check each gzip-part's length against the original and warn if it's
wrong. fixes part of PR#26233.
- check the input crc32. fixes the rest of PR#26233.
2004-07-11 06:20:29 +00:00
mrg
7ed5da7ba5
don't assume Z_STREAM_END means end-of-file. fixes PR#26234.
2004-07-11 05:40:51 +00:00
yamt
b6ec63a3cc
tailing \n is not needed for vwarn().
2004-07-10 17:35:59 +00:00
mrg
13e5b34e5b
fix "zcat -f" on normal files. fixes PR#26145
2004-07-03 09:39:30 +00:00
mrg
3c372acd10
if there are zero bytes to output, this isn't an error. it's probably
...
a zero length file. don't return an error. this should fix PR#25994.
2004-06-22 12:01:29 +00:00
mrg
c6c68fa810
handle_pathname: if it's stdin, return after handling it, rather than
...
trying to then process "-" as a file afterwards. fixes PR#25843.
2004-06-07 03:24:01 +00:00
mrg
11153dbc8d
- maybe restore the timestamp
...
- don't create the output file with "-l"
both from geoff wing with a few mods by me.
2004-06-06 12:28:52 +00:00
mrg
9e9fa78434
explicitly lseek() to offset 10 to read the original name. fixes a
...
latent bug awoken by rev 1.37 (prior versions always left the fd at
this offset purely by chance.) fixes PR#25824.
2004-06-05 15:47:10 +00:00
mrg
9b954397e0
use "zcat -fq" not just plain "zcat". this lets zgrep work on non
...
compressed files (as reported by simonb) as well as not printing
random warnings that zgrep isn't ready to handle.
2004-05-25 07:09:09 +00:00
mrg
2d5e05af49
- fix "gzip -t" to not output anything by default. PR#25507
...
- fix any decompression on corrupted gzip files. PR#25508
- ask to overwrite files if we have a tty, rather than failing the
operation. PR#25509.
- clean up maybe_err()/maybe_warn(): use maybe_err() only for fatal
errors. maybe_warn() is for processing errors. this allows
"gzip -d file1.gz file2.gz" to decompress file2.gz even if file1.gz
is corrupted, etc.
- change the internal compressor/decompressor API to return "-1" on
failure, not 0. this allows for 0-sized files to be decompressed
correctly.
2004-05-25 04:34:40 +00:00
agc
5fe88849a1
WARNS=3: add some const poisoning, and sort out local variable
...
definitions shadowing other variables.
Pass storage for file names into the file_compress and file_uncompress
functions, so that we don't run the risk of leaking memory. Remove a global
variable that's no longer needed.
2004-05-21 12:16:10 +00:00
agc
f8dc59869d
Fix a reference to stale storage on the stack - malloc the new file
...
name when gunzip'ing via strdup(3). Fixes a bug whereby the new
filename would appear as gibberish when verbosely gunzipping.
Fix an off-by-one error when allocating the filename with added suffix,
and properly NUL-terminate the new filename.
It's NULL, not 0, in char * assignments - there are some still to do here.
2004-05-17 18:10:33 +00:00
bouyer
41bff69bbe
Always initialise savename. Fix gzip -c core dump on sparc (and probably
...
others). OK'd by mrg@.
2004-05-06 17:43:57 +00:00
wiz
af350435db
Remove typeset line, since sh(1) does not support it.
...
Closes PR 25403 by Jukka Salmi.
2004-05-01 08:22:41 +00:00
mrg
99d2aa3dc3
clean up file descriptor handling. don't lose them...
2004-04-27 13:45:50 +00:00
mrg
a9c239e635
- the default compression level in GNU gzip is 6 not 5; copy that default.
...
- note that -t/-l/-v & bzip2 is not handled the same as gzip in a comment.
2004-04-27 11:26:28 +00:00
jdolecek
dd23e5ed48
quote pattern when passing to grep, so that paterns containing
...
spaces would be handled properly
fixes PR bin/25345 by Arto Selonen
2004-04-27 09:18:16 +00:00
mrg
b02eba12c2
crank version.
2004-04-27 02:25:06 +00:00
mrg
d6dd48bc60
- fix "gunzip file.gz"
...
- fix "gzip <lots of files>"
both reported by tron@.
2004-04-27 01:23:35 +00:00
mrg
4db02197fc
- properly parse --fast/--best/-1..-9 again. noted by taca@.
...
- minor clean up.
2004-04-26 03:01:55 +00:00
mrg
1d0e9794a0
significantly rototill. don't use the high-level gzio functions
...
anymore, use the low-level inflate()/deflate() directly. this
allows support file-type detection on stdin; now can decompress
.Z and .bz2 files fed to stdin (fixes PR#25192) additionally it
makes -v work with stdin or stdout (fixes PR#25215.)
(with these changes, we no longer need gzopenfull(3) in libz.)
thanks to martin@ for the code gzip.c:gz_uncompress() is based on.
2004-04-25 16:20:33 +00:00
mrg
98445d2478
be sure we don't try to remove an output file we haven't actually created.
...
(reported by kimmo.)
2004-04-12 14:42:14 +00:00
mrg
ff187e728e
- completely rewrite print_ratio(). fixes PR#25072 and a few other cases
...
- print_list() was getting the compressed/uncompressed sizes backwards.
2004-04-07 14:25:43 +00:00
mrg
8a618ce17c
remove a chunk more code with -DSMALL and in the process fix -DSMALL
...
that was broken in the previous commit (by exposing "fflag".)
2004-03-31 15:46:25 +00:00
tron
17ebf9b589
Handle files with link count larger than 1 if "-f" option is used. This
...
is consistent with the old "gzip" and required by "pkgsrc" to implement
"MANZ" properly.
2004-03-31 15:19:14 +00:00
mrg
ff930808e7
backout previous. fix the bug it inspired instead. we will want this
...
version of the code when doing file-type detection.
2004-03-30 11:43:32 +00:00
mrg
7149a52947
factor out filetype checking code
2004-03-30 11:42:04 +00:00
mrg
d4e27c8dfb
use off_t instead of ssize_t in a few places.
...
fix "gzip -l" in -DSMALL (it wasn't doing a stat(2)).
2004-03-30 09:42:58 +00:00
mrg
70da2f0f10
patch from tron@ to convert to using public bz interfaces. simonb says
...
no reason not to and this fixes PR#24964.
2004-03-30 09:15:07 +00:00
wiz
1612675940
s/compress/gzip/, our compress is not the backend for gzip.
...
Noted by hubertf.
2004-03-29 09:59:42 +00:00
mrg
ed20265f67
shave another 612 bytes off -DSMALL on x86. now x_gzip with -l support
...
is actually smaller than the older x_gzip without it!
2004-03-28 13:54:44 +00:00
mrg
15fba948a6
still do argv[0] processing -DSMALL, from tsutsui.
...
pass the smaller list of options to getopt with -DSMALL.
2004-03-28 08:18:14 +00:00
mrg
720263a2ef
crank version
2004-03-28 04:13:40 +00:00
mrg
d7f0a538e2
remove a bunch more stuff with -DSMALL. now we are about 400 bytes larger
...
than x_gzip... given we add -l support, time to retire x_gzip/gzip.c.
2004-03-28 04:07:45 +00:00
mrg
57a27c0187
remove another 3KB or so of text/data on i386 with -DSMALL. now only
...
about 1.1KB larger than the old x_gzip sources, but includes (required
for sysinst) gzip -l support.
2004-03-28 03:47:18 +00:00
tsutsui
b6e59003c4
Allow disabling bzip2 (.bz2) and compress (.Z) support
...
by -DNO_BZIP2_SUPPORT and -DNO_COMPRESS_SUPPORT.
OK'ed by mrg.
2004-03-27 22:33:43 +00:00
mrg
6506e19a17
minor cleanup.
2004-03-06 09:41:36 +00:00
he
2f8028b1b0
Fix mismatched type error in fropen() usage by converting return
...
type of zread() from ssize_t to int.
2004-02-18 18:29:07 +00:00
wiz
15d66087e7
Mention compress(1) support, and add bzip2(1) and compress(1) to SEE ALSO.
...
Bump date.
2004-02-18 09:16:27 +00:00
mrg
91d1fa9407
support decompressing "compress"ed files. from rtr@ with a few minor edits
...
from me. code in zuncompress liberally borrowed from usr.bin/compress.
2004-02-18 08:19:48 +00:00
mrg
49637d1931
use gzopenfull()
2004-01-29 13:18:58 +00:00
grant
23032f5513
void functions need not call return
2004-01-25 05:19:49 +00:00
jmmv
b635f565e7
Homogenize usage messages: make the 'usage' word all lowercase, as this seems
...
to be the most common practice in our tree.
2004-01-05 23:23:32 +00:00
mrg
d8d414bd77
prepend_gzip: avoid searching beyond this string
2004-01-03 02:39:18 +00:00
simonb
95a042fe31
Fix off-by-one error in the malloc of the new argv in prepend_gzip().
2004-01-02 10:09:42 +00:00
wiz
7569ff6812
Fix typo in comment.
2004-01-02 03:12:21 +00:00
wiz
75806e5a61
Sort sections. New sentence, new line. Bump date.
2004-01-02 03:01:13 +00:00
mrg
0b76a77c33
implement $GZIP handling.
2004-01-02 02:55:26 +00:00
mrg
91536bce55
note that $GZIP support is missing still
2004-01-02 01:40:59 +00:00
mrg
74e9c5767a
allow HAVE_ZLIB_GZOPENFULL to be overriden externally
2004-01-02 01:34:01 +00:00
mrg
e4b2fd8644
don't dump core in the face of unknown long options. from cjep@
2004-01-01 05:28:44 +00:00
wiz
a8763d1922
.P -> .Pp (typo fix).
2004-01-01 03:51:36 +00:00
mrg
09e6110c19
add some simple -DSMALL support. reduces the size of gzip(1) itself a by
...
nearly 2.5KB text.
2004-01-01 02:58:36 +00:00
mrg
ecadec7f36
port simonb's bzip2 support.
...
misc cleanups.
2004-01-01 02:44:09 +00:00
wiz
e000293cc0
Add RCS Id.
2003-12-28 17:26:48 +00:00
wiz
6ac2a4f4db
Add a BSD licensed zgrep written by me.
...
Much nicer than the old one, if I may say so.
Thanks go to atatat for testing and suggestions.
2003-12-28 17:26:00 +00:00
mrg
0889156103
GNU gzip compatibility: don't let "gzip -dc" (zcat) operate on non-gzip
...
files by default. -f must be used.
2003-12-28 13:42:28 +00:00
mrg
f13009df25
fix an error in the previous
2003-12-28 13:40:56 +00:00
mrg
7530d0a53d
zdiff is also zcmp (from wiz)
2003-12-28 13:37:23 +00:00
wiz
98018344b7
No argument necessary after .Nm; add missing comma to enumeration.
2003-12-28 12:49:41 +00:00
wiz
28c2ebe997
Use more macros.
2003-12-28 12:48:03 +00:00
wiz
18a6b94f65
Uppercase CRT.
2003-12-28 12:47:52 +00:00
wiz
3a92ef57da
Add RCS Id.
2003-12-28 12:43:43 +00:00
mrg
ff7efa72db
install gzexe, zdiff, zforce, zmore and znew scripts and manual pages.
...
XXX: now only missing zgrep.
2003-12-28 12:37:42 +00:00
mrg
5ddb436023
import openbsd z* scripts and manuals.
2003-12-28 12:31:55 +00:00
wiz
67ae4b51b8
.Pp\n.Pp -> .Pp.
2003-12-26 15:24:00 +00:00
mrg
63f41c4e03
--long-options are supported
2003-12-26 15:21:05 +00:00
wiz
cf79907567
New sentence, new line; avoid &; uppercase CRC.
2003-12-26 15:18:54 +00:00
mrg
f737ab4d3e
bump .Dd
2003-12-26 15:16:05 +00:00
mrg
a4624b06a5
- document --list
...
- use unsigned char's that are used in unsigned calculations later.
2003-12-26 15:15:49 +00:00
mrg
9e3ca570b9
support gzip -l -v.
2003-12-26 15:06:16 +00:00
mrg
88899e3372
- print totals for --list.
...
- round down percentages, like GNU gzip does
- use "stdout" not "-", like GNU gzip does
- factor percent calculation code.
2003-12-26 14:49:37 +00:00