1 2007-11-25 Paul Eggert <eggert@cs.ucla.edu>
3 * gzip.c (handled_sig): Move out of install_signal_handlers, and
4 move previous to all uses of SIGPIPE, to fix a bug encountered when
5 porting to mingw32. Reported by Robert Millan in
6 <http://lists.gnu.org/archive/html/bug-gzip/2007-11/msg00007.html>.
8 2007-10-04 Paul Eggert <eggert@cs.ucla.edu>
10 * doc/gzip.texi: Adjust to new fdl.texi format, in gnulib.
12 * Makefile.am (gzip.doc.gz, check-local): Depend on $(bin_PROGRAMS).
13 (gzip.doc.gz): Use our gzip, not the system-installed one.
14 Problem reported by Chris Staub in
15 <http://lists.gnu.org/archive/html/bug-gzip/2007-10/msg00000.html>.
17 2007-07-03 Paul Eggert <eggert@cs.ucla.edu>
19 * COPYING: Update to GPLv3. All uses changed.
21 2007-06-13 Paul Eggert <eggert@cs.ucla.edu>
23 * zless.1: Fix some troff typos mentioned in the latest Debian patch.
24 Also, give a workaround for the pipe problem.
26 * gzip.c (copy_stat): Adjust to gnulib's renaming of futimens to
29 2007-06-04 Paul Eggert <eggert@cs.ucla.edu>
31 * gzip.c (get_method): Fix typo: "a a" -> "a" in diagnostic. Reported
32 by Justin Pryzby in Debian bug 426965 <http://bugs.debian.org/426965>.
34 2007-05-07 Paul Eggert <eggert@cs.ucla.edu>
36 * NEWS: 'gzip -f foo.gz' now works instead of complaining.
37 * gzip.c (make_ofname): Implement this.
38 Problem reported by Sven Hartrumpf in
39 <http://lists.gnu.org/archive/html/bug-gzip/2007-05/msg00003.html>.
41 * NEWS, gzip.1: Document that case is ignored when looking at file name
43 * doc/gzip.texi (Overview): Likewise.
45 2007-05-04 Paul Eggert <eggert@cs.ucla.edu>
47 * Makefile.am (.in): Substitute @bindir@, not BINDIR, for
48 consistency with other substitutions.
49 (check-local): Use --__bindir . rather than setting GZIP_BINDIR=.,
50 to allay security concerns voiced by Joerg Lehners in
51 <http://lists.gnu.org/archive/html/bug-gzip/2007-04/msg00003.html>.
52 * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zegrep.in, zfgrep.in:
53 * zforce.in, zgrep.in, zless.in, zmore.in, znew.in:
54 Support --__bindir rather than GZIP_BINDIR.
56 * gunzip.in, zcat.in, zcmp.in: Support --help and --version
57 directly, to avoid some confusion in help and version output.
58 Problem reported by Eric Blake in
59 <http://lists.gnu.org/archive/html/bug-gzip/2007-04/msg00006.html>.
61 2007-04-28 Paul Eggert <eggert@cs.ucla.edu>
63 * m4/shell.m4 (AC_PROG_SHELL): Check for old-fashioned shells that
64 don't allow "(" in front of case labels. Problem reported by midair
65 in <http://lists.gnu.org/archive/html/bug-gzip/2007-04/msg00004.html>.
66 Also, check for buggy shells that require ";;" before "esac".
68 2007-04-13 Paul Eggert <eggert@cs.ucla.edu>
70 * NEWS: Version 1.3.12 released.
71 * configure.ac (AC_INIT): Likewise.
73 * README: Update year in copyright notice.
74 * m4/shell.m4: Add copyright notice.
76 * bootstrap (gnulib_tool_option_extras): Put this back; it was
77 inadvertently omitted from gnulib.
78 (gnulib_tool_option): Use it.
79 * .cvsignore: Add *._bootmp*.
80 * lib/.cvsignore: Add stdlib.h, stdlib_.h, time.h, time_.h, unistd.h.
81 Remove alloca.c, alloca.h, alloca_.h, exit.h, getdelim.c, getdelim.h,
82 getline.c, getline.h, malloc.c, mbchar.c, mbchar.h, mbuiter.h, memchr.c,
83 regcomp.c, regex.c, regex.h, regex_internal.c, regex_internal.h,
84 regexec.c, rpmatch.c, stdint.h, stdint_.h, strcase.h, strcasecmp.c,
85 strncasecmp.c, strnlen1.c, strnlen1.h, timespec.h, wcwidth.h.
86 * m4/.cvsignore: Add stdlib_h.m4, time_h.m4.
87 Remove alloca.m4, codeset.m4, getdelim.m4, getline.m4,
88 longlong.m4, mbchar.m4, mbiter.m4, mbrtowc.m4, memchr.m4, regex.m4,
89 rpmatch.m4, ssize_t.m4, stdint.m4 strcase.m4, timespec.m4, ulonglong.m4,
90 wchar_t.m4, wcwidth.m4, wint_t.m4.
92 2007-03-29 Paul Eggert <eggert@cs.ucla.edu> (tiny change)
94 * znew.in (tmp): Use $TMPDIR as temp directory, if given.
95 Suggested by Juan Manuel Guerrero.
97 2007-03-19 Paul Eggert <eggert@cs.ucla.edu>
99 * README-hacking: New file, renamed from README-cvs.
100 * README-cvs: Remove.
101 * bootstrap: Sync from today's gnulib.
102 * bootstrap.conf (gnulib_modules): Add 'time'.
103 * gzip.c: Don't include timespec.h; 'time' fixes time.h for that.
105 * gzip.c: Don't include time.h or sys/time.h; gzip.h now includes
106 time.h, which is now enough.
107 * gzip.h: Include <time.h>.
109 2007-03-14 Paul Eggert <eggert@cs.ucla.edu>
111 * README (WARNING): Reword to avoid mention of no-longer-existing
112 section in INSTALL file. Problem reported by Paul Townsend in
113 <http://lists.gnu.org/archive/html/bug-gzip/2007-03/msg00000.html>.
115 2007-02-11 Paul Eggert <eggert@cs.ucla.edu>
117 * gzip.c (foreground): Initialize to zero. This doesn't fix a bug
118 since C guarantees it's zero, but it's more consistent with the
119 rest of the code. Problem reported by Mark Adler.
121 2007-02-08 Paul Eggert <eggert@cs.ucla.edu>
123 * zdiff.in: Don't use '((' in a shell script, as it's not portable
124 to some ksh implementations, e.g., Solaris 10 ksh M-11/16/88i.
125 Problem reported by Nelson H. F. Beebe in
126 <http://lists.gnu.org/archive/html/bug-gzip/2007-02/msg00005.html>.
128 2007-02-05 Paul Eggert <eggert@cs.ucla.edu>
130 * NEWS: Version 1.3.11 released.
131 * configure.ac (AC_INIT): Likewise.
133 * doc/gzip.texi: Convert Texinfo format into a more modern style.
134 Put in current output samples.
136 * .cvsignore: Add *.gz, gunzip, zcat, zcmp, zegrep, zfgrep.
137 * lib/.cvsignore: Add sys_time_.h, unistd_.h.
138 * m4/.cvsignore: Add gnulib-common.m4, sys_time_h.m4.
140 * gunzip.in, zcat.in, zcmp.in, zegrep.in, zfgrep.in: New files.
141 * Makefile.am (EXTRA_DIST): Add them.
142 (bin_SCRIPTS, MOSTLYCLEANFILES): Add gunzip, zcat, zcmp, zdgrep, zfgrep.
143 (.in): Use GZIP_BINDIR as the location of gzip binaries, if it is set.
144 (check-local): Use GZIP_BINDIR.
145 (install-exec-hook, remove-installed-links): Make 'uncompress' an
147 * gzexe.1: At least one arg is required. Don't give cat as an
148 example, since gzexe refuses to compress cat due to a bootstrapping
149 issue. List more utilities in this category.
150 * gzexe.in, zdiff.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in:
151 Report our name in usage.
152 * gzexe.in: Don't compress bash. Don't use rmdir, so it's
153 OK to compress rmdir.
154 * gzip.c: Now requires that you compile with -DGNU_STANDARD=0 to
155 get non GNU-standard behavior. We now build with GNU-standard
156 behavior by default, so that programs do not depend on the names
157 of their executables.
158 * zdiff.in: Don't depend on the name of the executable, as per
159 GNU standard. Instead, rely on an internal --__cmp option.
160 Support ' in options. Check for failures in subsidiary gzip
162 * zgrep.1: Clarify compression issues.
163 * zgrep.in: Don't assume POSIX-style case syntax. Remove unused var
165 * zless.1: zless sets LESSMETACHARS now.
167 2007-01-10 Paul Eggert <eggert@cs.ucla.edu>
169 * m4/shell.m4 (AC_PROG_SHELL): Test that $(...) works.
170 Problem reported for SGI IRIX 6 by Nelson H. F. Beebe in
171 <http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00007.html>.
173 2007-01-04 Paul Eggert <eggert@cs.ucla.edu>
175 * zdiff.in (cmp0): New var.
176 Rewrite test for /dev/fd/3 to detect bugs in Solaris 8
177 /bin/bash 2.03. Problem reported by Nelson H. F. Beebe in
178 <http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00001.html>.
179 Avoid "for file; do", which doesn't work with Solaris 8 /bin/sh.
181 2007-01-03 Paul Eggert <eggert@cs.ucla.edu>
183 * zdiff.in: Test /dev//fd/3, not /dev/fd/3, to work around a problem
184 with Tru64 4.0F ksh M-11/16/88f reported by Thomas Koutcher in
185 <http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00000.html>.
187 2006-12-30 Paul Eggert <eggert@cs.ucla.edu>
189 * NEWS: Version 1.3.10 released.
190 * configure.ac (AC_INIT): Likewise.
192 * Makefile.am (check-local): Don't assume $(srcdir) is '.'.
193 (MAINTAINERCLEANFILES): Move gzip.doc.gz from here ...
194 (MOSTLYCLEANFILES): ... to here.
196 2006-12-29 Paul Eggert <eggert@cs.ucla.edu>
198 * zless.in: Work around a bug in less 394 and earlier; it
199 mishandles $%=~ in file names. Problem reported by
200 Sami Liedes in <http://bugs.debian.org/383358>.
202 * doc/gzip.texi: Swap order of dircategory entries, to pacify
203 Debian install-info 1.10.28. This should fix
204 <http://bugs.debian.org/404048>.
206 * zgrep.in (version): Fix bug: $grep wasn't evaluated.
208 * zgrep.in: Rewrite to make the option processing more
209 compatible with GNU and POSIX grep. Assume POSIX shell
210 for more stuff, since we're already assuming that.
211 * Makefile.am (check-local): Check zgrep -iV.
213 2006-12-26 Paul Eggert <eggert@cs.ucla.edu>
215 Fix Debian bug 367673 <http://bugs.debian.org/367673> plus several
216 other bugs discovered in the neighborhood.
217 * NEWS: gzip -q now exits with status 2 (not 1) on SIGPIPE.
218 zgrep has many bugs fixed with argument handling, special characters,
220 * gzip.c (abort_gzip_signal): Implement gzip -q change.
221 * zgrep.in: Implement zgrep change.
223 2006-12-23 Paul Eggert <eggert@cs.ucla.edu>
225 * NEWS: Fix bug reported by Martin Mares in
226 <http://bugs.debian.org/177942>.
227 * gzip.c (treat_stdin): Remove NO_STDIN_FSTAT and NO_PIPE_TIMESTAMP
228 stuff. It didn't work (led to syntax errors) and was confusing.
229 Report an error if stdin cannot be statted even if !list && no_time.
230 Get stdin's size if it is regular.
231 (treat_file): Do not report an error with setuid, setgid,
232 sticky, or non-regular, non-directory files if to_stdout.
233 Allow 'force' to override the caution about sticky files.
234 Use the same form for time stamps that treat_stdin uses.
236 * zdiff.in: Fix typo that broke most usages. Problem reported by
237 Jari Aalto in <http://bugs.debian.org/404114>. While we're at it,
238 fix a bunch of other problems. Handle "-" better. Send
239 diagnostics to stderr, not stdout. Use expr rather than echo |
240 sed, to handle special characters better. Report a diagnostic in
241 the 1-arg case, if the argument doesn't end in .gz or the like,
242 rather than having incomprehensible behavior. Do not require that
243 the inputs be regular files. Avoid creating a temporary entirely,
244 if /dev/fd works. If not, then resist denial-of-service attacks
245 better, by using mktemp.
246 * NEWS: Document this.
247 * Makefile.am (gzip.doc.gz): New rule.
248 (check-local): Depend on it, and test zdiff for Debian bug 404114.
250 2006-12-22 Paul Eggert <eggert@cs.ucla.edu>
252 * zdiff.1: Mention that these programs currently understand only
253 formats that gzip does. Problem reported by Jari Aalto in
254 <http://bugs.debian.org/404099>.
256 2006-12-20 Paul Eggert <eggert@cs.ucla.edu>
258 * inflate.c (huft_build): Fix regression that caused gzip to
259 refuse to uncompress null input (all zero length codes). Problem
260 reported by Yiorgos Adamopoulos. This regression was caused by
261 the security patch installed 2006-11-20, which in turn came from
262 Debian, which in turn apparently came from Thomas Biege of SuSe.
264 2006-12-15 Paul Eggert <eggert@cs.ucla.edu>
266 * NEWS, configure.ac (AC_INIT):
267 Version 1.3.9 released.
269 * Makefile.am (MOSTLYCLEANFILES): Add _match.i.
270 * configure.ac (for an assembler syntax supported by this package):
273 * bootstrap (gnulib_tool_options_extras): New var.
274 (gnulib_tool_options): Use it.
275 * bootstrap.conf (gnulib_tool_options_extras): Avoid getline and
276 rpmatch. gzip doesn't need them, since it doesn't ENABLE_NLS.
278 2006-12-13 Bruno Haible <bruno@clisp.org>
280 * configure.ac: Use $CPPFLAGS everywhere $CPP is used, and use
281 $CPPFLAGS $CFLAGS everywhere $CC is used.
282 * lib/Makefile.am (match.$(OBJEXT)): Likewise.
283 * configure.ac: Test the exit code of the $CPP and $ASCPPPOST commands
286 2006-12-11 Paul Eggert <eggert@cs.ucla.edu>
288 * configure.ac (ASCPPPOST): Simplify to use just 'sed'.
289 * lib/Makefile.am (match.$(OBJEXT)): Check for CPP failure.
291 2006-12-11 Bruno Haible <bruno@clisp.org>
293 Cross-compilation support.
294 * configure.ac (ASCPP): Remove substituted variable.
295 (ASCPPPOST, ASCPPFLAGS): New substituted variables.
296 * lib/Makefile.am (ASCPP, LN_S): Remove unnecessary macro definitions.
297 (match.$(OBJEXT)): Use CPP, ASCPPFLAGS, ASCPPPOST instead of ASCPP.
298 * configure.ac: Add test for chown function.
299 * gzip.c (treat_file) [!HAVE_CHOWN]: Don't call chown.
300 * gzip.c: Include "timespec.h". This doesn't fix any bugs, but
303 2006-12-11 Paul Eggert <eggert@cs.ucla.edu>
305 The SSIZE_MAX fix didn't work on NSK, so fix it in a more-reliable
306 (albeit more-complicated) way. Problem reported by Matthew Woehlke.
307 * gzip.h (read_buffer): New decl.
308 * unlzw.c (unlzw): Use read_buffer rather than read.
309 * zip.c (file_read): Likewise.
310 * util.c (copy, fill_inbuf): Likewise.
311 (read_buffer, write_buffer): New functions.
312 (write_buf): Use write_buffer rather than write.
314 Undo the previous SSIZE_MAX-related change; it didn't work.
315 * gzip.c: Include <limits.h>.
317 * gzip.h: Don't include <limits.h>.
318 (INBUFSIZ): Don't worry about SSIZE_MAX here.
320 2006-12-08 Paul Eggert <eggert@cs.ucla.edu>
322 * NEWS, configure.ac (AC_INIT):
323 Version 1.3.8 released.
325 * gzexe.in (mktemp_status): New var, used to see whether
326 mktemp is a known command. Use this instead of confounding
327 mktemp's existence with its success.
329 * zdiff.in: Remove first line containing ":". This follows
330 up on the SEDCMD fix of 2006-12-01.
331 * zforce.in: Likewise.
332 * zgrep.in: Likewise.
333 * zless.in: Likewise.
334 * zmore.in: Likewise.
337 Fix problems in porting to NSK reported by Matthew Woehlke in
338 <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00025.html> and
339 <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00027.html>.
340 * gzip.h: Include <limits.h>, for SSIZE_MAX.
341 (INBUFSIZE): Don't make it any larger than SSIZE_MAX.
342 Problem reported by Matthew Woehlke in
343 <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
344 * gzip.c: Don't include <limits.h>, as gzip.h now does this.
346 * gzip.c (main): Set exiting_signal before installing signal handlers.
347 (install_signal_handlers): Don't set exiting_signal here. This
349 * zip.c: Include timespec.h, for time_stamp type.
351 2006-12-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change)
353 * gzexe.in: Work around FreeBSD shell trap bug.
355 * doc/gzip.texi: Likewise.
357 2006-12-08 Paul Eggert <eggert@cs.ucla.edu>
359 * .cvsignore: Add .deps, gzexe, gzip, zdiff, zforce, zgrep,
361 * doc/.cvsignore: Add Makefile.
362 * lib/.cvsignore: Add .deps, Makefile, alloca.h, config.h, fcntl.h,
363 stamp-h1, stdint.h, sys.
365 * configure.ac (for assembler): Set ASFLAGS_config to
366 -Wa,--noexecstack if this seems advisable on this platform.
367 Problem reported by Mike Frysinger in
368 <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00018.html>.
369 * lib/Makefile.am (match.$(OBJEXT)): Use ASFLAGS_config.
371 2006-12-07 Paul Eggert <eggert@cs.ucla.edu>
373 * Makefile.am (install-exec-hook): Fix bug when installing
374 symbolic links as aliases. Problem reported by Mike Frysinger.
376 * deflate.c (deflate_fast, deflate): Avoid core dump. Problem
377 originally reported by Jochen Friedrich and trivial patch supplied
378 by Anthony Towns; see <http://bugs.debian.org/184057>.
380 2006-12-06 Paul Eggert <eggert@cs.ucla.edu>
382 * NEWS, configure.ac (AC_INIT):
383 Version 1.3.7 released.
385 2006-12-06 Bruno Haible <bruno@clisp.org> (tiny change)
386 and Paul Eggert <eggert@cs.ucla.edu>
388 Fix build failure on case-insensitive file systems.
389 * configure.ac: Use match_.s instead of _match.s.
390 * Makefile.am (MOSTLYCLEANFILES): Likewise.
391 * lib/Makefile.am (match.$(OBJEXT)): Likewise.
392 (MOSTLYCLEANFILES): Likewise.
394 2006-12-06 Paul Eggert <eggert@cs.ucla.edu>
396 * NEWS: Document the fixes below.
397 * configure.ac (AC_CHECK_FUNCS_ONCE): Add siginterrupt.
398 * gzip.c (lstat) [!defined(HAVE_LSTAT) && !defined(lstat)]: Remove.
399 (SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]:
401 (siginterrupt) [!defined SA_NOCLDSTOP && ! HAVE_SIGINTERRUPT]:
403 (HAVE_WORKING_O_NOFOLLOW): Define to 0 if not defined.
404 (caught_signals, exiting_signal, remove_ofname_fd): New vars.
405 (remove_ofname): Remove; all uses changed to remove_ofname_fd.
406 (same_file, name_too_long): Remove.
407 (install_signal_handlers): New function. It prefers sigaction,
408 which is more reliable in the presence of race conditions.
409 Catch SIGXCPU and SIGXFSZ, too.
410 (main): Use it instead of installing them by hand.
411 (treat_file): Check for read error when closing ifd.
412 (treat_file, create_outfile, remove_output_file):
413 Avoid race conditions with signals.
414 (create_outfile, check_ofname): Remove most of the gorp about
415 working around ENAMETOOLONG deficiencies. It's obsolete now, and
416 anyway it had race conditions. Just rely on O_EXCL and
417 ENAMETOOLONG. The worst that can happen is that a file name will
418 be silently truncated on an obsolete machine, but no data will be lost.
419 (open_and_stat): Use HAVE_WORKING_O_NOFOLLOW rather than O_NOFOLLOW
420 to work around some O_NOFOLLOW bugs. Otherwise, fall back on
421 lstat only if lstat is available, as symlinks don't exist otherwise.
422 (open_input_file): Use O_NONBLOCK and O_NOCTTY too, to avoid
423 hanging gzip on special files.
424 (abort_gzip_signal): If sigaction is not available, ignore
425 signals. If we get the exiting signal, exit with ERROR status
426 rather than raising a signal.
427 * tailor.h (NO_ST_INO): Remove; no longer used now that same_file
430 2006-12-05 Paul Eggert <eggert@cs.ucla.edu>
432 Port to Tandem NSK/OSS, which lacks fchdir. Problem reported by
434 <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
435 * bootstrap.conf (gnulib_modules): Remove openat, as it pulls in
437 * configure.ac: Check for fdopendir.
438 * gzip.c: Don't include openat.h; no longer needed.
439 (treat_dir) [!HAVE_FDOPENDIR]: Fall back on the old opendir method
440 since fdopendir is not available.
442 2006-12-04 Paul Eggert <eggert@cs.ucla.edu>
444 * NEWS: Describe the following change briefly.
445 * bootstrap.conf (gnulib_modules): Remove stat-macros; no longer
447 * gzip.c: Don't include stat-macros.h; no longer needed.
448 (treat_file): Refuse to compress files that are setuid, or setgid,
449 as this can in theory lead to security holes. Also, refuse to
450 compress files with the sticky bit set, on general principle.
451 (copy_stat): Don't copy the setuid, setgid, or sticky bits,
452 as (given the above change) they'll always be zero here.
453 Invoke chown before chmod, to close a race condition.
455 * .cvsignore: Add *.doc, build-aux.
456 * doc/.cvignore: New file.
457 * lib/.cvsignore: New file.
458 * m4/.cvsignore: New file.
460 2006-12-01 Paul Eggert <eggert@cs.ucla.edu>
462 * doc/gzip.texi (Overview): Mention limits of gzip format's
463 time stamps. Also, gzip doesn't always preserve time stamps.
465 * gzip.c (abort_gzip_signal): Don't call abort () as a "safeguard",
466 since it actually causes a core dump. Problem reported by
469 * NEWS: Describe gzexe changes noted below.
470 * Makefile.am (.in): Don't bother with SEDCMD. This stuff isn't needed
471 any more (the hosts it caters to are long extinct), and was
472 questionable anyway since the code assumes the skip= line was line 2.
473 * configure.ac (AC_SYS_INTERPRETER, SEDCMD): Remove; no longer needed.
475 * gzexe.in: Sweep the code and fix some bugs.
476 My, what sharp teeth you have, gzexe!
477 The straw that broke this camel's back was Matthew Burgess's bug report
478 <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00012.html>.
480 (IFS): Set it to the standard value, both here and in the
481 script gzexe generates.
482 Check for missing operand after parsing options, not before.
483 This fixes the case for "cpexe --".
484 Check for tail -n problem separately in gzexe and in the executable
485 it generates, in case it's a different 'tail'.
486 (trap): Remove $tmp only if $tmp is not the empty string.
487 Preserve exit status.
488 Don't use the nonstandard (and rarely available) "cpmod" utility.
489 Don't use "set -C"; it's no longer useful and it breaks things
491 (main loop): Handle file names beginning with "-".
492 Exit with status of failing program, not with 1.
493 Fix some bugs in printing diagnostics, and in quoting.
494 Require the skip= line to have at least one digit.
495 Use test -u and test -g rather than using the (less-reliable) ls.
496 Refuse to compress more programs, e.g., sh.
497 Use mktemp rather than tempfile. Build a copy of
498 the compressed or uncompressed executable in the same
499 directory as the executable, as that's less likely to go wrong
500 if disk space is low. Have the executable exit with status 127,
501 not 1, if the decompression process fails; this is more compatible
502 with meta-programs like nohup. Have the executable
503 uncompress to a temp file with the same basename as the executable;
504 this is more likely to go right. Fix a race condition where the
505 executable temporarily did not exist (in either old or new forms).
506 Check for race conditions better when mv fails. Do not attempt
507 to use cp to do the real work, only to copy permissions to a temp
508 file, since we don't want to trash running executables.
510 2006-11-26 Paul Eggert <eggert@cs.ucla.edu>
512 * inflate.c (inflate_dynamic, inflate): Don't send output to
513 stderr unless DEBUG is defined and 'verbose'. Problem reported by
516 * zgrep.in: If the file name contains newline, &, \, or |, escape
517 the character so that 'sed' doesn't mishandle it as a replacement.
518 Problem reported by Bdale Garbee.
520 2006-11-25 Paul Eggert <eggert@cs.ucla.edu>
522 * gzip.1 (OPTIONS): ouput -> output. Problem reported by Matt
524 * vms/gzip.hlp: Likewise.
526 * Makefile.am (FILES_TO_CHECK): New macro.
527 (check-local): Check only the files in FILES_TO_CHECK, since some
528 files under the working directory might be mutating as the test is
529 run, e.g., with "make check >log". Problem reported by Jim
532 2006-11-20 Paul Eggert <eggert@cs.ucla.edu>
534 * NEWS, configure.ac (AC_INIT):
535 Version 1.3.6 released.
537 * NEWS: Describe 1.3.6's changes.
538 * NEWS, README, README-alpha, TODO: Change from GPL to FDL.
539 * .cvsignore, README-cvs, bootstrap, bootstrap.conf: New files.
540 * doc/Makefile.am, lib/Makefile.am: New files.
541 * THANKS: Change own email address to cs.ucla.edu. Add Sverre Jarp.
542 * TODO: Add new tasks to remove porting cruft and
543 all those buggy scripts.
545 * configure.ac: Renamed from configure.in.
546 (AC_PREREQ): Bump to 2.60.
547 (AC_INIT): Bump version to 1.3.6.
548 (AC_CONFIG_AUX_DIR): New.
549 (AC_CONFIG_HEADERS): Move config.h to lib.
550 Input is now lib/config.hin.
551 (AM_INIT_AUTOMAKE): Add gnits, dist-shar.
552 (AC_PROG_CC_STDC): New, replacing AC_PROG_CC.
553 (AM_PROG_CC_C_O, AC_PROG_RANLIB): New.
554 (AC_AIX, AC_GNU_SOURCE, AC_MINIX): Remove; gnulib does them now.
555 (gl_EARLY, gl_INIT): New.
556 match.c was moved to lib/match.c.
557 (AC_CHECK_HEADERS_ONCE): Replace AC_CHECK_HEADERS. Don't check
558 for sys/utime.h or utime.h.
559 (AC_CHECK_FUNCS_ONCE): Replace AC_CHECK_FUNCS. Check for fchmod
560 and fchown, not utime.
561 (AC_REPLACE_FUNCS): Remove; rpmatch is now done by gnulib.
562 (AC_CONFIG_FILES): Add doc/Makefile, lib/Makefile.
564 * bits.c: Use the more-usual form for copyright notices in source code.
565 * deflate.c: Likewise.
568 * inflate.c: Likewise.
570 * revision.h: Likewise.
571 * tailor.h: Likewise.
573 * unpack.c: Likewise.
576 * crypt.c (dummy): Add decl so that pedantic compilers won't
577 complain about an empty file.
578 * gzip.c (license_msg): Use more-modern wording.
579 Include fcntl-safer.h, openat.h, stat-macros.h, stat-time.h.
580 Simply include <dirent.h> if !NO_DIR, removing a rats-nest of
582 Simply include <utimens.h> if !defined NO_UTIME, removing a
583 another rats-nest of #ifdefs.
584 (DIR_OPT, TIME_OPT): Remove.
585 (_D_EXACT_NAMLEN): Renamed from NAMLEN. All uses changed.
586 (S_ISDIR, S_ISREG, O_BINARY, O_CREAT, O_EXCL, S_IRUSR, S_IWUSR):
587 Remove; gnulib now does this.
588 (RETSIGTYPE): Remove; Autoconf does this.
589 (program_name): Renamed from progname, for compatibility with gnulib.
591 (time_stamp): Now struct timespec, not time_t. All uses changd.
592 (remove_oftime): Now volatile.
593 (reset_times): Remove; now done by futimens.
595 (try_help): New function.
596 (help, license): Don't output date as part of version.
597 A version number suffices.
598 (help): Redo help message to match style of coreutils etc.
599 (version): Don't bother printing compile-time configuration info
601 (main): Don't assume strlen (argv[0]) < INT_MAX (!).
602 On usage errors, suggest --help without outputting all the help.
603 (main, do_list): Remove unnecessary casts.
604 (treat_stdin, treat_file, get_method, copy_stat):
605 Support sub-second time stamp resolution.
606 (treat_file, copy_istat): Close some race conditions if files are
607 renamed as we read or write them.
608 (treat_file): Do not attempt to reset the access times of
609 directories that we read.
610 (open_and_stat, open_input_file): New functions.
611 (do_stat, get_istat): Remove; most of the contents went to these new
613 (make_ofname): Don't use WARN, as it affects exit status.
614 (get_method): When the original file name was truncated,
615 restore from its base name, not from its full name.
616 (do_list): Avoid undefined behavior with out-of-range time stamps.
617 ctime, for example, cannot be invoked on arbitrary time stamps safely,
618 since it might overrun an internal buffer. Do not assume that
620 (copy_stat): Do not remove input file; that's now the caller's
621 responsibility. This avoids a problem if there is a write error
622 when the caller closes the output file.
623 (treat_dir): New arg FD, to avoid a race condition. All uses changed.
624 (remove_output_file): New function.
625 (abort_gzip): Use it.
626 (abort_gzip_signal): New function, which is async-signal-safe.
627 Exit with the signal that we got.
628 * gzip.h (program_name, time_stamp, abort_gzip): Adjust decls to
629 match gzip.c changes.
630 * inflate.c (huft_build): Return 2 if null input.
631 * tailor.h (HAVE_UTIME): Do not define; gnulib does this now.
632 (OPEN): Use open_safer, not plain open.
633 * unlzh.c (NPT): Set to 1<<TBIT, not to the maximum of NT and NP.
634 (make_table): Report an error if 1<<tablebits < nextcode.
635 (read_pt_len): Report an error if 16 < c.
636 * unpack.c (read_tree): Report an error if the tree has too many
637 leaves while reading it. Fix off-by-one error in final check.
638 * util.c: Include <xalloc.h>, for xalloc_die decl.
639 (gzip_base_name): Renamed from base_name, so we don't collide
640 with gnulib. All uses changed.
641 (add_envopt): Use xstrdup instead of xmalloc+strcpy.
642 Use xcalloc rather than calloc + check.
643 (gzip_error): Renamed from error, so we don't collide with gnulib.
645 (xalloc_die): New function.
646 (xmalloc): Remove; no longer needed.
647 * zip.c (zip): Watch for time stamp overflow; the old code
648 mishandled negative time stamps.
650 * gzexe.in: Add support for --help, --version, --.
651 Don't call basename or sed if we can avoid it.
652 * zdiff.in: Likewise.
653 * zforce.in: Likewise.
654 * zgrep.in: Likewise.
655 * zless.in: Likewise.
656 * zmore.in: Likewise.
658 * zdiff.in: Protect against file names beginning with "-".
659 * zmore.in: Likewise.
660 * zgrep.in: Use printf rather than echo, to avoid problems with
661 leading "-" and backslash. Return status of subsidiary grep.
662 * zless.in: Add copyright notice.
664 * zless.1: We now pass "--" to LESSOPEN.
665 (BUGS): Mention that input file arguments are required.
666 Add copyright notice.
668 * COPYING: Update to current version.
670 * Makefile.am (SUBDIRS): New macro.
671 (AUTOMAKE_OPTIONS): Remove; now done in configure.ac.
672 (M4DIR, ACINCLUDE_INPUTS): Remove.
673 (EXTRA_DIST): Remove getopt.h.
674 (gzip_SOURCES): Remove getopt.c, getopt1.c, yesno.c.
675 (gzip_LDADD): Change from @LIBOBJS@ to lib/libgzip.a.
676 (AM_MAKEINFOFLAGS, info_TEXINFOS, gzip_TEXINFOS, ASCPP, LN_S):
677 (match.$(OBJEXT)): Move to subdirectory makefiles.
678 (.in): Substitute @VERSION@, too.
679 (check-local): New rule.
680 (MOSTLYCLEANFILES): Add _match.S.
682 * doc/gzip.texi: Renamed from gzip.texi. Change to GNU FDL
683 without invariant sections or cover texts. Don't put
684 version number or date into sample gzip -h output.
685 * lib/match.c: Renamed from match.c. Add ia64 version
686 written by Sverre Jarp (HP Labs).
688 * INSTALL: Remove from CVS; now created automatically by
689 the bootstrap script.
690 * Makefile.in: Likewise.
691 * aclocal.m4: Likewise.
692 * config.h.in: Likewise.
693 * configure: Likewise.
695 * fdl.texi: Likewise.
696 * getopt.c: Likewise.
697 * getopt.h: Likewise.
698 * getopt1.c: Likewise.
699 * gzip.doc: Likewise.
700 * gzip.info: Likewise.
701 * install-sh: Likewise.
702 * mdate-sh: Likewise.
704 * mkinstalldirs: Likewise.
705 * rpmatch.c: Likewise.
706 * stamp-vti: Likewise.
707 * texinfo.tex: Likewise.
708 * version.texi: Likewise.
711 2002-09-30 Paul Eggert <eggert@twinsun.com>
713 * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
714 Revision 1.3.5, dated today.
716 * util.c (fprint_off): Fix bug in printing values greater than
717 10 * 2**32 bytes. Bug reported by Bryan Andersen.
719 * Makefile.am (match.$(OBJEXT)): Use .S as extension for $(ASCPP),
721 * configure.in: Likewise.
722 Upgrade assembly-language checking for Autoconf 2.54, using cache vars.
723 (AC_PROG_CPP, AC_OBJEXT): Add.
725 * match.c: Accept __i386 and __i386__ as synonyms for i386.
726 Bug reported by "fork __" <bouloumag@hotmail.com>.
728 2002-09-29 Paul Eggert <eggert@twinsun.com>
730 * gzip.texi (Overview): Suggest how to use gunzip on zip files.
732 * zless.1, zless.in: Use LESSOPEN, not PAGER.
733 Suggested by <antos@MAST.queensu.ca>.
735 2002-09-28 Paul Eggert <eggert@twinsun.com>
737 * zforce.in: Use shell pattern matching instead of 'expr', which
738 mishandles names like "+". Remove old check for 14-byte file
739 names on hosts with broken "mv" implementations, as such systems
740 aren't in use any more and it's better nowadays to support file
741 names longer than 14 bytes. Rely on "mv"'s error-reporting.
742 This fixes a portability bug reported by Ralf Neubauer, along
743 with some other bugs.
745 Remove dangling output symlinks properly.
746 Bug reported by Kalle Olavi Niemitalo.
747 * gzip.c (lstat): New macro, for platforms lacking lstat.
749 (name_too_long, check_ofname): Use lstat instead of stat.
751 2002-09-27 Paul Eggert <eggert@twinsun.com>
753 * zforce.in: Use "gzip -lv", not "gzip -v". Patch by Ralf
756 * configure.in (ASCPP): Don't use test -a, as POSIX says it's
759 * zmore.in: Likewise. Similarly, don't use test -o, or test -t
762 * gzexe.in (PATH): Set to same as other programs.
763 Don't assume "tail +22" works; POSIX removed this.
764 Check against compressing "tail".
765 Check against "skip=" line with no integer.
766 * zgrep.in: Exit with status 2 if trouble, for consistency with grep.
768 * gzip.c (main): Avoid core dump in diagnostic message if
769 incorrect suffix is given.
771 2002-09-26 Paul Eggert <eggert@twinsun.com>
773 * zdiff.in: Use "trap -" instead of "trap". Patch by Nicolas Boullis.
774 Use names, not numbers, for signals. Patch by Andrew Stribblehill.
776 * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
777 Revision 1.3.4, dated today.
779 * README-alpha: Upgrade to Autoconf 2.54 and Automake 1.7.
780 * configure.in (AC_PREREQ): Move to start, and increase to 2.54.
781 (AC_INIT, AM_INIT_AUTOMAKE, AC_CONFIG_SRCDIR, AC_CONFIG_FILES,
782 AC_OUTPUT): Use modern style.
783 (AC_OBJEXT, AC_EXEEXT): Remove; obsolete.
784 (AC_GNU_SOURCE): Add.
785 (AC_HEADER_STDC): Renamed from AC_STDC_HEADERS.
786 (AC_CHECK_HEADERS): Remove stdlib.h, string.h, unistd.h; now done
788 (AC_SUBST): Remove CFLAGS; now done by Autoconf.
790 * gzip.texi: Use the GNU FDL for distribution terms, following the
791 recipe in the Texinfo manual. Use Automake-generated variables
792 for date and version.
793 * fdl.texi, mdate-sh: New files.
794 * Makefile.am (AM_MAKEINFOFLAGS): Add --no-split.
795 (gzip_TEXINFOS): New macro.
797 * tailor.h (NO_DIR): Define to 1, not the empty string.
798 * gzip.c (NO_DIR): Define to 0 if not defined. All uses changed.
799 (usage): Don't put '#if' inside printf, as the C standard says
800 that it is not portable if printf is a macro.
802 Don't lose output when decompressing truncated input.
803 Bug reported by Nadav Har'El.
804 * inflate.c (GETBYTE): New macro.
806 (inflate_dynamic, inflate_block): Add a local variable w, needed
809 2002-03-08 Paul Eggert <eggert@twinsun.com>
811 * NEWS, README, revision.h, gzip.texi,
812 configure.in (AM_INIT_AUTOMAKE): Revision 1.3.3, dated today.
814 * README-alpha: Now using latest stable GNU tools.
815 Using the latest tools allows gzip to build correctly on hosts
816 conforming to POSIX 1003.1-2001.
818 * configure.in (match): Use AC_LIBOBJ; Autoconf 2.53 requires it.
819 (LIBOBJS): No longer need to subst, since AC_LIBOBJ does it.
820 (AC_PREREQ): Bump to 2.53.
822 * Makefile.am (install-exec-hook, remove-installed-links):
823 Work even when configured with --program-transform-name.
825 * gzip.c (license_msg): Update copyright.
826 (z_len): Now of type size_t.
828 2001-11-03 Paul Eggert <eggert@twinsun.com>
830 * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
831 Revision 1.3.2, dated today.
833 * Makefile.am (LN_S): New macro.
834 (install-exec-hook): Depend on remove-installed-links.
835 Affect $(DESTDIR)$(bindir), not just $(bindir).
836 (uninstall-local, remove-installed-links): New rules.
837 * README-alpha: This release built with autoconf 2.52f.
838 * TODO: Add rsync patch.
839 * configure.in: Add AC_PREREQ(2.52) and AC_PROG_LN_S.
840 * gzip.1, zmore.1: Fix troff glitches, using Eric S. Raymond's
841 suggestions for inspiration.
842 * m4/shell.m4(AC_PROG_SHELL): Add commentary and cleanup.
844 * gzip.texi, gzip.1: Add pointers to RFCs 1951 and 1952.
845 Mention that gzip --list reports file sizes modulo 2^32.
846 * gzip.1: Remove incorrect report of 2 GB bug. Add copyright notice.
848 2001-09-30 Paul Eggert <eggert@twinsun.com>
850 * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
851 Revision 1.3.1, dated today.
853 * INSTALL, getopt.c, getopt.h, getopt1.c, install-sh, missing,
854 mkinstalldirs, texinfo.tex:
855 Sync with latest version in other packages.
857 * acinclude.m4, config.guess, config.sub: Remove.
858 * depcomp, rpmatch.c, yesno.c: New files.
860 * ChangeLog, README, NEWS, TODO, configure.in, zgrep.in, zmore.in:
861 Add copyright notice.
863 * Makefile.am (ACLOCAL_AMFLAGS): New macro.
864 (ACINCLUDE_INPUTS): Remove all but shell.m4.
865 ($(srcdir)/acinclude.m4): Remove.
866 (gzip_sources): Add yesno.c.
870 * configure.in (AC_CANONICAL_HOST): Remove.
871 (AC_AIX, AC_MINIX): Move earlier.
872 (AC_REPLACE_FUNCS): Add rpmatch.
875 Report error if -b operand is not a nonnegative integer.
876 (treat_file): Don't assume tab width is 8, or that characters are
878 (make_ofname): Use WARN to warn about unchanged files.
879 (get_method): "get newer version of gzip" -> "not supported"
880 (check_ofname): Use yesno instead of checking for 'y' ourselves.
881 (treat_file): Do not assume link count fits in int.
883 * gzip.h (yesno): New decl.
885 * util.c (display_ratio): Use floating point to compute ratio:
886 this avoids problems with integer overflow.
888 * zgrep.in: Add support for --, -H, -h, -L, -l, -C, -d, -m and
889 their long equivalents. Warn that -r and -d are not supported.
892 Check that file is readable before attempting to decompress it.
894 2000-10-09 Paul Eggert <eggert@twinsun.com>
896 * configure.in (AC_CHECK_FUNCS): Add lstat.
898 2000-07-20 Paul Eggert <eggert@twinsun.com>
900 Use a POSIX-compliant shell instead of /bin/sh.
901 Idea suggested by Albert Chin-A-Young <china@thewrittenword.com>.
903 * m4/shell.m4: New file.
904 * configure.in (AC_PROG_SHELL): Add it.
905 * Makefile.am (ACINCLUDE_INPUTS): Add $(M4DIR)/shell.m4.
906 (.in): Replace /bin/sh with $(SHELL).
908 2000-04-17 Bruno Haible <haible@clisp.cons.org>
910 * Makefile.am (install-exec-hook): If hard links fail, try symlinks.
912 2000-04-02 Jim Meyering <meyering@ascend.com>
914 * Makefile.am (install-exec-hook): Remove link targets before
917 2000-01-02 Albert Chin-A-Young <china@thewrittenword.com>
919 * gzip.texi: Add direntry.
921 1999-12-21 Paul Eggert <eggert@twinsun.com>
923 * NEWS, README, revision.h, gzip.texi: Revision 1.3, dated today.
924 * gzip.c (license_msg, usage, version, help, license):
925 Adjust to current GNU coding standards.
926 (total_in, total_out): Remove unnecessary initialization.
927 * zip.c (file_read): Report read errors.
928 * util.c (fill_inbuf): Likewise.
929 * gzip.c (main): Don't assume EOF == -1.
930 * unlzw.c (unlzw): Likewise.
931 * util.c (copy, fill_inbuf): Likewise.
933 1999-11-18 Paul Eggert <eggert@twinsun.com>
935 * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS):
936 Work around a bug in the QNX shell, which doesn't
937 propagate exit status of failed commands inside shell assignments.
939 1999-10-07 Paul Eggert <eggert@twinsun.com>
941 * NEWS, README, revision.h, gzip.texi:
942 Revision 1.2.4294967306 dated today. This is the successor to
943 revision 1.2.4.4294967305; automake requires the new (shorter) number.
947 * Makefile.am, gunzip.1, zcat.1, zcmp.1, AUTHORS: New files.
949 * revision.h (VERSION): Remove; moved to config.h.
951 * configure.in (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER,
952 AC_CANONICAL_HOST, AC_OBJEXT): Add.
953 (AC_PROG_CPP): Remove.
954 (AC_SYS_LARGEFILE): Add, replacing older inline code.
955 (ASCPP): Use $OBJEXT.
956 (LIBOBJS): Add match.o if needed.
957 (AC_PROG_INSTALL): Remove.
958 (AC_EXT, AC_C_CONST): Add.
959 (AC_CHECK_HEADERS): Add, replacing lots of AC_HEADER_CHECKs.
960 All instances of defined(NO_TIME_H) changed to !defined(HAVE_TIME_H),
962 (AC_CHECK_FUNCS): Add utime.
963 (SEDCMD): Use $interpval, not $ac_cv_sys_interpreter.
964 (AC_PREFIX_PROGRAM): Add, replacing AC_PREFIX.
967 (OBJA): Remove; LIBOBJS now does this.
969 * bits.c, gzip.c, deflate.c, inflate.c, lzw.c, trees.c, unlzh.c,
970 unlzw.c, unpack.c, unzip.c, util.c, zip.c: Include <config.h>
971 first; this is needed for proper large-file support, given the new
972 way of configuring large files.
974 * gzip.c: Include <sys/types.h>; Ultrix needs this.
975 (TIME_OPT): Use STRUCT_UTIMBUF instead of empty string.
976 (help): Add bug-report address.
977 (do_stat): Depend on HAVE_LSTAT, not S_IFLNK, S_ISLNK, and NO_SYMLINK.
979 1999-06-25 Paul Eggert <eggert@twinsun.com>
981 * inflate.c (huft_build):
982 Set n to length of v, to detect improper tables.
983 Don't accidentally grow j past z.
985 1999-06-24 Paul Eggert <eggert@twinsun.com>
987 * Makefile.in (check): Update texinfo.tex size.
989 * configure.in (ASMV):
990 Define with AC_DEFINE; do not manipulate DEFS directly,
991 as this doesn't work with recent autoconf versions.
993 1999-02-06 Paul Eggert <eggert@twinsun.com>
995 * NEWS, README, revision.h, gzip.texi: Revision 1.2.4.4294967305,
996 dated today. This merges the changes from gzip 1.2.4a, which fix
997 some typographical errors in the documentation and update the
998 bug-reporting address.
1000 1999-01-27 Paul Eggert <eggert@twinsun.com>
1002 * NEWS, README, revision.h (VERSION, REVDATE):
1003 Revision 1.2.4.4294967304, dated today.
1005 Port to autoconf 2.13.
1007 * Makefile.in (next, next-fat, coherent):
1008 Update dirent headers to match Autoconf 2.13.
1009 * configure.in (AC_RETSIGTYP): Remove; superseded by AC_TYPE_SIGNAL.
1010 (AC_DYNIX_SEQ, AC_XENIX_DIR, AC_DIR_HEADER): Remove; superseded by
1012 * tailor.h (HAVE_DIRENT_H, HAVE_SYS_DIR_H):
1013 Define instad of DIRENT, SYSDIR.
1014 * gzip.c (NAMLEN): Renamed from NLENGTH. Depend on Autoconf 2.13 names
1015 HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H
1016 instead of the oldfashioned names DIRENT, SYSDIR, SYSNDIR, NDIR.
1017 (CLOSEDIR): New macro.
1018 (progerror): New function.
1019 (treat_stdin, treat_file, creat_outfile, get_istat, check_ofname,
1020 treat_dir): Use it, for brevity.
1021 (treat_dir): Report any I/O errors when reading directories.
1023 * COPYING, INSTALL, doc/texinfo.tex, install-sh:
1024 Update to latest public versions.
1026 1998-11-18 Paul Eggert <eggert@twinsun.com>
1028 * NEWS, README, revision.h (VERSION, REVDATE):
1029 Revision 1.2.4.4294967303, dated today.
1031 * gzip.c (get_method): Don't complain about trailing zeros at
1032 the end of a gzipped file, as they're commonly appended to fill
1033 out a block (e.g. by GNU tar).
1035 * configure.in (CPPFLAGS, LDFLAGS, LIBS): Add large-file support
1036 for HP-UX 10.20 and later.
1038 * getopt.c, getopt.h, texinfo.tex: Sync with latest version at gnu.org.
1039 * getopt1.c: New file.
1040 * Makefile.in (SRCS): Add getopt1.c.
1041 (OBJS): Add getopt1$O.
1042 (getopt1$O): New dependency.
1043 (check): Adjust desired size of compressed texinfo.tex to 55637,
1044 to reflect the 1998-11-13 edition of texinfo.tex.
1046 * gpl.texinfo: Remove; its addresses were out of date and
1047 these days the GPL isn't reprinted in manuals anyway.
1048 * gzip.texi: Remove reference to gpl.texinfo.
1049 * Makefile.in (GENFILES): Remove gpl.texinfo.
1051 1998-11-13 Paul Eggert <eggert@twinsun.com>
1053 * NEWS, README, revision.h (VERSION, REVDATE):
1054 Revision 1.2.4.4294967302, dated today.
1056 * gzip.c (input_eof): New function.
1057 (treat_stdin, treat_file): Use it to fix premature detection of EOF
1058 bug when a gzipped file concatenation boundary is at a multiple of
1061 * Makefile.in (installman): Fix bug when installing from subdirectory.
1062 ($(srcdir)/gzip.info): Renamed from gzip.info.
1063 ($(srcdir)/gzip.info, realclean): Do not split gzip.info.
1065 1998-10-26 Paul Eggert <eggert@twinsun.com>
1067 * NEWS, README, revision.h (VERSION, REVDATE):
1068 Revision 1.2.4.4294967301, dated today.
1070 * TODO: Update bug reporting address.
1072 * Makefile.in (datadir, libdir): Remove unused macros.
1073 (mandir): Let configure set it.
1074 (manextdir): New macro.
1075 (alldirs): Remove datadir, libdir; add manextdir.
1076 (TEXI2HTML): New macro.
1077 (installman, uninstall): Install into manextdir, not mandir.
1078 (install-strip): New rule.
1079 (installdirs): No need to build $(prefix)/man separately,
1080 as it's now in alldirs.
1081 (match$O): Compile with $(CFLAGS).
1082 (gzip_1.html): New rule.
1084 * gzip.c (get_istat): Remove lint by initializing z_suffix_errno.
1085 (check_ofname): Do not assume unsigned char.
1087 * util.c (strlwr): Don't assume char is unsigned.
1088 (warning): Renamed from `warn'.
1090 * gzip.h (tolow): Use tolower instead of relying on 'A'-'a'.
1091 (warning): Renamed from warn.
1093 * trees.c (warning): Renamed from warn.
1095 1998-10-14 Paul Eggert <eggert@twinsun.com>
1097 Merge patches from Debian.
1099 * NEWS, README, revision.h (VERSION, REVDATE):
1100 Revision 1.2.4.4294967300, dated today.
1102 * README, algorithm.doc, gzip.texi: Update maintainer address.
1104 * gzexe.in, zdiff.in, znew.in:
1105 Close security hole portably, using `set -C'.
1107 * zgrep.in: Add -A, -B.
1109 * gzexe.in: Use `gzip', not full path, to run gzip.
1111 * zdiff.in: Report proper exit status.
1113 * gzip.h (base_name): Renamed from basename. All uses changed.
1115 * gzip.c (z_suffix): Now char *, so that there's no limit to length.
1117 (main): If --quiet, abort gzip when SIGPIPE received.
1118 (get_suffix): Don't assume z_suffix's address is a constant.
1119 (get_istat): Likewise.
1120 Check for buffer overflow.
1121 Preserve errno correctly.
1122 (make_ofname): Check for buffer overflow.
1124 * util.c (fill_inbuf): Flush window before reporting read error.
1126 * inflate.c (inflate_dynamic): Don't dump core if tl == NULL.
1128 * Makefile.in (GENFILES): Add zless.in.
1129 (SCRIPTS): Add zless.
1130 (default): Build all programs, not just gzip.
1132 (installbin): Install zegrep, zfgrep.
1133 (installman): Install zless man page.
1134 (install_compress): Don't install compress.
1137 1998-09-16 Paul Eggert <eggert@twinsun.com>
1139 * NEWS, README, revision.h: Bump version number to 1.2.4.4294967299.
1141 * tailor.h (UNLINK_READONLY_BUG): New macro.
1142 * gzip.h (unlink): New decl.
1143 * util.c (xunlink): New function.
1145 (treat_file, create_outfile, check_ofname, copy_stat, abort_gzip):
1146 Use xunlink rather than unlink.
1147 Do not chmod the file; xunlink will do that if need be.
1149 1998-05-21 Paul Eggert <eggert@twinsun.com>
1151 * NEWS, README, revision.h: Bump version number to 1.2.4.4294967298.
1152 * Makefile.in (prefix): Set from @prefix@.
1153 (distclean): Remove config.cache.
1155 1998-01-15 Paul Eggert <eggert@twinsun.com>
1157 * NEWS, README, revision.h:
1158 Bump version number to indicate large-file support.
1160 1997-10-08 Paul Eggert <eggert@twinsun.com>
1162 * gzip.c (CHAR_BIT): Define if <limits.h> doesn't.
1163 (OFF_T_MIN, OFF_T_MAX): New macros.
1164 (do_list): Revert to fixed format, but this time don't assume
1165 that 9 digits suffice; use a width taken from the maximum value
1166 that off_t can represent.
1167 (off_t): Do not typedef; autoconf handles this now.
1168 * gzip.c, util.c (<limits.h>): Include if HAVE_LIMITS_H.
1169 * gzip.h, util.c (fprint_off): Now takes int width argument.
1170 * configure.in (AC_HAVE_HEADERS): Check for limits.h.
1171 (AC_TYPE_OFF_T): Use this instead of grepping sys/types.h for off_t.
1172 (AC_TYPE_SIZE_T): Use this instead of obsolescent AC_SIZE_T.
1173 * tailor.h (NO_OFF_T): Remove.
1174 (off_t): Define this instead.
1176 1997-10-03 Paul Eggert <eggert@twinsun.com>
1178 * Makefile.in, bits.c, configure.in, deflate.c, gzip.c, gzip.h,
1179 inflate.c, trees.c, unlzw.c, unpack.c, unzip.c, util.c, zip.c:
1180 Adjust to Solaris 2.6, which has large files but small off_t by default.
1181 * gzip.c: Output more reasonable message if input file is too large.
1182 * gzip.c, util.c: Propagate errno from point of error to `perror'.
1183 * unzip.c: Allow uncompressing files larger than 4 gigabytes.
1184 http://www.gzip.org/4g.patch (1996-07-21)
1186 Wed Aug 18 09:34:23 1993 Jean-loup Gailly (jloup@chorus.fr)
1189 By default, do not restore file name and timestamp from those saved
1190 inside the .gz file (behave as 'compress'). Added the --name option
1191 to force name and timestamp restoration.
1192 Accept - as synonym for stdin.
1193 Use manlinks=so or ln to support either hard links or .so in man pages
1194 Accept foo.gz~ in zdiff.
1195 Added support for Windows NT
1196 Handle ENAMETOOLONG for strict Posix systems
1197 Use --recursive instead of --recurse to comply with Webster and
1199 Allow installation of shell scripts with a g prefix: make G=g install
1200 Install by default zcat as gzcat if gzcat already exists in path.
1201 Let zmore behave as more when invoked without parameters (give help)
1202 Let gzip --list reject files not in gzip format even with --force.
1203 Don't complain about non gzip files for options -rt or -rl.
1204 Added advice in INSTALL for several systems.
1205 Added makefile entries for NeXTstep 3.1 (if configure fails)
1206 Avoid problem with memcpy on Pyramid (gave crc error on some files)
1207 Support the -r option when compiled with Borland C++ on msdos.
1208 Force lower case file names only for FAT file systems (not HPFS)
1209 Rewrite one expression in inflate.c to avoid cc bug on Solaris x86.
1210 In the msdos makefiles, get match.asm from the msdos subdirectory.
1211 Catch SIGTERM and SIGHUP only if they are not ignored.
1212 getopt.c: on Amiga, "#if !defined(const)" does not compile.
1213 Use register parameters on Amiga.
1214 Do not force names to lower case on Amiga.
1215 Fix support of Atari TOS (Makefile.st and tailor.h)
1216 In unlzw.c, do not suggest using zcat if zcat already used.
1217 In INSTALL, suggest using bsdinst for HPUX.
1218 Document Turbo C++ 1.0 bug in INSTALL.
1219 Improved the documentation relative to the --no-name option.
1220 Avoid signed/unsigned warnings in several files.
1221 Added pointer to jka-compr19.el in README.
1222 Added pointer to OS/2 executables in README.
1223 Added --block-compress in tar -z example (gzip.1 and gzip.texi).
1224 Don't keep rcsid in executable (avoid compilation warnings).
1225 Check also the correctness of the first byte of an .Z file.
1226 Return non zero status for an invalid option.
1227 Remove "NEWFILES" from os2/gzip.def for Borland C++ on OS/2.
1228 Remove "time stamp restored" message (just obey the -N request).
1230 Thu Jun 24 10:27:57 1993 Jean-loup Gailly (jloup@chorus.fr)
1233 Don't display the output name when decompressing except with --verbose.
1234 Remove usage of alloca in getopt.c and all makefiles.
1235 Use ASCPP instead of CPP to avoid breaking AC_HEADER_CHECK on RiscOS.
1236 Added the zfile shell script in subdirectory sample.
1237 Moved the list of compiler bugs from README to INSTALL.
1238 Added vms/Readme.vms.
1239 Fix DIST_BUFSIZE check in unlzh.c for 16 bit machines.
1240 Fix REGSIGTYP macro in configure.in.
1241 Use 'define' instead of == in vms/gzip.hlp.
1242 Avoid warnings in unlzh.c
1243 Allow separate installation of binaries and man pages.
1244 Simplified handling of file names with spaces in zgrep and znew.
1245 Fix dependencies and remove rule for trees.c in amiga/Makefile.sasc
1246 Add missing quote in gzexe.
1248 Thu Jun 17 13:47:05 1993 Jean-loup Gailly (jloup@chorus.fr)
1251 Fix a compilation error in gzip.c on Sun with cc (worked with gcc).
1253 Wed Jun 16 11:20:27 1993 Jean-loup Gailly (jloup@chorus.fr)
1256 Let zmore act as more if the data is not gzipped.
1257 By default, display output name only when name was actually truncated.
1258 Use absolute path names in gzexe'd programs for better security.
1259 In gzexe, use chmod 700 instead of 755 and don't gzexe tail,rm,etc...
1260 Update vms/gzip.hlp.
1261 Added a note about the fast options (-1 to -3) in algorithm.doc.
1262 Improved man page for zgrep.
1263 Minor fixes to gzip.texi.
1264 Always set LC_ALL and LANG in configure (for tr on HPUX)
1266 Mon Jun 14 10:03:24 1993 Jean-loup Gailly (jloup@chorus.fr)
1269 Added the --list option to display the file characteristics.
1270 Added the --no-name option: do not save or restore original filename
1271 Save the original name by default.
1272 Allow gunzip --suffix "" to attempt decompression on any file
1273 regardless of its extension if an original name is present.
1274 Add support for the SCO compress -H format.
1275 gzip --fast now compresses faster (speed close to that of compress)
1276 with degraded compression ratio (but still better than compress).
1277 Default level changed to -6 (acts exactly as previous level -5) to
1278 be a better indication of its placement in the speed/ratio range.
1279 Use smart name truncation: 123456789012.c -> 123456789.c.gz
1280 instead of 12345678901.gz
1281 With --force, let zcat pass non gzip'ed data unchanged (zcat == cat)
1282 Added the zgrep shell script.
1283 Made sub.c useful for 16 bit sound, 24 bit images, etc..
1284 Supress warnings about suffix for gunzip -r, except with --verbose.
1285 Moved the sample programs to a subdirectory sample.
1286 On MSDOS, use .gz extension when possible (files without extension)
1287 Added a "Special targets" section in INSTALL.
1288 Use stty -g correctly in zmore.in.
1289 Use cheaper test for gzipness in zforce.in.
1290 Remove space before $ in match.S (no longer accepted by gas 2.x)
1291 For the shell scripts, do not assume that gzip is in the path.
1292 Fix syntax error and define lnk$library in vms/Makefile.mms
1293 REGSIGTYPE is void on the Amiga.
1294 Do not write empty line when decompressing stdin with --verbose.
1295 Fix the 1.1.2 fix for VMS (bug in get_suffix)
1296 Added warning in README about compiler bug on Solaris 2.1 for x86.
1297 Added warning about 'rehash' in INSTALL.
1298 Removed default value of read_buf in bits.c (supermax doesn't like).
1299 In tailor.h, added support for Borland C and Zortech C on OS/2.
1300 Added warning in gzexe about Ultrix buggy sh (use /bin/sh5 instead).
1301 Added warning in zdiff about AIX buggy sh (use /bin/ksh instead).
1302 In configure.in, do not try the asm code if DEFS contains NO_ASM
1304 Fri Jun 4 09:49:33 1993 Jean-loup Gailly (jloup@chorus.fr)
1307 Fix serious bug for VMS (-gz not removed when decompressing).
1308 Allow suffix other than .gz in znew.
1309 Do not display compression ratio when decompressing stdin.
1310 In zmore.in, work around brain damaged stty -g (Ultrix).
1311 Display a correct compression ratio for .Z files.
1312 Added .z to .gz renaming script in INTALL.
1313 Allow setting CFLAGS in configure.
1314 Add warning in README about bug in Concentrix cc compiler.
1315 Avoid || in Makefile.in (at least one make doesn't support this).
1316 Disable useless --ascii option for the Amiga.
1317 Add a pointer to the Primos executable in README.
1318 Added description of extra field in algorithm.doc.
1319 Do not redefine NULL in alloca.c.
1320 Added check for unsupported compression methods.
1321 Avoid getopt redeclaration on OSF/1.
1323 Tue Jun 1 09:07:15 1993 Jean-loup Gailly (jloup@chorus.fr)
1326 Fix serious bug in vms.c (== instead of =).
1327 Added --ascii option.
1328 Add workaround in configure.in for Ultrix (quote eval argument)
1329 Do not use unset in znew (not supported on Ultrix)
1330 Use tar.gz instead of tar.z for the distribution of gzip.
1331 Add missing menu item in gzip.texi.
1332 Use size_t instead of unsigned, add AC_SIZE_T in configure.in.
1334 Fri May 28 11:40:01 1993 Jean-loup Gailly (jloup@chorus.fr)
1337 Use .gz suffix by default, add --suffix option.
1338 Let gunzip accept a "_z" suffix (used by one 'compress' on Vax/VMS).
1339 Quit when reading garbage from stdin instead of reporting an error.
1340 Added sub.c and add.c for compression of 8 bit images.
1341 Added makefile for VAX/MMS and support for wildcards on VMS.
1342 Added support for MSC under OS/2.
1343 Added support for Prime/PRIMOS.
1344 Display compression ratio also when decompressing.
1345 Quit after --version (GNU standard)
1346 Use --force to bypass isatty() check.
1347 Accept --silent as synonym for --quiet (see longopts.table)
1348 Accept --to-stdout as synonym for --stdout (see longopts.table)
1349 Accept -H and -? in addition to -h and --help.
1350 Added comparison of zip and gzip in the readme file.
1351 Return an error code in all main compression/decompression functions.
1352 Continue processing other files in case of recoverable error.
1353 Add description of -f in znew.1.
1354 Do not keep uncompressed version for znew -t if .gz already exists.
1355 On Unix, use only st_ino and st_dev in same_file().
1356 Use S_IRUSR and S_IWUSR if they exist.
1357 "test $1 = -d" -> "test x$1 = x-d" in gzexe.
1358 In match.S, use symbol sysV68 to detect the Motorola Delta.
1359 Do not include memory.h with gcc (conflicting declarations on Sun).
1361 On VMS, define unlink as delete also for gcc.
1362 In "make check", unset LANG because "wc -c" fails on Kanji.
1363 Renamed shdir as scriptdir.
1364 Use the 68020 code instead of 68000 code on the NeXT.
1365 Documented --uncompress as synonym for --decompress.
1366 Include the standard header files before gzip.h (needed on Bull).
1367 Do not assume that _POSIX_VERSION implies dirent.h present.
1368 Removed gzip-tar.patch since tar 1.11.2 handles gzip directly.
1369 Use less memory when compiled with -DSMALL_MEM (for MSDOS).
1371 Don't complain if cc -E does not work correctly.
1372 Do not attempt reading 64K bytes on 16 bit Unix systems.
1373 Do not use the variable name 'overhead' which is reserved on Lynx!
1374 One BULL compiler does not like *p++ in inflate.c => *p, p++.
1375 Use casts on free and memcmp to avoid warnings.
1376 Remove the "off by more than one minute" time stamp kludge, but
1377 document how to avoid saving the time stamp on pipes if desired.
1378 Include crypt.h in inflate.c (one system predefines the CRYPT symbol).
1379 Add links to gunzip and (g)zcat in the default make rule.
1380 Create installation directories if they do not exist.
1381 Clarified --prefix option in INSTALL.
1382 Use symbol mc68k in match.S for the DIAB DS90.
1383 Guard against zero length _match.s in configure.in.
1384 In zmore, restore all tty options using stty -g.
1385 Added support for MacOS
1386 Simplified makecrc.c.
1387 Avoid warnings in getopt.c, util.c, unlzw.c.
1388 Use autoconf 1.4, in particular for INSTALL and AC_HAVE_POUNDBANG
1389 Use .so instead of hard links for zcat.1, gunzip.1 and zcmp.1.
1390 Fixed declration of sig_type.
1391 Make consistency check in fcfree.
1393 Do not complain if utime fails on a directory (for OS/2).
1395 Thu Mar 18 18:56:43 1993 Jean-loup Gailly (jloup@chorus.fr)
1398 Allow zmore to read from standard input (like more).
1399 Support the 68000 (Atari ST) in match.S.
1400 Retry partial writes (required on Linux when gzip is suspended in
1402 Allow full pathnames and renamings in gzexe.
1403 Don't let gzexe compress setuid executables or gzip itself.
1404 Added vms/Makefile.gcc for gcc on the Vax.
1405 Give a pointer to Solaris and VMS executables of gzip in README.
1406 Allow installation of binaries and shell scripts in different dirs.
1407 Do not use alloca on the Cray.
1408 Provide strspn and strcspn if string.h does not exist.
1409 Define O_CREAT and O_EXCL from FCREAT and FEXCL if necessary.
1410 Remove gzip.doc in make realclean.
1411 Fixed many typos. (Corrections to my English are welcome.)
1412 Put "make manext=l install" at the correct place in INSTALL.
1413 Fix incorrect examples in INSTALL and give more examples.
1414 Include zdiff.1 for install and uninstall.
1415 Allows complex PAGER variable in zmore (e.g.: PAGER="col -x | more")
1416 Avoid warning on unused indfound in getopt.c.
1417 Cast memset arg to void* (required by some buggy compilers).
1418 Include sys/types.h before dirent.h in acgeneral.m4.
1419 Fix acgeneral.m4 AC_COMPILE_CHECK to avoid warnings.
1420 Don't use alloca.c with gcc. (One NeXT user did not have alloca.h).
1421 Change all error messages according to GNU standards.
1422 Restore time stamp only if off by more than one minute.
1423 Allow installation of zcat as gzcat.
1424 Suppress help message and send compressed data to the terminal when
1425 gzip is invoked without parameters and without redirection.
1426 (Explicit request from Noah Friedman.)
1427 Add compile option GNU_STANDARD to respect the GNU coding standards:
1428 with -DGNU_STANDARD, behave as gzip even if invoked under the
1429 name gunzip. (Complaints to /dev/null or the FSF, not to me!)
1431 Fri Mar 10 13:27:18 1993 Jean-loup Gailly (jloup@chorus.fr)
1434 Let gzexe detect executables that are already gzexe'd.
1435 Don't try restoring record format on VMS (the simple 1.0.5 code
1436 worked correctly only on fixed-512 files). Suppress text_mode.
1437 Added asm version for 68000 in amiga/match.a.
1438 Use asm version for Atari TT.
1439 Fix "make clean" in vms/Makefile.vms.
1440 For OS/2, assume HPFS by default, add flag OS2FAT if necessary.
1441 Fixed some bugs in zdiff and define zcmp as a link to zdiff.
1443 Remove configure hack for NeXT; add general fix to autoconf instead
1444 Do not strip a ".z" extension if this results in an empty name.
1445 Avoid array overflow in get_prefix() for extensions > 10 chars.
1446 Accept either q or e to quit zmore.
1447 In zmore, try restoring tty mode in all cases.
1448 Use Motorola style for match.S on the NeXT.
1449 configure.in: unsetenv *hangs* with the Siemens csh...
1450 Update vms/gzip.hlp.
1452 Thu Mar 4 14:13:34 1993 Jean-loup Gailly (jloup@chorus.fr)
1455 For VMS, restore the file type for variable record format, otherwise
1456 extract in fixed length format (not perfect, but better than
1457 forcing all files to be in stream_LF format).
1458 Use "-z" suffix for VMS.
1459 Use only .z, .*-z, .tgz, .taz as valid gzip extensions; update
1461 Allow a version number in input file names for VMS.
1462 Added sample program zread.c.
1463 Fix "make check" for some implementations of /bin/sh.
1464 Don't rely on stat() for filenames with extension > 3 chars
1465 on MSDOS, OS2 and Atari.
1466 Garbage collect files in /tmp created by gzexe.
1468 Use TOUCH env variable in znew if it exists.
1469 Better error message for gunzip on empty or truncated file.
1470 Allow prototypes in getopt.h when __STDC__ defined but 0.
1471 Added "make clean" in vms/Makefile.vms.
1472 Removed -g from default CFLAGS (with Noah's permission!)
1473 Avoid too many HAVE_xxx_H for most systems; use common defaults.
1474 Moved default Atari flags into tailor.h for consistency.
1475 Use memzero() to clear the hash table.
1476 Update vms/gzip.hlp to reflect the VMS behavior.
1477 Fix OS_CODE (to fit in a byte).
1478 Add utime.h for the Amiga.
1479 Add gcc support for the Amiga.
1480 Work around incorrect dirent.h for NeXT 2.0.
1481 Added Makefile entry for Coherent.
1483 Fri Feb 22 11:20:49 1993 Jean-loup Gailly (jloup@chorus.fr)
1486 Added optimized asm version for 68020.
1487 Add support for DJGPP.
1488 Add support for the Atari ST.
1489 Added zforce to rename gzip'ed files with truncated names.
1490 Do not install with name uncompress (some systems rely on the
1491 absence of any check in the old uncompress).
1492 Added missing function (fcfree) in msdos/tailor.c
1493 Let gunzip handle .tgz files, and let gzip skip them.
1494 Added 'stty min 1' in zmore for SysV and fixed trap code.
1495 Suppress .PHONY in Makefile.in, which breaks old makes.
1496 Added documentation about pcat and unpack in INSTALL.
1497 Add cast to getenv for systems without stdlib.h.
1498 Use VAXC instead of VMS to avoid confusion for gcc.
1501 Try preserving file permissions in gzexe.
1502 Added -d option for gzexe.
1503 Guard against spaces in file names in gzexe.
1504 Use CMP env. variable in zcmp.
1505 Return a warning exit status for gzip of file with .z suffix.
1506 Suppress usage of d_ino which is not portable to all systems.
1507 Use #ifdef instead of #if for consistency.
1508 For VMS, use "cc util.c" instead of "cc util" (pb with logical names)
1509 Added utime() for Amiga.
1510 Renamed gzcat.1 as zcat.1.
1511 Include fcntl.h for Amiga (for read and write).
1512 For VMS, add definition of symbols and links in the makefiles.
1513 Give a VMS look to vms/gzip.hlp.
1514 Save the original name only when necessary.
1515 Add a mode parameter for open in read mode (required by VMS).
1516 For VMS, remove the version suffix from the original name.
1517 Accept both / and \ as path separator for MSDOS.
1518 Let gunzip extract stored .zip files correctly.
1519 Added warning about VFC format in vms/gzip.hlp.
1520 In znew, skip a bad file but process the others.
1522 Use GZIP_OPT for VMS to avoid conflict with program name.
1523 Added description of GZIP variable in gzip.texi.
1525 Thu Feb 11 17:21:32 1993 Jean-loup Gailly (jloup@chorus.fr)
1528 Add -K option for znew to keep old .Z files if smaller.
1529 Add -q option (quiet) to cancel -v in GZIP env variable.
1530 For Turbo C, normalize pointers before freeing them.
1531 Add more safety checks in add_envopt().
1532 Add do_exit() for uniform exit path (always free memory).
1533 Reduce MAX_PATH_LEN for MSDOS.
1534 Include sys/types.h before signal.h
1535 Avoid strdup, the NeXT does not have it.
1536 Made gzexe safer on systems with filename limitation to 14 chars.
1538 Fri Feb 10 09:45:49 1993 Jean-loup Gailly (jloup@chorus.fr)
1541 Added env variable GZIP for default options.
1542 Added support for the Amiga.
1543 znew now keeps the old .Z if it is smaller than the .z file.
1544 Added gzexe to compress rarely used executables.
1545 Reduce memory usage when using static allocation (no DYN_ALLOC).
1546 Better separation of warning and error return codes.
1547 Fix unlzw.c to make DYN_ALLOC and MAXSEG_64K independent options.
1548 Allow INBUFSIZ to be >= 32K in unlzw (don't use sign of rsize)
1549 Generate tar file in old format to avoid problems with old systems.
1550 Preserve time stamp in znew -P if touch -r works.
1551 Use ${PAGER-more} instead of ${PAGER:-more} in zmore.
1552 Do not use unsigned instead of mode_t.
1553 Better error message for trailing garbage in .z file; ignore this
1555 In zmore, use icanon instead of -cbreak on SYSV.
1556 Add trap handler in zmore.
1557 Use char* instead of void* for non STDC compilers.
1558 Added makefile entry for Xenix on 286.
1559 Return an error code when existing file was not overwritten.
1560 Use prototype of lzw.h for lzw.c.
1561 Fix znew with -P option alone.
1562 Give warning for directories even without -v.
1563 Close output file before unlink() in case of error.
1564 Suppress all target dependent ifdef from the portable files.
1565 Free all dynamically allocated variables upon exit.
1567 Thu Feb 4 18:23:56 1993 Jean-loup Gailly (jloup@chorus.fr)
1570 Fixed some trivial errors in msdos/Makefile.bor
1572 Thu Feb 4 10:00:59 1993 Jean-loup Gailly (jloup@chorus.fr)
1575 gzip now runs on Vax/VMS (Amiga support will come in next version).
1576 Do not overwrite files without -f when using /bin/sh.
1577 Support the test option -t for compressed (.Z) files.
1578 Flush output for bad compressed files. Add warning in README.
1579 Added makefiles for MSDOS.
1580 Don't rely on presence of csh in configure
1581 Added gunzip.1 and gzcat.1.
1583 Check reserved flags in unlzw().
1584 Return dummy value in main to avoid lint warning.
1585 Define OF in lzw.h for lint.
1586 Allow both "znew -v -t" and "znew -vt".
1587 Don't overwrite the output file name for multiple parts.
1588 Echo just a warning if configure is out of date.
1589 Use ; instead of , in trees.c (confuses the SAS Amiga compiler).
1590 In INSTALL, document "DEFS='-DM_XENIX' ./configure".
1591 Use OTHER_PATH_SEP for more portability (DOS, OS2, VMS, AMIGA).
1592 Make all directories world writable for broken versions of tar.
1593 Use gzip -cd instead of zcat in zmore, zcmp, zdiff.
1594 Don't use GNU tar for distributions, some systems can't untar.
1595 Do not exit() for gzip --version.
1597 Mon Jan 26 10:26:42 1993 Jean-loup Gailly (jloup@chorus.fr)
1599 * Beta version 0.8.2
1600 Avoid 'far' declarations for MSDOS.
1601 Use test -f instead of test -x in configure.in (for Ultrix)
1602 Add empty else part to if in Makefile.in for broken shells.
1603 Use NO_UNDERLINE instead of UNDERLINE (pb with Linux cpp)
1604 Accept continuation files with -ff (for damage recovery)
1605 Small patch to Makefile.os2
1606 Use memzero instead of bzero to avoid potential conflicts
1607 Document restriction on extraction of zip files.
1608 Fix quoting in ACL_HAVE_SHELL_HACK.
1609 Do not check file size on MSDOS because of bug in DIET.
1610 Allow zcat on a file with multiple links.
1611 Add fix in inflate.c for compatibility with pkzip 2.04c.
1612 Release gzip in tar.z and tar format. (No tar.Z).
1614 Fri Jan 22 10:04:13 1993 Jean-loup Gailly (jloup@chorus.fr)
1616 * Beta version 0.8.1
1618 Fixed #if directives that TurboC does not like.
1619 Don't rely on uncompress in znew, use gzip -d.
1620 Add the pipe option -P in znew.
1621 Add some more ideas in TODO.
1622 Support both NDIR and SYSNDIR.
1624 Sat Jan 21 15:46:38 1993 Jean-loup Gailly (jloup@chorus.fr)
1628 Check for _match.o in configure.in in addition to return status.
1629 Include <sys/types.h> in zip.c
1630 Define local variables and functions as local.
1631 Accept more alternative names for the program (pcat, gzcat, ...).
1632 Accept .exe as well as .EXE.
1633 Uncompress files with multiple links only with -f.
1634 Better error message for gunzip of non-existent file.z.
1635 Fix the entry for /etc/magic in INSTALL.
1636 Use AC_HAVE_HEADERS uniformly instead of special macros.
1637 Install the man pages as .1 by default instead of .l.
1638 Document crypt++.el in README.
1639 Fix for unlzw() on 16-bit machines (bitmask must be unsigned).
1640 Complain if input and output files are identical.
1641 Create a correct output name for files of exactly 13 chars.
1642 Do not overwrite CPP if set
1643 Check for i386 before trying to assemble match.s
1644 Check for underline in external name before assembling
1645 Add patch for tar 1.11.1.
1647 Mon Jan 5 10:16:24 1993 Jean-loup Gailly (jloup@chorus.fr)
1650 Use "make check" instead of "make test".
1651 Do not rely on dirname in znew.
1652 Keep time stamp and pass options to gzip in znew.
1653 Rename .l files back to .1 to avoid conflict with lex
1654 Do not create .z.z files with gzip -r.
1655 Use nice_match in match.asm
1656 Unroll loops in deflate.c
1657 Do not attempt matches beyond the window end
1658 Allow again gunzip .zip files (was working in 0.5)
1659 Allow again compilation with TurboC 2.0 (was working in 0.4)
1661 Tue Dec 30 20:00:19 1992 Jean-loup Gailly (jloup@chorus.fr)
1664 The .z extension is used by pack, not compact (README, gzip.1)
1665 Accept gzcat in addition to zcat.
1666 Use PAGER in zmore if defined.
1667 Man pages for /usr/local/man/manl should have extension .l.
1668 Don't redefine bzero on the NeXT
1669 Allow incomplete Huffman table if there is only one code.
1670 Don't lookahead more than 7 bits (caused premature EOF).
1671 Added "make test" to check for compiler bugs.
1672 Don't rely on `i386`; try to assemble directly
1673 Change magic header to avoid conflict with freeze 1.x.
1674 Added entry for /etc/magic in INSTALL.
1675 Do not destroy an input .zip file with more than one member.
1676 Display "untested" instead of "OK" for gzip -t foo.Z
1677 With -t, skip stdin in .Z format
1678 Allow multiple compressed members in an input file.
1679 Ignore a zero time stamp.
1682 Tue Dec 29 10:00:19 1992 Noah Friedman (friedman@gnu.ai.mit.edu)
1684 Added test for #!/bin/sh in configure.in.
1685 Fix some references to $srcdir in Makefile.in
1687 Mon Dec 21 17:33:35 1992 Jean-Loup Gailly (jloup@chorus.fr)
1690 Put RCS ids in all files.
1691 Added znew to recompress old .Z files with gzip.
1692 Avoid "already .z suffix" messages for -r and no -v.
1693 Put back check for d_ino in treat_dir().
1694 Use HAVE_STRING_H instead of USG.
1695 Added os2/Makefile.os2
1696 Use SYSUTIME on OS/2.
1697 Info dir is $(prefix)/info, not $(prefix)/lib/info.
1698 Support long options, added getopt and alloca
1700 Reorder configure.in according to suggestions in autoconf.info
1701 Allow links when not removing original file
1702 Allow either .z or .Z in zdiff
1704 Wed Nov 25 11:40:04 1992 Jean-loup Gailly (jloup@chorus.fr)
1706 * Beta version 0.4.1
1707 Save only the original base name, don't include any directory prefix.
1708 Don't use HAVE_LONG_FILE_NAMES (support multiple file system types).
1709 Fix declaration of abort_gzip in gzip.h.
1710 Include unistd.h when it exists to avoid warnings with gcc -Wall.
1712 Mon Nov 23 12:39:01 1992 Jean-loup Gailly (jloup@chorus.fr)
1716 Use autoconf generated 'configure'
1717 Fixed the NO_MULTIPLE_DOTS code
1718 Fixed the save_orig_name code
1719 Support for MSDOS (Turbo C)
1721 Thu Nov 19 15:18:22 1992 Jean-loup Gailly (jloup@chorus.fr)
1724 Added auto configuration. Just type "make" now.
1725 Don't overwrite compress by default in "make install". Use
1726 "make install_compress" to overwrite.
1727 Add match.s for 386 boxes.
1728 Added documentation in texinfo format.
1729 Provide help for "gunzip" invoked without redirected input.
1730 Save original file name when necessary.
1731 Support OS/2 (Kai-Uwe Rommel).
1733 Tue Nov 17 14:32:53 1992 Jean-loup Gailly (jloup@chorus.fr)
1735 * Alpha version 0.2.4
1736 Return 0 in get_istat() when ok (caused error with zcat).
1737 Don't update crc on compressed data (caused crc errors on
1740 Fri Nov 13 15:04:12 1992 Jean-loup Gailly (jloup@chorus.fr)
1742 * Alpha version 0.2.3
1743 Initialize rsize in unlzw.c
1744 Initialize ofd for zcat.
1745 Do not use volatile ifname as argument of treat_dir.
1746 Add -1 to -9 in gzip.1.
1748 Sat Oct 31 18:30:00 1992 Jean-loup Gailly (jloup@chorus.fr)
1750 * Alpha version 0.2.2.
1752 Accept gunzip on zip files.
1754 Sat Oct 31 17:15:00 1992 Jean-loup Gailly (jloup@chorus.fr)
1756 * Alpha version 0.2.1
1757 Use ctype.h in util.c (problem on SysV).
1758 Create BINDIR if it does not exist.
1760 Added zcmp, zmore, zdiff.
1761 Fixed the man page gzip.1.
1763 Sat Oct 31 17:00:00 1992 Jean-loup Gailly (jloup@chorus.fr)
1766 Fixed compilation problems with gcc
1768 Sat Oct 31 12:46:00 1992 Jean-loup Gailly (jloup@chorus.fr)
1770 * Alpha version 0.1 released (under time pressure), so it's not
1776 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2006, 2007 Free
1777 Software Foundation, Inc.
1779 Copyright (C) 1992, 1993 Jean-loup Gailly
1781 Copying and distribution of this file, with or without
1782 modification, are permitted provided the copyright notice
1783 and this notice are preserved.