* gzip.c (handled_sig): Move out of install_signal_handlers, and
[debian/gzip] / ChangeLog
1 2007-11-25  Paul Eggert  <eggert@cs.ucla.edu>
2
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>.
7
8 2007-10-04  Paul Eggert  <eggert@cs.ucla.edu>
9
10         * doc/gzip.texi: Adjust to new fdl.texi format, in gnulib.
11
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>.
16
17 2007-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18
19         * COPYING: Update to GPLv3.  All uses changed.
20
21 2007-06-13  Paul Eggert  <eggert@cs.ucla.edu>
22
23         * zless.1: Fix some troff typos mentioned in the latest Debian patch.
24         Also, give a workaround for the pipe problem.
25
26         * gzip.c (copy_stat): Adjust to gnulib's renaming of futimens to
27         gl_futimens.
28
29 2007-06-04  Paul Eggert  <eggert@cs.ucla.edu>
30
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>.
33
34 2007-05-07  Paul Eggert  <eggert@cs.ucla.edu>
35
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>.
40
41         * NEWS, gzip.1: Document that case is ignored when looking at file name
42         extensions.
43         * doc/gzip.texi (Overview): Likewise.
44
45 2007-05-04  Paul Eggert  <eggert@cs.ucla.edu>
46
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.
55
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>.
60
61 2007-04-28  Paul Eggert  <eggert@cs.ucla.edu>
62
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".
67
68 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
69
70         * NEWS: Version 1.3.12 released.
71         * configure.ac (AC_INIT): Likewise.
72
73         * README: Update year in copyright notice.
74         * m4/shell.m4: Add copyright notice.
75
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.
91
92 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
93
94         * znew.in (tmp): Use $TMPDIR as temp directory, if given.
95         Suggested by Juan Manuel Guerrero.
96
97 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
98
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.
104         * zip.c: Likewise.
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>.
108
109 2007-03-14  Paul Eggert  <eggert@cs.ucla.edu>
110
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>.
114
115 2007-02-11  Paul Eggert  <eggert@cs.ucla.edu>
116
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.
120
121 2007-02-08  Paul Eggert  <eggert@cs.ucla.edu>
122
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>.
127
128 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
129
130         * NEWS: Version 1.3.11 released.
131         * configure.ac (AC_INIT): Likewise.
132
133         * doc/gzip.texi: Convert Texinfo format into a more modern style.
134         Put in current output samples.
135
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.
139
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
146         alias for gunzip.
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
161         invocations.
162         * zgrep.1: Clarify compression issues.
163         * zgrep.in: Don't assume POSIX-style case syntax.  Remove unused var
164         have_optarg.
165         * zless.1: zless sets LESSMETACHARS now.
166
167 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
168
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>.
172
173 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
174
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.
180
181 2007-01-03  Paul Eggert  <eggert@cs.ucla.edu>
182
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>.
186
187 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
188
189         * NEWS: Version 1.3.10 released.
190         * configure.ac (AC_INIT): Likewise.
191
192         * Makefile.am (check-local): Don't assume $(srcdir) is '.'.
193         (MAINTAINERCLEANFILES): Move gzip.doc.gz from here ...
194         (MOSTLYCLEANFILES): ... to here.
195
196 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
197
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>.
201
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>.
205
206         * zgrep.in (version): Fix bug: $grep wasn't evaluated.
207
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.
212
213 2006-12-26  Paul Eggert  <eggert@cs.ucla.edu>
214
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,
219         and exit status.
220         * gzip.c (abort_gzip_signal): Implement gzip -q change.
221         * zgrep.in: Implement zgrep change.
222
223 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
224
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.
235
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.
249
250 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
251
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>.
255
256 2006-12-20  Paul Eggert  <eggert@cs.ucla.edu>
257
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.
263
264 2006-12-15  Paul Eggert  <eggert@cs.ucla.edu>
265
266         * NEWS, configure.ac (AC_INIT):
267         Version 1.3.9 released.
268
269         * Makefile.am (MOSTLYCLEANFILES): Add _match.i.
270         * configure.ac (for an assembler syntax supported by this package):
271         Remove _match.i.
272
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.
277
278 2006-12-13  Bruno Haible  <bruno@clisp.org>
279
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
284         separately.
285
286 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
287
288         * configure.ac (ASCPPPOST): Simplify to use just 'sed'.
289         * lib/Makefile.am (match.$(OBJEXT)): Check for CPP failure.
290
291 2006-12-11  Bruno Haible  <bruno@clisp.org>
292
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
301         it is clearer.
302
303 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
304
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.
313
314         Undo the previous SSIZE_MAX-related change; it didn't work.
315         * gzip.c: Include <limits.h>.
316         * util.c: Likewise.
317         * gzip.h: Don't include <limits.h>.
318         (INBUFSIZ): Don't worry about SSIZE_MAX here.
319
320 2006-12-08  Paul Eggert  <eggert@cs.ucla.edu>
321
322         * NEWS, configure.ac (AC_INIT):
323         Version 1.3.8 released.
324
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.
328
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.
335         * znew.in: Likewise.
336
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.
345         * util.c: Likewise.
346         * gzip.c (main): Set exiting_signal before installing signal handlers.
347         (install_signal_handlers): Don't set exiting_signal here.  This
348         fixes a C99ism.
349         * zip.c: Include timespec.h, for time_stamp type.
350
351 2006-12-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
352
353         * gzexe.in: Work around FreeBSD shell trap bug.
354         * gzip.1: Fix typo.
355         * doc/gzip.texi: Likewise.
356
357 2006-12-08  Paul Eggert  <eggert@cs.ucla.edu>
358
359         * .cvsignore: Add .deps, gzexe, gzip, zdiff, zforce, zgrep,
360         zless, zmore, znew.
361         * doc/.cvsignore: Add Makefile.
362         * lib/.cvsignore: Add .deps, Makefile, alloca.h, config.h, fcntl.h,
363         stamp-h1, stdint.h, sys.
364
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.
370
371 2006-12-07  Paul Eggert  <eggert@cs.ucla.edu>
372
373         * Makefile.am (install-exec-hook): Fix bug when installing
374         symbolic links as aliases.  Problem reported by Mike Frysinger.
375
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>.
379
380 2006-12-06  Paul Eggert  <eggert@cs.ucla.edu>
381
382         * NEWS, configure.ac (AC_INIT):
383         Version 1.3.7 released.
384
385 2006-12-06  Bruno Haible  <bruno@clisp.org>  (tiny change)
386         and Paul Eggert  <eggert@cs.ucla.edu>
387
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.
393
394 2006-12-06  Paul Eggert  <eggert@cs.ucla.edu>
395
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]:
400         New macros.
401         (siginterrupt) [!defined SA_NOCLDSTOP && ! HAVE_SIGINTERRUPT]:
402         New macro.
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
428         is gone.
429
430 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
431
432         Port to Tandem NSK/OSS, which lacks fchdir.  Problem reported by
433         Matthew Woehlke in
434         <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
435         * bootstrap.conf (gnulib_modules): Remove openat, as it pulls in
436         fchdir.
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.
441
442 2006-12-04  Paul Eggert  <eggert@cs.ucla.edu>
443
444         * NEWS: Describe the following change briefly.
445         * bootstrap.conf (gnulib_modules): Remove stat-macros; no longer
446         needed.
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.
454
455         * .cvsignore: Add *.doc, build-aux.
456         * doc/.cvignore: New file.
457         * lib/.cvsignore: New file.
458         * m4/.cvsignore: New file.
459
460 2006-12-01  Paul Eggert  <eggert@cs.ucla.edu>
461
462         * doc/gzip.texi (Overview): Mention limits of gzip format's
463         time stamps.  Also, gzip doesn't always preserve time stamps.
464
465         * gzip.c (abort_gzip_signal): Don't call abort () as a "safeguard",
466         since it actually causes a core dump.  Problem reported by
467         Jakub Bogusz.
468
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.
474
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>.
479
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
490         in some cases.
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.
509
510 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
511
512         * inflate.c (inflate_dynamic, inflate): Don't send output to
513         stderr unless DEBUG is defined and 'verbose'.  Problem reported by
514         Santiago Vila.
515
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.
519
520 2006-11-25  Paul Eggert  <eggert@cs.ucla.edu>
521
522         * gzip.1 (OPTIONS): ouput -> output.  Problem reported by Matt
523         Taggart.
524         * vms/gzip.hlp: Likewise.
525
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
530         Meyering.
531
532 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
533
534         * NEWS, configure.ac (AC_INIT):
535         Version 1.3.6 released.
536
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.
544
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.
563
564         * bits.c: Use the more-usual form for copyright notices in source code.
565         * deflate.c: Likewise.
566         * gzip.c: Likewise.
567         * gzip.h: Likewise.
568         * inflate.c: Likewise.
569         * lzw.h: Likewise.
570         * revision.h: Likewise.
571         * tailor.h: Likewise.
572         * trees.c: Likewise.
573         * unpack.c: Likewise.
574         * unzip.c: Likewise.
575         * util.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
581         #ifdefs.
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.
590         All uses changed.
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.
594         (usage): Remove.
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
600         like STDC_HEADERS.
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
612         functions.
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
619         localtime succeeds.
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.
644         All uses changed.
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.
649
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.
657         * znew.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.
663
664         * zless.1: We now pass "--" to LESSOPEN.
665         (BUGS): Mention that input file arguments are required.
666         Add copyright notice.
667
668         * COPYING: Update to current version.
669
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.
681
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).
687
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.
694         * depcomp: 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.
703         * missing: Likewise.
704         * mkinstalldirs: Likewise.
705         * rpmatch.c: Likewise.
706         * stamp-vti: Likewise.
707         * texinfo.tex: Likewise.
708         * version.texi: Likewise.
709         * yesno.c: Likewise.
710
711 2002-09-30  Paul Eggert  <eggert@twinsun.com>
712
713         * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
714         Revision 1.3.5, dated today.
715
716         * util.c (fprint_off): Fix bug in printing values greater than
717         10 * 2**32 bytes.  Bug reported by Bryan Andersen.
718
719         * Makefile.am (match.$(OBJEXT)): Use .S as extension for $(ASCPP),
720         to keep gcc happy.
721         * configure.in: Likewise.
722         Upgrade assembly-language checking for Autoconf 2.54, using cache vars.
723         (AC_PROG_CPP, AC_OBJEXT): Add.
724
725         * match.c: Accept __i386 and __i386__ as synonyms for i386.
726         Bug reported by "fork __" <bouloumag@hotmail.com>.
727
728 2002-09-29  Paul Eggert  <eggert@twinsun.com>
729
730         * gzip.texi (Overview): Suggest how to use gunzip on zip files.
731
732         * zless.1, zless.in: Use LESSOPEN, not PAGER.
733         Suggested by <antos@MAST.queensu.ca>.
734
735 2002-09-28  Paul Eggert  <eggert@twinsun.com>
736
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.
744
745         Remove dangling output symlinks properly.
746         Bug reported by Kalle Olavi Niemitalo.
747         * gzip.c (lstat): New macro, for platforms lacking lstat.
748         (do_stat): Use it.
749         (name_too_long, check_ofname): Use lstat instead of stat.
750
751 2002-09-27  Paul Eggert  <eggert@twinsun.com>
752
753         * zforce.in: Use "gzip -lv", not "gzip -v".  Patch by Ralf
754         Neubauer.
755
756         * configure.in (ASCPP): Don't use test -a, as POSIX says it's
757         not portable.
758         * znew.in: Likewise.
759         * zmore.in: Likewise.  Similarly, don't use test -o, or test -t
760         with no operand.
761
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.
767
768         * gzip.c (main): Avoid core dump in diagnostic message if
769         incorrect suffix is given.
770
771 2002-09-26  Paul Eggert  <eggert@twinsun.com>
772
773         * zdiff.in: Use "trap -" instead of "trap".  Patch by Nicolas Boullis.
774         Use names, not numbers, for signals.  Patch by Andrew Stribblehill.
775
776         * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
777         Revision 1.3.4, dated today.
778
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
787         by Autoconf.
788         (AC_SUBST): Remove CFLAGS; now done by Autoconf.
789
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.
796
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.
801
802         Don't lose output when decompressing truncated input.
803         Bug reported by Nadav Har'El.
804         * inflate.c (GETBYTE): New macro.
805         (NEXTBYTE): Use it.
806         (inflate_dynamic, inflate_block): Add a local variable w, needed
807         by GETBYTE.
808
809 2002-03-08  Paul Eggert  <eggert@twinsun.com>
810
811         * NEWS, README, revision.h, gzip.texi,
812         configure.in (AM_INIT_AUTOMAKE): Revision 1.3.3, dated today.
813
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.
817
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.
821
822         * Makefile.am (install-exec-hook, remove-installed-links):
823         Work even when configured with --program-transform-name.
824
825         * gzip.c (license_msg): Update copyright.
826         (z_len): Now of type size_t.
827
828 2001-11-03  Paul Eggert  <eggert@twinsun.com>
829
830         * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
831         Revision 1.3.2, dated today.
832
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.
843
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.
847
848 2001-09-30  Paul Eggert  <eggert@twinsun.com>
849
850         * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
851         Revision 1.3.1, dated today.
852
853         * INSTALL, getopt.c, getopt.h, getopt1.c, install-sh, missing,
854           mkinstalldirs, texinfo.tex:
855         Sync with latest version in other packages.
856
857         * acinclude.m4, config.guess, config.sub: Remove.
858         * depcomp, rpmatch.c, yesno.c: New files.
859
860         * ChangeLog, README, NEWS, TODO, configure.in, zgrep.in, zmore.in:
861         Add copyright notice.
862
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.
867
868         * TODO: Add i18n.
869
870         * configure.in (AC_CANONICAL_HOST): Remove.
871         (AC_AIX, AC_MINIX): Move earlier.
872         (AC_REPLACE_FUNCS): Add rpmatch.
873
874         * gzip.c (main):
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
877         one column wide.
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.
882
883         * gzip.h (yesno): New decl.
884
885         * util.c (display_ratio): Use floating point to compute ratio:
886         this avoids problems with integer overflow.
887
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.
890
891         * zmore.in:
892         Check that file is readable before attempting to decompress it.
893
894 2000-10-09  Paul Eggert  <eggert@twinsun.com>
895
896         * configure.in (AC_CHECK_FUNCS): Add lstat.
897
898 2000-07-20  Paul Eggert  <eggert@twinsun.com>
899
900         Use a POSIX-compliant shell instead of /bin/sh.
901         Idea suggested by Albert Chin-A-Young <china@thewrittenword.com>.
902
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).
907
908 2000-04-17  Bruno Haible  <haible@clisp.cons.org>
909
910         * Makefile.am (install-exec-hook): If hard links fail, try symlinks.
911
912 2000-04-02  Jim Meyering  <meyering@ascend.com>
913
914         * Makefile.am (install-exec-hook): Remove link targets before
915         installing.
916
917 2000-01-02  Albert Chin-A-Young  <china@thewrittenword.com>
918
919         * gzip.texi: Add direntry.
920
921 1999-12-21  Paul Eggert  <eggert@twinsun.com>
922
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.
932
933 1999-11-18  Paul Eggert  <eggert@twinsun.com>
934
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.
938
939 1999-10-07  Paul Eggert  <eggert@twinsun.com>
940
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.
944
945         Convert to automake.
946
947         * Makefile.am, gunzip.1, zcat.1, zcmp.1, AUTHORS: New files.
948
949         * revision.h (VERSION): Remove; moved to config.h.
950
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),
961         etc.
962         (AC_CHECK_FUNCS): Add utime.
963         (SEDCMD): Use $interpval, not $ac_cv_sys_interpreter.
964         (AC_PREFIX_PROGRAM): Add, replacing AC_PREFIX.
965         (ZCAT, G): Remove.
966         (LIBOBJS): Add.
967         (OBJA): Remove; LIBOBJS now does this.
968
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.
973
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.
978
979 1999-06-25  Paul Eggert  <eggert@twinsun.com>
980
981         * inflate.c (huft_build):
982         Set n to length of v, to detect improper tables.
983         Don't accidentally grow j past z.
984
985 1999-06-24  Paul Eggert  <eggert@twinsun.com>
986
987         * Makefile.in (check): Update texinfo.tex size.
988
989         * configure.in (ASMV):
990         Define with AC_DEFINE; do not manipulate DEFS directly,
991         as this doesn't work with recent autoconf versions.
992
993 1999-02-06  Paul Eggert  <eggert@twinsun.com>
994
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.
999
1000 1999-01-27  Paul Eggert  <eggert@twinsun.com>
1001
1002         * NEWS, README, revision.h (VERSION, REVDATE):
1003         Revision 1.2.4.4294967304, dated today.
1004
1005         Port to autoconf 2.13.
1006
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
1011         AC_HEADER_DIRENT.
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.
1022
1023         * COPYING, INSTALL, doc/texinfo.tex, install-sh:
1024         Update to latest public versions.
1025
1026 1998-11-18  Paul Eggert  <eggert@twinsun.com>
1027
1028         * NEWS, README, revision.h (VERSION, REVDATE):
1029         Revision 1.2.4.4294967303, dated today.
1030
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).
1034
1035         * configure.in (CPPFLAGS, LDFLAGS, LIBS): Add large-file support
1036         for HP-UX 10.20 and later.
1037
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.
1045
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.
1050
1051 1998-11-13  Paul Eggert  <eggert@twinsun.com>
1052
1053         * NEWS, README, revision.h (VERSION, REVDATE):
1054         Revision 1.2.4.4294967302, dated today.
1055
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
1059         INBUFSIZ.
1060
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.
1064
1065 1998-10-26  Paul Eggert  <eggert@twinsun.com>
1066
1067         * NEWS, README, revision.h (VERSION, REVDATE):
1068         Revision 1.2.4.4294967301, dated today.
1069
1070         * TODO: Update bug reporting address.
1071
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.
1083
1084         * gzip.c (get_istat): Remove lint by initializing z_suffix_errno.
1085         (check_ofname): Do not assume unsigned char.
1086
1087         * util.c (strlwr): Don't assume char is unsigned.
1088         (warning): Renamed from `warn'.
1089
1090         * gzip.h (tolow): Use tolower instead of relying on 'A'-'a'.
1091         (warning): Renamed from warn.
1092
1093         * trees.c (warning): Renamed from warn.
1094
1095 1998-10-14  Paul Eggert  <eggert@twinsun.com>
1096
1097         Merge patches from Debian.
1098
1099         * NEWS, README, revision.h (VERSION, REVDATE):
1100         Revision 1.2.4.4294967300, dated today.
1101
1102         * README, algorithm.doc, gzip.texi: Update maintainer address.
1103
1104         * gzexe.in, zdiff.in, znew.in:
1105         Close security hole portably, using `set -C'.
1106
1107         * zgrep.in: Add -A, -B.
1108
1109         * gzexe.in: Use `gzip', not full path, to run gzip.
1110
1111         * zdiff.in: Report proper exit status.
1112
1113         * gzip.h (base_name): Renamed from basename.  All uses changed.
1114
1115         * gzip.c (z_suffix): Now char *, so that there's no limit to length.
1116         All uses change.
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.
1123
1124         * util.c (fill_inbuf): Flush window before reporting read error.
1125
1126         * inflate.c (inflate_dynamic): Don't dump core if tl == NULL.
1127
1128         * Makefile.in (GENFILES): Add zless.in.
1129         (SCRIPTS): Add zless.
1130         (default): Build all programs, not just gzip.
1131         (all): Add zless.
1132         (installbin): Install zegrep, zfgrep.
1133         (installman): Install zless man page.
1134         (install_compress): Don't install compress.
1135         (zless): New rule.
1136
1137 1998-09-16  Paul Eggert  <eggert@twinsun.com>
1138
1139         * NEWS, README, revision.h: Bump version number to 1.2.4.4294967299.
1140
1141         * tailor.h (UNLINK_READONLY_BUG): New macro.
1142         * gzip.h (unlink): New decl.
1143         * util.c (xunlink): New function.
1144         * gzip.c
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.
1148
1149 1998-05-21  Paul Eggert  <eggert@twinsun.com>
1150
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.
1154
1155 1998-01-15  Paul Eggert  <eggert@twinsun.com>
1156
1157         * NEWS, README, revision.h:
1158         Bump version number to indicate large-file support.
1159
1160 1997-10-08  Paul Eggert  <eggert@twinsun.com>
1161
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.
1175
1176 1997-10-03  Paul Eggert  <eggert@twinsun.com>
1177
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)
1185
1186 Wed Aug 18 09:34:23 1993  Jean-loup Gailly  (jloup@chorus.fr)
1187
1188         * version 1.2.4
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
1198           the GNU stdandard.
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).
1229
1230 Thu Jun 24 10:27:57 1993  Jean-loup Gailly  (jloup@chorus.fr)
1231
1232         * version 1.2.3
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.
1247
1248 Thu Jun 17 13:47:05 1993  Jean-loup Gailly  (jloup@chorus.fr)
1249
1250         * version 1.2.2
1251         Fix a compilation error in gzip.c on Sun with cc (worked with gcc).
1252
1253 Wed Jun 16 11:20:27 1993  Jean-loup Gailly  (jloup@chorus.fr)
1254
1255         * version 1.2.1
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)
1265
1266 Mon Jun 14 10:03:24 1993  Jean-loup Gailly  (jloup@chorus.fr)
1267
1268         * version 1.2
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
1303
1304 Fri Jun  4 09:49:33 1993  Jean-loup Gailly  (jloup@chorus.fr)
1305
1306         * version 1.1.2
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.
1322
1323 Tue Jun  1 09:07:15 1993  Jean-loup Gailly  (jloup@chorus.fr)
1324
1325         * version 1.1.1
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.
1333
1334 Fri May 28 11:40:01 1993  Jean-loup Gailly  (jloup@chorus.fr)
1335
1336         * version 1.1
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).
1360          Fix more typos.
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).
1370          Optimized updcrc().
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.
1392          Added ztouch.
1393          Do not complain if utime fails on a directory (for OS/2).
1394
1395 Thu Mar 18 18:56:43 1993  Jean-loup Gailly  (jloup@chorus.fr)
1396
1397         * version 1.0.7
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
1401             a pipe).
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!)
1430
1431 Fri Mar 10 13:27:18 1993  Jean-loup Gailly  (jloup@chorus.fr)
1432
1433         * version 1.0.6
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.
1442           Added zdiff.1
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.
1451
1452 Thu Mar 4 14:13:34 1993  Jean-loup Gailly  (jloup@chorus.fr)
1453
1454         * version 1.0.5
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
1460            zforce accordingly.
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.
1467           Quote $opt in znew.
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.
1482
1483 Fri Feb 22 11:20:49 1993  Jean-loup Gailly  (jloup@chorus.fr)
1484
1485         * version 1.0.4
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.
1499           Add -K to znew.1.
1500           Add gzexe.1.
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.
1521           Cleanup tailor.h.
1522           Use GZIP_OPT for VMS to avoid conflict with program name.
1523           Added description of GZIP variable in gzip.texi.
1524
1525 Thu Feb 11 17:21:32 1993  Jean-loup Gailly  (jloup@chorus.fr)
1526
1527         * version 1.0.3
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.
1537
1538 Fri Feb  10 09:45:49 1993  Jean-loup Gailly  (jloup@chorus.fr)
1539
1540         * version 1.0.2
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
1554            garbage on VMS.
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.
1566
1567 Thu Feb 4 18:23:56 1993  Jean-loup Gailly  (jloup@chorus.fr)
1568
1569         * version 1.0.1
1570           Fixed some trivial errors in msdos/Makefile.bor
1571
1572 Thu Feb 4 10:00:59 1993  Jean-loup Gailly  (jloup@chorus.fr)
1573
1574         * version 1.0
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.
1582           Updated znew.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.
1596
1597 Mon Jan 26 10:26:42 1993  Jean-loup Gailly  (jloup@chorus.fr)
1598
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).
1613
1614 Fri Jan 22 10:04:13 1993  Jean-loup Gailly  (jloup@chorus.fr)
1615
1616         * Beta version 0.8.1
1617           Fixed Makefile.os2
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.
1623
1624 Sat Jan  21 15:46:38 1993  Jean-loup Gailly  (jloup@chorus.fr)
1625
1626         * Beta version 0.8
1627           Support unpack.
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.
1646
1647 Mon Jan  5 10:16:24 1993  Jean-loup Gailly  (jloup@chorus.fr)
1648
1649         * Beta version 0.7
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)
1660
1661 Tue Dec 30 20:00:19 1992  Jean-loup Gailly  (jloup@chorus.fr)
1662
1663         * Beta version 0.6
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.
1680           Made znew safer.
1681
1682 Tue Dec 29 10:00:19 1992   Noah Friedman  (friedman@gnu.ai.mit.edu)
1683
1684           Added test for #!/bin/sh in configure.in.
1685           Fix some references to $srcdir in Makefile.in
1686
1687 Mon Dec 21 17:33:35 1992  Jean-Loup Gailly  (jloup@chorus.fr)
1688
1689         * Beta version 0.5
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
1699           Support -V and -t
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
1703
1704 Wed Nov 25 11:40:04 1992  Jean-loup Gailly  (jloup@chorus.fr)
1705
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.
1711
1712 Mon Nov 23 12:39:01 1992    Jean-loup Gailly  (jloup@chorus.fr)
1713
1714         * Beta version 0.4
1715           Lots of cleanup
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)
1720
1721 Thu Nov 19 15:18:22 1992    Jean-loup Gailly  (jloup@chorus.fr)
1722
1723         * Beta version 0.3
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).
1732
1733 Tue Nov 17 14:32:53 1992  Jean-loup Gailly  (jloup@chorus.fr)
1734
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
1738             large files).
1739
1740 Fri Nov 13 15:04:12 1992  Jean-loup Gailly  (jloup@chorus.fr)
1741
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.
1747
1748 Sat Oct 31 18:30:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1749
1750         * Alpha version 0.2.2.
1751           Fix error messages.
1752           Accept gunzip on zip files.
1753
1754 Sat Oct 31 17:15:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1755
1756         * Alpha version 0.2.1
1757           Use ctype.h in util.c (problem on SysV).
1758           Create BINDIR if it does not exist.
1759           Use cc by default.
1760           Added zcmp, zmore, zdiff.
1761           Fixed the man page gzip.1.
1762
1763 Sat Oct 31 17:00:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1764
1765         * Alpha version 0.2
1766           Fixed compilation problems with gcc
1767
1768 Sat Oct 31 12:46:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1769
1770         * Alpha version 0.1 released (under time pressure), so it's not
1771           much tested, sorry.
1772
1773
1774         -----
1775
1776         Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2006, 2007 Free
1777         Software Foundation, Inc.
1778
1779         Copyright (C) 1992, 1993 Jean-loup Gailly
1780
1781         Copying and distribution of this file, with or without
1782         modification, are permitted provided the copyright notice
1783         and this notice are preserved.