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