* zdiff.in: Remove first line containing ":". This follows
[gzip.git] / ChangeLog
blob06c9ee5eaa63fa357f7c963c08a75944a9e8a2a0
1 2006-12-08  Paul Eggert  <eggert@cs.ucla.edu>
3         * zdiff.in: Remove first line containing ":".  This follows
4         up on the SEDCMD fix of 2006-12-01.
5         * zforce.in: Likewise.
6         * zgrep.in: Likewise.
7         * zless.in: Likewise.
8         * zmore.in: Likewise.
9         * znew.in: Likewise.
11         Fix problems in porting to NSK reported by Matthew Woehlke in
12         <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00025.html> and
13         <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00027.html>.
14         * gzip.h: Include <limits.h>, for SSIZE_MAX.
15         (INBUFSIZE): Don't make it any larger than SSIZE_MAX.
16         Problem reported by Matthew Woehlke in
17         <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
18         * gzip.c: Don't include <limits.h>, as gzip.h now does this.
19         * util.c: Likewise.
20         * gzip.c (main): Set exiting_signal before installing signal handlers.
21         (install_signal_handlers): Don't set exiting_signal here.  This
22         fixes a C99ism.
23         * zip.c: Include timespec.h, for time_stamp type.
25 2006-12-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
27         * gzexe.in: Work around FreeBSD shell trap bug.
28         * gzip.1: Fix typo.
29         * doc/gzip.texi: Likewise.
31 2006-12-08  Paul Eggert  <eggert@cs.ucla.edu>
33         * .cvsignore: Add .deps, gzexe, gzip, zdiff, zforce, zgrep,
34         zless, zmore, znew.
35         * doc/.cvsignore: Add Makefile.
36         * lib/.cvsignore: Add .deps, Makefile, alloca.h, config.h, fcntl.h,
37         stamp-h1, stdint.h, sys.
39         * configure.ac (for assembler): Set ASFLAGS_config to
40         -Wa,--noexecstack if this seems advisable on this platform.
41         Problem reported by Mike Frysinger in
42         <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00018.html>.
43         * lib/Makefile.am (match.$(OBJEXT)): Use ASFLAGS_config.
45 2006-12-07  Paul Eggert  <eggert@cs.ucla.edu>
47         * Makefile.am (install-exec-hook): Fix bug when installing
48         symbolic links as aliases.  Problem reported by Mike Frysinger.
50         * deflate.c (deflate_fast, deflate): Avoid core dump.  Problem
51         originally reported by Jochen Friedrich and trivial patch supplied
52         by Anthony Towns; see <http://bugs.debian.org/184057>.
54 2006-12-06  Paul Eggert  <eggert@cs.ucla.edu>
56         * NEWS, configure.ac (AC_INIT):
57         Version 1.3.7 released.
59 2006-12-06  Bruno Haible  <bruno@clisp.org>  (tiny change)
60         and Paul Eggert  <eggert@cs.ucla.edu>
62         Fix build failure on case-insensitive file systems.
63         * configure.ac: Use match_.s instead of _match.s.
64         * Makefile.am (MOSTLYCLEANFILES): Likewise.
65         * lib/Makefile.am (match.$(OBJEXT)): Likewise.
66         (MOSTLYCLEANFILES): Likewise.
68 2006-12-06  Paul Eggert  <eggert@cs.ucla.edu>
70         * NEWS: Document the fixes below.
71         * configure.ac (AC_CHECK_FUNCS_ONCE): Add siginterrupt.
72         * gzip.c (lstat) [!defined(HAVE_LSTAT) && !defined(lstat)]: Remove.
73         (SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]:
74         New macros.
75         (siginterrupt) [!defined SA_NOCLDSTOP && ! HAVE_SIGINTERRUPT]:
76         New macro.
77         (HAVE_WORKING_O_NOFOLLOW): Define to 0 if not defined.
78         (caught_signals, exiting_signal, remove_ofname_fd): New vars.
79         (remove_ofname): Remove; all uses changed to remove_ofname_fd.
80         (same_file, name_too_long): Remove.
81         (install_signal_handlers): New function.  It prefers sigaction,
82         which is more reliable in the presence of race conditions.
83         Catch SIGXCPU and SIGXFSZ, too.
84         (main): Use it instead of installing them by hand.
85         (treat_file): Check for read error when closing ifd.
86         (treat_file, create_outfile, remove_output_file):
87         Avoid race conditions with signals.
88         (create_outfile, check_ofname): Remove most of the gorp about
89         working around ENAMETOOLONG deficiencies.  It's obsolete now, and
90         anyway it had race conditions.  Just rely on O_EXCL and
91         ENAMETOOLONG.  The worst that can happen is that a file name will
92         be silently truncated on an obsolete machine, but no data will be lost.
93         (open_and_stat): Use HAVE_WORKING_O_NOFOLLOW rather than O_NOFOLLOW
94         to work around some O_NOFOLLOW bugs.  Otherwise, fall back on
95         lstat only if lstat is available, as symlinks don't exist otherwise.
96         (open_input_file): Use O_NONBLOCK and O_NOCTTY too, to avoid
97         hanging gzip on special files.
98         (abort_gzip_signal): If sigaction is not available, ignore
99         signals.  If we get the exiting signal, exit with ERROR status
100         rather than raising a signal.
101         * tailor.h (NO_ST_INO): Remove; no longer used now that same_file
102         is gone.
104 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
106         Port to Tandem NSK/OSS, which lacks fchdir.  Problem reported by
107         Matthew Woehlke in
108         <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
109         * bootstrap.conf (gnulib_modules): Remove openat, as it pulls in
110         fchdir.
111         * configure.ac: Check for fdopendir.
112         * gzip.c: Don't include openat.h; no longer needed.
113         (treat_dir) [!HAVE_FDOPENDIR]: Fall back on the old opendir method
114         since fdopendir is not available.
116 2006-12-04  Paul Eggert  <eggert@cs.ucla.edu>
118         * NEWS: Describe the following change briefly.
119         * bootstrap.conf (gnulib_modules): Remove stat-macros; no longer
120         needed.
121         * gzip.c: Don't include stat-macros.h; no longer needed.
122         (treat_file): Refuse to compress files that are setuid, or setgid,
123         as this can in theory lead to security holes.  Also, refuse to
124         compress files with the sticky bit set, on general principle.
125         (copy_stat): Don't copy the setuid, setgid, or sticky bits,
126         as (given the above change) they'll always be zero here.
127         Invoke chmod before chown, to close a race condition.
129         * .cvsignore: Add *.doc, build-aux.
130         * doc/.cvignore: New file.
131         * lib/.cvsignore: New file.
132         * m4/.cvsignore: New file.
134 2006-12-01  Paul Eggert  <eggert@cs.ucla.edu>
136         * doc/gzip.texi (Overview): Mention limits of gzip format's
137         time stamps.  Also, gzip doesn't always preserve time stamps.
139         * gzip.c (abort_gzip_signal): Don't call abort () as a "safeguard",
140         since it actually causes a core dump.  Problem reported by
141         Jakub Bogusz.
143         * NEWS: Describe gzexe changes noted below.
144         * Makefile.am (.in): Don't bother with SEDCMD.  This stuff isn't needed
145         any more (the hosts it caters to are long extinct), and was
146         questionable anyway since the code assumes the skip= line was line 2.
147         * configure.ac (AC_SYS_INTERPRETER, SEDCMD): Remove; no longer needed.
149         * gzexe.in: Sweep the code and fix some bugs.
150         My, what sharp teeth you have, gzexe!
151         The straw that broke this camel's back was Matthew Burgess's bug report
152         <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00012.html>.
154         (IFS): Set it to the standard value, both here and in the
155         script gzexe generates.
156         Check for missing operand after parsing options, not before.
157         This fixes the case for "cpexe --".
158         Check for tail -n problem separately in gzexe and in the executable
159         it generates, in case it's a different 'tail'.
160         (trap): Remove $tmp only if $tmp is not the empty string.
161         Preserve exit status.
162         Don't use the nonstandard (and rarely available) "cpmod" utility.
163         Don't use "set -C"; it's no longer useful and it breaks things
164         in some cases.
165         (main loop): Handle file names beginning with "-".
166         Exit with status of failing program, not with 1.
167         Fix some bugs in printing diagnostics, and in quoting.
168         Require the skip= line to have at least one digit.
169         Use test -u and test -g rather than using the (less-reliable) ls.
170         Refuse to compress more programs, e.g., sh.
171         Use mktemp rather than tempfile.  Build a copy of
172         the compressed or uncompressed executable in the same
173         directory as the executable, as that's less likely to go wrong
174         if disk space is low.  Have the executable exit with status 127,
175         not 1, if the decompression process fails; this is more compatible
176         with meta-programs like nohup.  Have the executable
177         uncompress to a temp file with the same basename as the executable;
178         this is more likely to go right.  Fix a race condition where the
179         executable temporarily did not exist (in either old or new forms).
180         Check for race conditions better when mv fails.  Do not attempt
181         to use cp to do the real work, only to copy permissions to a temp
182         file, since we don't want to trash running executables.
184 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
186         * inflate.c (inflate_dynamic, inflate): Don't send output to
187         stderr unless DEBUG is defined and 'verbose'.  Problem reported by
188         Santiago Vila.
190         * zgrep.in: If the file name contains newline, &, \, or |, escape
191         the character so that 'sed' doesn't mishandle it as a replacement.
192         Problem reported by Bdale Garbee.
194 2006-11-25  Paul Eggert  <eggert@cs.ucla.edu>
196         * gzip.1 (OPTIONS): ouput -> output.  Problem reported by Matt
197         Taggart.
198         * vms/gzip.hlp: Likewise.
200         * Makefile.am (FILES_TO_CHECK): New macro.
201         (check-local): Check only the files in FILES_TO_CHECK, since some
202         files under the working directory might be mutating as the test is
203         run, e.g., with "make check >log".  Problem reported by Jim
204         Meyering.
206 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
208         * NEWS, configure.ac (AC_INIT):
209         Version 1.3.6 released.
211         * NEWS: Describe 1.3.6's changes.
212         * NEWS, README, README-alpha, TODO: Change from GPL to FDL.
213         * .cvsignore, README-cvs, bootstrap, bootstrap.conf: New files.
214         * doc/Makefile.am, lib/Makefile.am: New files.
215         * THANKS: Change own email address to cs.ucla.edu.  Add Sverre Jarp.
216         * TODO: Add new tasks to remove porting cruft and
217         all those buggy scripts.
219         * configure.ac: Renamed from configure.in.
220         (AC_PREREQ): Bump to 2.60.
221         (AC_INIT): Bump version to 1.3.6.
222         (AC_CONFIG_AUX_DIR): New.
223         (AC_CONFIG_HEADERS): Move config.h to lib.
224         Input is now lib/config.hin.
225         (AM_INIT_AUTOMAKE): Add gnits, dist-shar.
226         (AC_PROG_CC_STDC): New, replacing AC_PROG_CC.
227         (AM_PROG_CC_C_O, AC_PROG_RANLIB): New.
228         (AC_AIX, AC_GNU_SOURCE, AC_MINIX): Remove; gnulib does them now.
229         (gl_EARLY, gl_INIT): New.
230         match.c was moved to lib/match.c.
231         (AC_CHECK_HEADERS_ONCE): Replace AC_CHECK_HEADERS.  Don't check
232         for sys/utime.h or utime.h.
233         (AC_CHECK_FUNCS_ONCE): Replace AC_CHECK_FUNCS.  Check for fchmod
234         and fchown, not utime.
235         (AC_REPLACE_FUNCS): Remove; rpmatch is now done by gnulib.
236         (AC_CONFIG_FILES): Add doc/Makefile, lib/Makefile.
238         * bits.c: Use the more-usual form for copyright notices in source code.
239         * deflate.c: Likewise.
240         * gzip.c: Likewise.
241         * gzip.h: Likewise.
242         * inflate.c: Likewise.
243         * lzw.h: Likewise.
244         * revision.h: Likewise.
245         * tailor.h: Likewise.
246         * trees.c: Likewise.
247         * unpack.c: Likewise.
248         * unzip.c: Likewise.
249         * util.c: Likewise.
250         * crypt.c (dummy): Add decl so that pedantic compilers won't
251         complain about an empty file.
252         * gzip.c (license_msg): Use more-modern wording.
253         Include fcntl-safer.h, openat.h, stat-macros.h, stat-time.h.
254         Simply include <dirent.h> if !NO_DIR, removing a rats-nest of
255         #ifdefs.
256         Simply include <utimens.h> if !defined NO_UTIME, removing a
257         another rats-nest of #ifdefs.
258         (DIR_OPT, TIME_OPT): Remove.
259         (_D_EXACT_NAMLEN): Renamed from NAMLEN.  All uses changed.
260         (S_ISDIR, S_ISREG, O_BINARY, O_CREAT, O_EXCL, S_IRUSR, S_IWUSR):
261         Remove; gnulib now does this.
262         (RETSIGTYPE): Remove; Autoconf does this.
263         (program_name): Renamed from progname, for compatibility with gnulib.
264         All uses changed.
265         (time_stamp): Now struct timespec, not time_t.  All uses changd.
266         (remove_oftime): Now volatile.
267         (reset_times): Remove; now done by futimens.
268         (usage): Remove.
269         (try_help): New function.
270         (help, license): Don't output date as part of version.
271         A version number suffices.
272         (help): Redo help message to match style of coreutils etc.
273         (version): Don't bother printing compile-time configuration info
274         like STDC_HEADERS.
275         (main): Don't assume strlen (argv[0]) < INT_MAX (!).
276         On usage errors, suggest --help without outputting all the help.
277         (main, do_list): Remove unnecessary casts.
278         (treat_stdin, treat_file, get_method, copy_stat):
279         Support sub-second time stamp resolution.
280         (treat_file, copy_istat): Close some race conditions if files are
281         renamed as we read or write them.
282         (treat_file): Do not attempt to reset the access times of
283         directories that we read.
284         (open_and_stat, open_input_file): New functions.
285         (do_stat, get_istat): Remove; most of the contents went to these new
286         functions.
287         (make_ofname): Don't use WARN, as it affects exit status.
288         (get_method): When the original file name was truncated,
289         restore from its base name, not from its full name.
290         (do_list): Avoid undefined behavior with out-of-range time stamps.
291         ctime, for example, cannot be invoked on arbitrary time stamps safely,
292         since it might overrun an internal buffer.  Do not assume that
293         localtime succeeds.
294         (copy_stat): Do not remove input file; that's now the caller's
295         responsibility.  This avoids a problem if there is a write error
296         when the caller closes the output file.
297         (treat_dir): New arg FD, to avoid a race condition.  All uses changed.
298         (remove_output_file): New function.
299         (abort_gzip): Use it.
300         (abort_gzip_signal): New function, which is async-signal-safe.
301         Exit with the signal that we got.
302         * gzip.h (program_name, time_stamp, abort_gzip): Adjust decls to
303         match gzip.c changes.
304         * inflate.c (huft_build): Return 2 if null input.
305         * tailor.h (HAVE_UTIME): Do not define; gnulib does this now.
306         (OPEN): Use open_safer, not plain open.
307         * unlzh.c (NPT): Set to 1<<TBIT, not to the maximum of NT and NP.
308         (make_table): Report an error if 1<<tablebits < nextcode.
309         (read_pt_len): Report an error if 16 < c.
310         * unpack.c (read_tree): Report an error if the tree has too many
311         leaves while reading it.  Fix off-by-one error in final check.
312         * util.c: Include <xalloc.h>, for xalloc_die decl.
313         (gzip_base_name): Renamed from base_name, so we don't collide
314         with gnulib.  All uses changed.
315         (add_envopt): Use xstrdup instead of xmalloc+strcpy.
316         Use xcalloc rather than calloc + check.
317         (gzip_error): Renamed from error, so we don't collide with gnulib.
318         All uses changed.
319         (xalloc_die): New function.
320         (xmalloc): Remove; no longer needed.
321         * zip.c (zip): Watch for time stamp overflow; the old code
322         mishandled negative time stamps.
324         * gzexe.in: Add support for --help, --version, --.
325         Don't call basename or sed if we can avoid it.
326         * zdiff.in: Likewise.
327         * zforce.in: Likewise.
328         * zgrep.in: Likewise.
329         * zless.in: Likewise.
330         * zmore.in: Likewise.
331         * znew.in: Likewise.
332         * zdiff.in: Protect against file names beginning with "-".
333         * zmore.in: Likewise.
334         * zgrep.in: Use printf rather than echo, to avoid problems with
335         leading "-" and backslash.  Return status of subsidiary grep.
336         * zless.in: Add copyright notice.
338         * zless.1: We now pass "--" to LESSOPEN.
339         (BUGS): Mention that input file arguments are required.
340         Add copyright notice.
342         * COPYING: Update to current version.
344         * Makefile.am (SUBDIRS): New macro.
345         (AUTOMAKE_OPTIONS): Remove; now done in configure.ac.
346         (M4DIR, ACINCLUDE_INPUTS): Remove.
347         (EXTRA_DIST): Remove getopt.h.
348         (gzip_SOURCES): Remove getopt.c, getopt1.c, yesno.c.
349         (gzip_LDADD): Change from @LIBOBJS@ to lib/libgzip.a.
350         (AM_MAKEINFOFLAGS, info_TEXINFOS, gzip_TEXINFOS, ASCPP, LN_S):
351         (match.$(OBJEXT)): Move to subdirectory makefiles.
352         (.in): Substitute @VERSION@, too.
353         (check-local): New rule.
354         (MOSTLYCLEANFILES): Add _match.S.
356         * doc/gzip.texi: Renamed from gzip.texi.  Change to GNU FDL
357         without invariant sections or cover texts.  Don't put
358         version number or date into sample gzip -h output.
359         * lib/match.c: Renamed from match.c.  Add ia64 version
360         written by Sverre Jarp (HP Labs).
362         * INSTALL: Remove from CVS; now created automatically by
363         the bootstrap script.
364         * Makefile.in: Likewise.
365         * aclocal.m4: Likewise.
366         * config.h.in: Likewise.
367         * configure: Likewise.
368         * depcomp: Likewise.
369         * fdl.texi: Likewise.
370         * getopt.c: Likewise.
371         * getopt.h: Likewise.
372         * getopt1.c: Likewise.
373         * gzip.doc: Likewise.
374         * gzip.info: Likewise.
375         * install-sh: Likewise.
376         * mdate-sh: Likewise.
377         * missing: Likewise.
378         * mkinstalldirs: Likewise.
379         * rpmatch.c: Likewise.
380         * stamp-vti: Likewise.
381         * texinfo.tex: Likewise.
382         * version.texi: Likewise.
383         * yesno.c: Likewise.
385 2002-09-30  Paul Eggert  <eggert@twinsun.com>
387         * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
388         Revision 1.3.5, dated today.
390         * util.c (fprint_off): Fix bug in printing values greater than
391         10 * 2**32 bytes.  Bug reported by Bryan Andersen.
393         * Makefile.am (match.$(OBJEXT)): Use .S as extension for $(ASCPP),
394         to keep gcc happy.
395         * configure.in: Likewise.
396         Upgrade assembly-language checking for Autoconf 2.54, using cache vars.
397         (AC_PROG_CPP, AC_OBJEXT): Add.
399         * match.c: Accept __i386 and __i386__ as synonyms for i386.
400         Bug reported by "fork __" <bouloumag@hotmail.com>.
402 2002-09-29  Paul Eggert  <eggert@twinsun.com>
404         * gzip.texi (Overview): Suggest how to use gunzip on zip files.
406         * zless.1, zless.in: Use LESSOPEN, not PAGER.
407         Suggested by <antos@MAST.queensu.ca>.
409 2002-09-28  Paul Eggert  <eggert@twinsun.com>
411         * zforce.in: Use shell pattern matching instead of 'expr', which
412         mishandles names like "+".  Remove old check for 14-byte file
413         names on hosts with broken "mv" implementations, as such systems
414         aren't in use any more and it's better nowadays to support file
415         names longer than 14 bytes.  Rely on "mv"'s error-reporting.
416         This fixes a portability bug reported by Ralf Neubauer, along
417         with some other bugs.
419         Remove dangling output symlinks properly.
420         Bug reported by Kalle Olavi Niemitalo.
421         * gzip.c (lstat): New macro, for platforms lacking lstat.
422         (do_stat): Use it.
423         (name_too_long, check_ofname): Use lstat instead of stat.
425 2002-09-27  Paul Eggert  <eggert@twinsun.com>
427         * zforce.in: Use "gzip -lv", not "gzip -v".  Patch by Ralf
428         Neubauer.
430         * configure.in (ASCPP): Don't use test -a, as POSIX says it's
431         not portable.
432         * znew.in: Likewise.
433         * zmore.in: Likewise.  Similarly, don't use test -o, or test -t
434         with no operand.
436         * gzexe.in (PATH): Set to same as other programs.
437         Don't assume "tail +22" works; POSIX removed this.
438         Check against compressing "tail".
439         Check against "skip=" line with no integer.
440         * zgrep.in: Exit with status 2 if trouble, for consistency with grep.
442         * gzip.c (main): Avoid core dump in diagnostic message if
443         incorrect suffix is given.
445 2002-09-26  Paul Eggert  <eggert@twinsun.com>
447         * zdiff.in: Use "trap -" instead of "trap".  Patch by Nicolas Boullis.
448         Use names, not numbers, for signals.  Patch by Andrew Stribblehill.
450         * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
451         Revision 1.3.4, dated today.
453         * README-alpha: Upgrade to Autoconf 2.54 and Automake 1.7.
454         * configure.in (AC_PREREQ): Move to start, and increase to 2.54.
455         (AC_INIT, AM_INIT_AUTOMAKE, AC_CONFIG_SRCDIR, AC_CONFIG_FILES,
456         AC_OUTPUT): Use modern style.
457         (AC_OBJEXT, AC_EXEEXT): Remove; obsolete.
458         (AC_GNU_SOURCE): Add.
459         (AC_HEADER_STDC): Renamed from AC_STDC_HEADERS.
460         (AC_CHECK_HEADERS): Remove stdlib.h, string.h, unistd.h; now done
461         by Autoconf.
462         (AC_SUBST): Remove CFLAGS; now done by Autoconf.
464         * gzip.texi: Use the GNU FDL for distribution terms, following the
465         recipe in the Texinfo manual.  Use Automake-generated variables
466         for date and version.
467         * fdl.texi, mdate-sh: New files.
468         * Makefile.am (AM_MAKEINFOFLAGS): Add --no-split.
469         (gzip_TEXINFOS): New macro.
471         * tailor.h (NO_DIR): Define to 1, not the empty string.
472         * gzip.c (NO_DIR): Define to 0 if not defined.  All uses changed.
473         (usage): Don't put '#if' inside printf, as the C standard says
474         that it is not portable if printf is a macro.
476         Don't lose output when decompressing truncated input.
477         Bug reported by Nadav Har'El.
478         * inflate.c (GETBYTE): New macro.
479         (NEXTBYTE): Use it.
480         (inflate_dynamic, inflate_block): Add a local variable w, needed
481         by GETBYTE.
483 2002-03-08  Paul Eggert  <eggert@twinsun.com>
485         * NEWS, README, revision.h, gzip.texi,
486         configure.in (AM_INIT_AUTOMAKE): Revision 1.3.3, dated today.
488         * README-alpha: Now using latest stable GNU tools.
489         Using the latest tools allows gzip to build correctly on hosts
490         conforming to POSIX 1003.1-2001.
492         * configure.in (match): Use AC_LIBOBJ; Autoconf 2.53 requires it.
493         (LIBOBJS): No longer need to subst, since AC_LIBOBJ does it.
494         (AC_PREREQ): Bump to 2.53.
496         * Makefile.am (install-exec-hook, remove-installed-links):
497         Work even when configured with --program-transform-name.
499         * gzip.c (license_msg): Update copyright.
500         (z_len): Now of type size_t.
502 2001-11-03  Paul Eggert  <eggert@twinsun.com>
504         * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
505         Revision 1.3.2, dated today.
507         * Makefile.am (LN_S): New macro.
508         (install-exec-hook): Depend on remove-installed-links.
509         Affect $(DESTDIR)$(bindir), not just $(bindir).
510         (uninstall-local, remove-installed-links): New rules.
511         * README-alpha: This release built with autoconf 2.52f.
512         * TODO: Add rsync patch.
513         * configure.in: Add AC_PREREQ(2.52) and AC_PROG_LN_S.
514         * gzip.1, zmore.1: Fix troff glitches, using Eric S. Raymond's
515         suggestions for inspiration.
516         * m4/shell.m4(AC_PROG_SHELL): Add commentary and cleanup.
518         * gzip.texi, gzip.1: Add pointers to RFCs 1951 and 1952.
519         Mention that gzip --list reports file sizes modulo 2^32.
520         * gzip.1: Remove incorrect report of 2 GB bug.  Add copyright notice.
522 2001-09-30  Paul Eggert  <eggert@twinsun.com>
524         * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
525         Revision 1.3.1, dated today.
527         * INSTALL, getopt.c, getopt.h, getopt1.c, install-sh, missing,
528           mkinstalldirs, texinfo.tex:
529         Sync with latest version in other packages.
531         * acinclude.m4, config.guess, config.sub: Remove.
532         * depcomp, rpmatch.c, yesno.c: New files.
534         * ChangeLog, README, NEWS, TODO, configure.in, zgrep.in, zmore.in:
535         Add copyright notice.
537         * Makefile.am (ACLOCAL_AMFLAGS): New macro.
538         (ACINCLUDE_INPUTS): Remove all but shell.m4.
539         ($(srcdir)/acinclude.m4): Remove.
540         (gzip_sources): Add yesno.c.
542         * TODO: Add i18n.
544         * configure.in (AC_CANONICAL_HOST): Remove.
545         (AC_AIX, AC_MINIX): Move earlier.
546         (AC_REPLACE_FUNCS): Add rpmatch.
548         * gzip.c (main):
549         Report error if -b operand is not a nonnegative integer.
550         (treat_file): Don't assume tab width is 8, or that characters are
551         one column wide.
552         (make_ofname): Use WARN to warn about unchanged files.
553         (get_method): "get newer version of gzip" -> "not supported"
554         (check_ofname): Use yesno instead of checking for 'y' ourselves.
555         (treat_file): Do not assume link count fits in int.
557         * gzip.h (yesno): New decl.
559         * util.c (display_ratio): Use floating point to compute ratio:
560         this avoids problems with integer overflow.
562         * zgrep.in: Add support for --, -H, -h, -L, -l, -C, -d, -m and
563         their long equivalents.  Warn that -r and -d are not supported.
565         * zmore.in:
566         Check that file is readable before attempting to decompress it.
568 2000-10-09  Paul Eggert  <eggert@twinsun.com>
570         * configure.in (AC_CHECK_FUNCS): Add lstat.
572 2000-07-20  Paul Eggert  <eggert@twinsun.com>
574         Use a POSIX-compliant shell instead of /bin/sh.
575         Idea suggested by Albert Chin-A-Young <china@thewrittenword.com>.
577         * m4/shell.m4: New file.
578         * configure.in (AC_PROG_SHELL): Add it.
579         * Makefile.am (ACINCLUDE_INPUTS): Add $(M4DIR)/shell.m4.
580         (.in): Replace /bin/sh with $(SHELL).
582 2000-04-17  Bruno Haible  <haible@clisp.cons.org>
584         * Makefile.am (install-exec-hook): If hard links fail, try symlinks.
586 2000-04-02  Jim Meyering  <meyering@ascend.com>
588         * Makefile.am (install-exec-hook): Remove link targets before
589         installing.
591 2000-01-02  Albert Chin-A-Young  <china@thewrittenword.com>
593         * gzip.texi: Add direntry.
595 1999-12-21  Paul Eggert  <eggert@twinsun.com>
597         * NEWS, README, revision.h, gzip.texi: Revision 1.3, dated today.
598         * gzip.c (license_msg, usage, version, help, license):
599         Adjust to current GNU coding standards.
600         (total_in, total_out): Remove unnecessary initialization.
601         * zip.c (file_read): Report read errors.
602         * util.c (fill_inbuf): Likewise.
603         * gzip.c (main): Don't assume EOF == -1.
604         * unlzw.c (unlzw): Likewise.
605         * util.c (copy, fill_inbuf): Likewise.
607 1999-11-18  Paul Eggert  <eggert@twinsun.com>
609         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS):
610         Work around a bug in the QNX shell, which doesn't
611         propagate exit status of failed commands inside shell assignments.
613 1999-10-07  Paul Eggert  <eggert@twinsun.com>
615         * NEWS, README, revision.h, gzip.texi:
616         Revision 1.2.4294967306 dated today.  This is the successor to
617         revision 1.2.4.4294967305; automake requires the new (shorter) number.
619         Convert to automake.
621         * Makefile.am, gunzip.1, zcat.1, zcmp.1, AUTHORS: New files.
623         * revision.h (VERSION): Remove; moved to config.h.
625         * configure.in (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER,
626         AC_CANONICAL_HOST, AC_OBJEXT): Add.
627         (AC_PROG_CPP): Remove.
628         (AC_SYS_LARGEFILE): Add, replacing older inline code.
629         (ASCPP): Use $OBJEXT.
630         (LIBOBJS): Add match.o if needed.
631         (AC_PROG_INSTALL): Remove.
632         (AC_EXT, AC_C_CONST): Add.
633         (AC_CHECK_HEADERS): Add, replacing lots of AC_HEADER_CHECKs.
634         All instances of defined(NO_TIME_H) changed to !defined(HAVE_TIME_H),
635         etc.
636         (AC_CHECK_FUNCS): Add utime.
637         (SEDCMD): Use $interpval, not $ac_cv_sys_interpreter.
638         (AC_PREFIX_PROGRAM): Add, replacing AC_PREFIX.
639         (ZCAT, G): Remove.
640         (LIBOBJS): Add.
641         (OBJA): Remove; LIBOBJS now does this.
643         * bits.c, gzip.c, deflate.c, inflate.c, lzw.c, trees.c, unlzh.c,
644         unlzw.c, unpack.c, unzip.c, util.c, zip.c: Include <config.h>
645         first; this is needed for proper large-file support, given the new
646         way of configuring large files.
648         * gzip.c: Include <sys/types.h>; Ultrix needs this.
649         (TIME_OPT): Use STRUCT_UTIMBUF instead of empty string.
650         (help): Add bug-report address.
651         (do_stat): Depend on HAVE_LSTAT, not S_IFLNK, S_ISLNK, and NO_SYMLINK.
653 1999-06-25  Paul Eggert  <eggert@twinsun.com>
655         * inflate.c (huft_build):
656         Set n to length of v, to detect improper tables.
657         Don't accidentally grow j past z.
659 1999-06-24  Paul Eggert  <eggert@twinsun.com>
661         * Makefile.in (check): Update texinfo.tex size.
663         * configure.in (ASMV):
664         Define with AC_DEFINE; do not manipulate DEFS directly,
665         as this doesn't work with recent autoconf versions.
667 1999-02-06  Paul Eggert  <eggert@twinsun.com>
669         * NEWS, README, revision.h, gzip.texi: Revision 1.2.4.4294967305,
670         dated today.  This merges the changes from gzip 1.2.4a, which fix
671         some typographical errors in the documentation and update the
672         bug-reporting address.
674 1999-01-27  Paul Eggert  <eggert@twinsun.com>
676         * NEWS, README, revision.h (VERSION, REVDATE):
677         Revision 1.2.4.4294967304, dated today.
679         Port to autoconf 2.13.
681         * Makefile.in (next, next-fat, coherent):
682         Update dirent headers to match Autoconf 2.13.
683         * configure.in (AC_RETSIGTYP): Remove; superseded by AC_TYPE_SIGNAL.
684         (AC_DYNIX_SEQ, AC_XENIX_DIR, AC_DIR_HEADER): Remove; superseded by
685         AC_HEADER_DIRENT.
686         * tailor.h (HAVE_DIRENT_H, HAVE_SYS_DIR_H):
687         Define instad of DIRENT, SYSDIR.
688         * gzip.c (NAMLEN): Renamed from NLENGTH. Depend on Autoconf 2.13 names
689         HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H
690         instead of the oldfashioned names DIRENT, SYSDIR, SYSNDIR, NDIR.
691         (CLOSEDIR): New macro.
692         (progerror): New function.
693         (treat_stdin, treat_file, creat_outfile, get_istat, check_ofname,
694         treat_dir): Use it, for brevity.
695         (treat_dir): Report any I/O errors when reading directories.
697         * COPYING, INSTALL, doc/texinfo.tex, install-sh:
698         Update to latest public versions.
700 1998-11-18  Paul Eggert  <eggert@twinsun.com>
702         * NEWS, README, revision.h (VERSION, REVDATE):
703         Revision 1.2.4.4294967303, dated today.
705         * gzip.c (get_method): Don't complain about trailing zeros at
706         the end of a gzipped file, as they're commonly appended to fill
707         out a block (e.g. by GNU tar).
709         * configure.in (CPPFLAGS, LDFLAGS, LIBS): Add large-file support
710         for HP-UX 10.20 and later.
712         * getopt.c, getopt.h, texinfo.tex: Sync with latest version at gnu.org.
713         * getopt1.c: New file.
714         * Makefile.in (SRCS): Add getopt1.c.
715         (OBJS): Add getopt1$O.
716         (getopt1$O): New dependency.
717         (check): Adjust desired size of compressed texinfo.tex to 55637,
718         to reflect the 1998-11-13 edition of texinfo.tex.
720         * gpl.texinfo: Remove; its addresses were out of date and
721         these days the GPL isn't reprinted in manuals anyway.
722         * gzip.texi: Remove reference to gpl.texinfo.
723         * Makefile.in (GENFILES): Remove gpl.texinfo.
725 1998-11-13  Paul Eggert  <eggert@twinsun.com>
727         * NEWS, README, revision.h (VERSION, REVDATE):
728         Revision 1.2.4.4294967302, dated today.
730         * gzip.c (input_eof): New function.
731         (treat_stdin, treat_file): Use it to fix premature detection of EOF
732         bug when a gzipped file concatenation boundary is at a multiple of
733         INBUFSIZ.
735         * Makefile.in (installman): Fix bug when installing from subdirectory.
736         ($(srcdir)/gzip.info): Renamed from gzip.info.
737         ($(srcdir)/gzip.info, realclean): Do not split gzip.info.
739 1998-10-26  Paul Eggert  <eggert@twinsun.com>
741         * NEWS, README, revision.h (VERSION, REVDATE):
742         Revision 1.2.4.4294967301, dated today.
744         * TODO: Update bug reporting address.
746         * Makefile.in (datadir, libdir): Remove unused macros.
747         (mandir): Let configure set it.
748         (manextdir): New macro.
749         (alldirs): Remove datadir, libdir; add manextdir.
750         (TEXI2HTML): New macro.
751         (installman, uninstall): Install into manextdir, not mandir.
752         (install-strip): New rule.
753         (installdirs): No need to build $(prefix)/man separately,
754         as it's now in alldirs.
755         (match$O): Compile with $(CFLAGS).
756         (gzip_1.html): New rule.
758         * gzip.c (get_istat): Remove lint by initializing z_suffix_errno.
759         (check_ofname): Do not assume unsigned char.
761         * util.c (strlwr): Don't assume char is unsigned.
762         (warning): Renamed from `warn'.
764         * gzip.h (tolow): Use tolower instead of relying on 'A'-'a'.
765         (warning): Renamed from warn.
767         * trees.c (warning): Renamed from warn.
769 1998-10-14  Paul Eggert  <eggert@twinsun.com>
771         Merge patches from Debian.
773         * NEWS, README, revision.h (VERSION, REVDATE):
774         Revision 1.2.4.4294967300, dated today.
776         * README, algorithm.doc, gzip.texi: Update maintainer address.
778         * gzexe.in, zdiff.in, znew.in:
779         Close security hole portably, using `set -C'.
781         * zgrep.in: Add -A, -B.
783         * gzexe.in: Use `gzip', not full path, to run gzip.
785         * zdiff.in: Report proper exit status.
787         * gzip.h (base_name): Renamed from basename.  All uses changed.
789         * gzip.c (z_suffix): Now char *, so that there's no limit to length.
790         All uses change.
791         (main): If --quiet, abort gzip when SIGPIPE received.
792         (get_suffix): Don't assume z_suffix's address is a constant.
793         (get_istat): Likewise.
794         Check for buffer overflow.
795         Preserve errno correctly.
796         (make_ofname): Check for buffer overflow.
798         * util.c (fill_inbuf): Flush window before reporting read error.
800         * inflate.c (inflate_dynamic): Don't dump core if tl == NULL.
802         * Makefile.in (GENFILES): Add zless.in.
803         (SCRIPTS): Add zless.
804         (default): Build all programs, not just gzip.
805         (all): Add zless.
806         (installbin): Install zegrep, zfgrep.
807         (installman): Install zless man page.
808         (install_compress): Don't install compress.
809         (zless): New rule.
811 1998-09-16  Paul Eggert  <eggert@twinsun.com>
813         * NEWS, README, revision.h: Bump version number to 1.2.4.4294967299.
815         * tailor.h (UNLINK_READONLY_BUG): New macro.
816         * gzip.h (unlink): New decl.
817         * util.c (xunlink): New function.
818         * gzip.c
819         (treat_file, create_outfile, check_ofname, copy_stat, abort_gzip):
820         Use xunlink rather than unlink.
821         Do not chmod the file; xunlink will do that if need be.
823 1998-05-21  Paul Eggert  <eggert@twinsun.com>
825         * NEWS, README, revision.h: Bump version number to 1.2.4.4294967298.
826         * Makefile.in (prefix): Set from @prefix@.
827         (distclean): Remove config.cache.
829 1998-01-15  Paul Eggert  <eggert@twinsun.com>
831         * NEWS, README, revision.h:
832         Bump version number to indicate large-file support.
834 1997-10-08  Paul Eggert  <eggert@twinsun.com>
836         * gzip.c (CHAR_BIT): Define if <limits.h> doesn't.
837         (OFF_T_MIN, OFF_T_MAX): New macros.
838         (do_list): Revert to fixed format, but this time don't assume
839         that 9 digits suffice; use a width taken from the maximum value
840         that off_t can represent.
841         (off_t): Do not typedef; autoconf handles this now.
842         * gzip.c, util.c (<limits.h>): Include if HAVE_LIMITS_H.
843         * gzip.h, util.c (fprint_off): Now takes int width argument.
844         * configure.in (AC_HAVE_HEADERS): Check for limits.h.
845         (AC_TYPE_OFF_T): Use this instead of grepping sys/types.h for off_t.
846         (AC_TYPE_SIZE_T): Use this instead of obsolescent AC_SIZE_T.
847         * tailor.h (NO_OFF_T): Remove.
848         (off_t): Define this instead.
850 1997-10-03  Paul Eggert  <eggert@twinsun.com>
852         * Makefile.in, bits.c, configure.in, deflate.c, gzip.c, gzip.h,
853         inflate.c, trees.c, unlzw.c, unpack.c, unzip.c, util.c, zip.c:
854         Adjust to Solaris 2.6, which has large files but small off_t by default.
855         * gzip.c: Output more reasonable message if input file is too large.
856         * gzip.c, util.c: Propagate errno from point of error to `perror'.
857         * unzip.c: Allow uncompressing files larger than 4 gigabytes.
858         http://www.gzip.org/4g.patch (1996-07-21)
860 Wed Aug 18 09:34:23 1993  Jean-loup Gailly  (jloup@chorus.fr)
862         * version 1.2.4
863         By default, do not restore file name and timestamp from those saved
864           inside the .gz file (behave as 'compress'). Added the --name option
865           to force name and timestamp restoration.
866         Accept - as synonym for stdin.
867         Use manlinks=so or ln to support either hard links or .so in man pages
868         Accept foo.gz~ in zdiff.
869         Added support for Windows NT
870         Handle ENAMETOOLONG for strict Posix systems
871         Use --recursive instead of --recurse to comply with Webster and
872           the GNU stdandard.
873         Allow installation of shell scripts with a g prefix: make G=g install
874         Install by default zcat as gzcat if gzcat already exists in path.
875         Let zmore behave as more when invoked without parameters (give help)
876         Let gzip --list reject files not in gzip format even with --force.
877         Don't complain about non gzip files for options -rt or -rl.
878         Added advice in INSTALL for several systems.
879         Added makefile entries for NeXTstep 3.1 (if configure fails)
880         Avoid problem with memcpy on Pyramid (gave crc error on some files)
881         Support the -r option when compiled with Borland C++ on msdos.
882         Force lower case file names only for FAT file systems (not HPFS)
883         Rewrite one expression in inflate.c to avoid cc bug on Solaris x86.
884         In the msdos makefiles, get match.asm from the msdos subdirectory.
885         Catch SIGTERM and SIGHUP only if they are not ignored.
886         getopt.c: on Amiga, "#if !defined(const)" does not compile.
887         Use register parameters on Amiga.
888         Do not force names to lower case on Amiga.
889         Fix support of Atari TOS (Makefile.st and tailor.h)
890         In unlzw.c, do not suggest using zcat if zcat already used.
891         In INSTALL, suggest using bsdinst for HPUX.
892         Document Turbo C++ 1.0 bug in INSTALL.
893         Improved the documentation relative to the --no-name option.
894         Avoid signed/unsigned warnings in several files.
895         Added pointer to jka-compr19.el in README.
896         Added pointer to OS/2 executables in README.
897         Added --block-compress in tar -z example (gzip.1 and gzip.texi).
898         Don't keep rcsid in executable (avoid compilation warnings).
899         Check also the correctness of the first byte of an .Z file.
900         Return non zero status for an invalid option.
901         Remove "NEWFILES" from os2/gzip.def for Borland C++ on OS/2.
902         Remove "time stamp restored" message (just obey the -N request).
904 Thu Jun 24 10:27:57 1993  Jean-loup Gailly  (jloup@chorus.fr)
906         * version 1.2.3
907         Don't display the output name when decompressing except with --verbose.
908         Remove usage of alloca in getopt.c and all makefiles.
909         Use ASCPP instead of CPP to avoid breaking AC_HEADER_CHECK on RiscOS.
910         Added the zfile shell script in subdirectory sample.
911         Moved the list of compiler bugs from README to INSTALL.
912         Added vms/Readme.vms.
913         Fix DIST_BUFSIZE check in unlzh.c for 16 bit machines.
914         Fix REGSIGTYP macro in configure.in.
915         Use 'define' instead of == in vms/gzip.hlp.
916         Avoid warnings in unlzh.c
917         Allow separate installation of binaries and man pages.
918         Simplified handling of file names with spaces in zgrep and znew.
919         Fix dependencies and remove rule for trees.c in amiga/Makefile.sasc
920         Add missing quote in gzexe.
922 Thu Jun 17 13:47:05 1993  Jean-loup Gailly  (jloup@chorus.fr)
924         * version 1.2.2
925         Fix a compilation error in gzip.c on Sun with cc (worked with gcc).
927 Wed Jun 16 11:20:27 1993  Jean-loup Gailly  (jloup@chorus.fr)
929         * version 1.2.1
930          Let zmore act as more if the data is not gzipped.
931          By default, display output name only when name was actually truncated.
932          Use absolute path names in gzexe'd programs for better security.
933          In gzexe, use chmod 700 instead of 755 and don't gzexe tail,rm,etc...
934          Update vms/gzip.hlp.
935          Added a note about the fast options (-1 to -3) in algorithm.doc.
936          Improved man page for zgrep.
937          Minor fixes to gzip.texi.
938          Always set LC_ALL and LANG in configure (for tr on HPUX)
940 Mon Jun 14 10:03:24 1993  Jean-loup Gailly  (jloup@chorus.fr)
942         * version 1.2
943          Added the --list option to display the file characteristics.
944          Added the --no-name option: do not save or restore original filename
945            Save the original name by default.
946          Allow gunzip --suffix "" to attempt decompression on any file
947            regardless of its extension if an original name is present.
948          Add support for the SCO compress -H format.
949          gzip --fast now compresses faster (speed close to that of compress)
950            with degraded compression ratio (but still better than compress).
951            Default level changed to -6 (acts exactly as previous level -5) to
952            be a better indication of its placement in the speed/ratio range.
953          Use smart name truncation: 123456789012.c -> 123456789.c.gz
954            instead of 12345678901.gz
955          With --force, let zcat pass non gzip'ed data unchanged (zcat == cat)
956          Added the zgrep shell script.
957          Made sub.c useful for 16 bit sound, 24 bit images, etc..
958          Supress warnings about suffix for gunzip -r, except with --verbose.
959          Moved the sample programs to a subdirectory sample.
960          On MSDOS, use .gz extension when possible (files without extension)
961          Added a "Special targets" section in INSTALL.
962          Use stty -g correctly in zmore.in.
963          Use cheaper test for gzipness in zforce.in.
964          Remove space before $ in match.S (no longer accepted by gas 2.x)
965          For the shell scripts, do not assume that gzip is in the path.
966          Fix syntax error and define lnk$library in vms/Makefile.mms
967          REGSIGTYPE is void on the Amiga.
968          Do not write empty line when decompressing stdin with --verbose.
969          Fix the 1.1.2 fix for VMS (bug in get_suffix)
970          Added warning in README about compiler bug on Solaris 2.1 for x86.
971          Added warning about 'rehash' in INSTALL.
972          Removed default value of read_buf in bits.c (supermax doesn't like).
973          In tailor.h, added support for Borland C and Zortech C on OS/2.
974          Added warning in gzexe about Ultrix buggy sh (use /bin/sh5 instead).
975          Added warning in zdiff about AIX buggy sh (use /bin/ksh instead).
976          In configure.in, do not try the asm code if DEFS contains NO_ASM
978 Fri Jun  4 09:49:33 1993  Jean-loup Gailly  (jloup@chorus.fr)
980         * version 1.1.2
981          Fix serious bug for VMS (-gz not removed when decompressing).
982          Allow suffix other than .gz in znew.
983          Do not display compression ratio when decompressing stdin.
984          In zmore.in, work around brain damaged stty -g (Ultrix).
985          Display a correct compression ratio for .Z files.
986          Added .z to .gz renaming script in INTALL.
987          Allow setting CFLAGS in configure.
988          Add warning in README about bug in Concentrix cc compiler.
989          Avoid || in Makefile.in (at least one make doesn't support this).
990          Disable useless --ascii option for the Amiga.
991          Add a pointer to the Primos executable in README.
992          Added description of extra field in algorithm.doc.
993          Do not redefine NULL in alloca.c.
994          Added check for unsupported compression methods.
995          Avoid getopt redeclaration on OSF/1.
997 Tue Jun  1 09:07:15 1993  Jean-loup Gailly  (jloup@chorus.fr)
999         * version 1.1.1
1000          Fix serious bug in vms.c (== instead of =).
1001          Added --ascii option.
1002          Add workaround in configure.in for Ultrix (quote eval argument)
1003          Do not use unset in znew (not supported on Ultrix)
1004          Use tar.gz instead of tar.z for the distribution of gzip.
1005          Add missing menu item in gzip.texi.
1006          Use size_t instead of unsigned, add AC_SIZE_T in configure.in.
1008 Fri May 28 11:40:01 1993  Jean-loup Gailly  (jloup@chorus.fr)
1010         * version 1.1
1011          Use .gz suffix by default, add --suffix option.
1012          Let gunzip accept a "_z" suffix (used by one 'compress' on Vax/VMS).
1013          Quit when reading garbage from stdin instead of reporting an error.
1014          Added sub.c and add.c for compression of 8 bit images.
1015          Added makefile for VAX/MMS and support for wildcards on VMS.
1016          Added support for MSC under OS/2.
1017          Added support for Prime/PRIMOS.
1018          Display compression ratio also when decompressing.
1019          Quit after --version (GNU standard)
1020          Use --force to bypass isatty() check.
1021          Accept --silent as synonym for --quiet (see longopts.table)
1022          Accept --to-stdout as synonym for --stdout (see longopts.table)
1023          Accept -H and -? in addition to -h and --help.
1024          Added comparison of zip and gzip in the readme file.
1025          Return an error code in all main compression/decompression functions.
1026          Continue processing other files in case of recoverable error.
1027          Add description of -f in znew.1.
1028          Do not keep uncompressed version for znew -t if .gz already exists.
1029          On Unix, use only st_ino and st_dev in same_file().
1030          Use S_IRUSR and S_IWUSR if they exist.
1031          "test $1 = -d" -> "test x$1 = x-d" in gzexe.
1032          In match.S, use symbol sysV68 to detect the Motorola Delta.
1033          Do not include memory.h with gcc (conflicting declarations on Sun).
1034          Fix more typos.
1035          On VMS, define unlink as delete also for gcc.
1036          In "make check", unset LANG because "wc -c" fails on Kanji.
1037          Renamed shdir as scriptdir.
1038          Use the 68020 code instead of 68000 code on the NeXT.
1039          Documented --uncompress as synonym for --decompress.
1040          Include the standard header files before gzip.h (needed on Bull).
1041          Do not assume that _POSIX_VERSION implies dirent.h present.
1042          Removed gzip-tar.patch since tar 1.11.2 handles gzip directly.
1043          Use less memory when compiled with -DSMALL_MEM (for MSDOS).
1044          Optimized updcrc().
1045          Don't complain if cc -E does not work correctly.
1046          Do not attempt reading 64K bytes on 16 bit Unix systems.
1047          Do not use the variable name 'overhead' which is reserved on Lynx!
1048          One BULL compiler does not like *p++ in inflate.c => *p, p++.
1049          Use casts on free and memcmp to avoid warnings.
1050          Remove the "off by more than one minute" time stamp kludge, but
1051            document how to avoid saving the time stamp on pipes if desired.
1052          Include crypt.h in inflate.c (one system predefines the CRYPT symbol).
1053          Add links to gunzip and (g)zcat in the default make rule.
1054          Create installation directories if they do not exist.
1055          Clarified --prefix option in INSTALL.
1056          Use symbol mc68k in match.S for the DIAB DS90.
1057          Guard against zero length _match.s in configure.in.
1058          In zmore, restore all tty options using stty -g.
1059          Added support for MacOS
1060          Simplified makecrc.c.
1061          Avoid warnings in getopt.c, util.c, unlzw.c.
1062          Use autoconf 1.4, in particular for INSTALL and AC_HAVE_POUNDBANG
1063          Use .so instead of hard links for zcat.1, gunzip.1 and zcmp.1.
1064          Fixed declration of sig_type.
1065          Make consistency check in fcfree.
1066          Added ztouch.
1067          Do not complain if utime fails on a directory (for OS/2).
1069 Thu Mar 18 18:56:43 1993  Jean-loup Gailly  (jloup@chorus.fr)
1071         * version 1.0.7
1072           Allow zmore to read from standard input (like more).
1073           Support the 68000 (Atari ST) in match.S.
1074           Retry partial writes (required on Linux when gzip is suspended in
1075             a pipe).
1076           Allow full pathnames and renamings in gzexe.
1077           Don't let gzexe compress setuid executables or gzip itself.
1078           Added vms/Makefile.gcc for gcc on the Vax.
1079           Give a pointer to Solaris and VMS executables of gzip in README.
1080           Allow installation of binaries and shell scripts in different dirs.
1081           Do not use alloca on the Cray.
1082           Provide strspn and strcspn if string.h does not exist.
1083           Define O_CREAT and O_EXCL from FCREAT and FEXCL if necessary.
1084           Remove gzip.doc in make realclean.
1085           Fixed many typos. (Corrections to my English are welcome.)
1086           Put "make manext=l install" at the correct place in INSTALL.
1087           Fix incorrect examples in INSTALL and give more examples.
1088           Include zdiff.1 for install and uninstall.
1089           Allows complex PAGER variable in zmore (e.g.: PAGER="col -x | more")
1090           Avoid warning on unused indfound in getopt.c.
1091           Cast memset arg to void* (required by some buggy compilers).
1092           Include sys/types.h before dirent.h in acgeneral.m4.
1093           Fix acgeneral.m4 AC_COMPILE_CHECK to avoid warnings.
1094           Don't use alloca.c with gcc. (One NeXT user did not have alloca.h).
1095           Change all error messages according to GNU standards.
1096           Restore time stamp only if off by more than one minute.
1097           Allow installation of zcat as gzcat.
1098           Suppress help message  and send compressed data to the terminal when
1099             gzip is invoked without parameters and without redirection.
1100            (Explicit request from Noah Friedman.)
1101           Add compile option GNU_STANDARD to respect the GNU coding standards:
1102             with -DGNU_STANDARD, behave as gzip even if invoked under the
1103             name gunzip. (Complaints to /dev/null or the FSF, not to me!)
1105 Fri Mar 10 13:27:18 1993  Jean-loup Gailly  (jloup@chorus.fr)
1107         * version 1.0.6
1108           Let gzexe detect executables that are already gzexe'd.
1109           Don't try restoring record format on VMS (the simple 1.0.5 code
1110             worked correctly only on fixed-512 files). Suppress text_mode.
1111           Added asm version for 68000 in amiga/match.a.
1112           Use asm version for Atari TT.
1113           Fix "make clean" in vms/Makefile.vms.
1114           For OS/2, assume HPFS by default, add flag OS2FAT if necessary.
1115           Fixed some bugs in zdiff and define zcmp as a link to zdiff.
1116           Added zdiff.1
1117           Remove configure hack for NeXT; add general fix to autoconf instead
1118           Do not strip a ".z" extension if this results in an empty name.
1119           Avoid array overflow in get_prefix() for extensions > 10 chars.
1120           Accept either q or e to quit zmore.
1121           In zmore, try restoring tty mode in all cases.
1122           Use Motorola style for match.S on the NeXT.
1123           configure.in: unsetenv *hangs* with the Siemens csh...
1124           Update vms/gzip.hlp.
1126 Thu Mar 4 14:13:34 1993  Jean-loup Gailly  (jloup@chorus.fr)
1128         * version 1.0.5
1129           For VMS, restore the file type for variable record format, otherwise
1130             extract in fixed length format (not perfect, but better than
1131             forcing all files to be in stream_LF format).
1132           Use "-z" suffix for VMS.
1133           Use only .z, .*-z, .tgz, .taz as valid gzip extensions; update
1134            zforce accordingly.
1135           Allow a version number in input file names for VMS.
1136           Added sample program zread.c.
1137           Fix "make check" for some implementations of /bin/sh.
1138           Don't rely on stat() for filenames with extension > 3 chars
1139             on MSDOS, OS2 and Atari.
1140           Garbage collect files in /tmp created by gzexe.
1141           Quote $opt in znew.
1142           Use TOUCH env variable in znew if it exists.
1143           Better error message for gunzip on empty or truncated file.
1144           Allow prototypes in getopt.h when __STDC__ defined but 0.
1145           Added "make clean" in vms/Makefile.vms.
1146           Removed -g from default CFLAGS (with Noah's permission!)
1147           Avoid too many HAVE_xxx_H for most systems; use common defaults.
1148           Moved default Atari flags into tailor.h for consistency.
1149           Use memzero() to clear the hash table.
1150           Update vms/gzip.hlp to reflect the VMS behavior.
1151           Fix OS_CODE (to fit in a byte).
1152           Add utime.h for the Amiga.
1153           Add gcc support for the Amiga.
1154           Work around incorrect dirent.h for NeXT 2.0.
1155           Added Makefile entry for Coherent.
1157 Fri Feb 22 11:20:49 1993  Jean-loup Gailly  (jloup@chorus.fr)
1159         * version 1.0.4
1160           Added optimized asm version for 68020.
1161           Add support for DJGPP.
1162           Add support for the Atari ST.
1163           Added zforce to rename gzip'ed files with truncated names.
1164           Do not install with name uncompress (some systems rely on the
1165             absence of any check in the old uncompress).
1166           Added missing function (fcfree) in msdos/tailor.c
1167           Let gunzip handle .tgz files, and let gzip skip them.
1168           Added 'stty min 1' in zmore for SysV and fixed trap code.
1169           Suppress .PHONY in Makefile.in, which breaks old makes.
1170           Added documentation about pcat and unpack in INSTALL.
1171           Add cast to getenv for systems without stdlib.h.
1172           Use VAXC instead of VMS to avoid confusion for gcc.
1173           Add -K to znew.1.
1174           Add gzexe.1.
1175           Try preserving file permissions in gzexe.
1176           Added -d option for gzexe.
1177           Guard against spaces in file names in gzexe.
1178           Use CMP env. variable in zcmp.
1179           Return a warning exit status for gzip of file with .z suffix.
1180           Suppress usage of d_ino which is not portable to all systems.
1181           Use #ifdef instead of #if for consistency.
1182           For VMS, use "cc util.c" instead of "cc util" (pb with logical names)
1183           Added utime() for Amiga.
1184           Renamed gzcat.1 as zcat.1.
1185           Include fcntl.h for Amiga (for read and write).
1186           For VMS, add definition of symbols and links in the makefiles.
1187           Give a VMS look to vms/gzip.hlp.
1188           Save the original name only when necessary.
1189           Add a mode parameter for open in read mode (required by VMS).
1190           For VMS, remove the version suffix from the original name.
1191           Accept both / and \ as path separator for MSDOS.
1192           Let gunzip extract stored .zip files correctly.
1193           Added warning about VFC format in vms/gzip.hlp.
1194           In znew, skip a bad file but process the others.
1195           Cleanup tailor.h.
1196           Use GZIP_OPT for VMS to avoid conflict with program name.
1197           Added description of GZIP variable in gzip.texi.
1199 Thu Feb 11 17:21:32 1993  Jean-loup Gailly  (jloup@chorus.fr)
1201         * version 1.0.3
1202           Add -K option for znew to keep old .Z files if smaller.
1203           Add -q option (quiet) to cancel -v in GZIP env variable.
1204           For Turbo C, normalize pointers before freeing them.
1205           Add more safety checks in add_envopt().
1206           Add do_exit() for uniform exit path (always free memory).
1207           Reduce MAX_PATH_LEN for MSDOS.
1208           Include sys/types.h before signal.h
1209           Avoid strdup, the NeXT does not have it.
1210           Made gzexe safer on systems with filename limitation to 14 chars.
1212 Fri Feb  10 09:45:49 1993  Jean-loup Gailly  (jloup@chorus.fr)
1214         * version 1.0.2
1215           Added env variable GZIP for default options.
1216           Added support for the Amiga.
1217           znew now keeps the old .Z if it is smaller than the .z file.
1218           Added gzexe to compress rarely used executables.
1219           Reduce memory usage when using static allocation (no DYN_ALLOC).
1220           Better separation of warning and error return codes.
1221           Fix unlzw.c to make DYN_ALLOC and MAXSEG_64K independent options.
1222           Allow INBUFSIZ to be >= 32K in unlzw (don't use sign of rsize)
1223           Generate tar file in old format to avoid problems with old systems.
1224           Preserve time stamp in znew -P if touch -r works.
1225           Use ${PAGER-more} instead of ${PAGER:-more} in zmore.
1226           Do not use unsigned instead of mode_t.
1227           Better error message for trailing garbage in .z file; ignore this
1228            garbage on VMS.
1229           In zmore, use icanon instead of -cbreak on SYSV.
1230           Add trap handler in zmore.
1231           Use char* instead of void* for non STDC compilers.
1232           Added makefile entry for Xenix on 286.
1233           Return an error code when existing file was not overwritten.
1234           Use prototype of lzw.h for lzw.c.
1235           Fix znew with -P option alone.
1236           Give warning for directories even without -v.
1237           Close output file before unlink() in case of error.
1238           Suppress all target dependent ifdef from the portable files.
1239           Free all dynamically allocated variables upon exit.
1241 Thu Feb 4 18:23:56 1993  Jean-loup Gailly  (jloup@chorus.fr)
1243         * version 1.0.1
1244           Fixed some trivial errors in msdos/Makefile.bor
1246 Thu Feb 4 10:00:59 1993  Jean-loup Gailly  (jloup@chorus.fr)
1248         * version 1.0
1249           gzip now runs on Vax/VMS (Amiga support will come in next version).
1250           Do not overwrite files without -f when using /bin/sh.
1251           Support the test option -t for compressed (.Z) files.
1252           Flush output for bad compressed files. Add warning in README.
1253           Added makefiles for MSDOS.
1254           Don't rely on presence of csh in configure
1255           Added gunzip.1 and gzcat.1.
1256           Updated znew.1.
1257           Check reserved flags in unlzw().
1258           Return dummy value in main to avoid lint warning.
1259           Define OF in lzw.h for lint.
1260           Allow both "znew -v -t" and "znew -vt".
1261           Don't overwrite the output file name for multiple parts.
1262           Echo just a warning if configure is out of date.
1263           Use ; instead of , in trees.c (confuses the SAS Amiga compiler).
1264           In INSTALL, document "DEFS='-DM_XENIX' ./configure".
1265           Use OTHER_PATH_SEP for more portability (DOS, OS2, VMS, AMIGA).
1266           Make all directories world writable for broken versions of tar.
1267           Use gzip -cd instead of zcat in zmore, zcmp, zdiff.
1268           Don't use GNU tar for distributions, some systems can't untar.
1269           Do not exit() for gzip --version.
1271 Mon Jan 26 10:26:42 1993  Jean-loup Gailly  (jloup@chorus.fr)
1273         * Beta version 0.8.2
1274           Avoid 'far' declarations for MSDOS.
1275           Use test -f instead of test -x in configure.in (for Ultrix)
1276           Add empty else part to if in Makefile.in for broken shells.
1277           Use NO_UNDERLINE instead of UNDERLINE (pb with Linux cpp)
1278           Accept continuation files with -ff (for damage recovery)
1279           Small patch to Makefile.os2
1280           Use memzero instead of bzero to avoid potential conflicts
1281           Document restriction on extraction of zip files.
1282           Fix quoting in ACL_HAVE_SHELL_HACK.
1283           Do not check file size on MSDOS because of bug in DIET.
1284           Allow zcat on a file with multiple links.
1285           Add fix in inflate.c for compatibility with pkzip 2.04c.
1286           Release gzip in tar.z and tar format. (No tar.Z).
1288 Fri Jan 22 10:04:13 1993  Jean-loup Gailly  (jloup@chorus.fr)
1290         * Beta version 0.8.1
1291           Fixed Makefile.os2
1292           Fixed #if directives that TurboC does not like.
1293           Don't rely on uncompress in znew, use gzip -d.
1294           Add the pipe option -P in znew.
1295           Add some more ideas in TODO.
1296           Support both NDIR and SYSNDIR.
1298 Sat Jan  21 15:46:38 1993  Jean-loup Gailly  (jloup@chorus.fr)
1300         * Beta version 0.8
1301           Support unpack.
1302           Check for _match.o in configure.in in addition to return status.
1303           Include <sys/types.h> in zip.c
1304           Define local variables and functions as local.
1305           Accept more alternative names for the program (pcat, gzcat, ...).
1306           Accept .exe as well as .EXE.
1307           Uncompress files with multiple links only with -f.
1308           Better error message for gunzip of non-existent file.z.
1309           Fix the entry for /etc/magic in INSTALL.
1310           Use AC_HAVE_HEADERS uniformly instead of special macros.
1311           Install the man pages as .1 by default instead of .l.
1312           Document crypt++.el in README.
1313           Fix for unlzw() on 16-bit machines (bitmask must be unsigned).
1314           Complain if input and output files are identical.
1315           Create a correct output name for files of exactly 13 chars.
1316           Do not overwrite CPP if set
1317           Check for i386 before trying to assemble match.s
1318           Check for underline in external name before assembling
1319           Add patch for tar 1.11.1.
1321 Mon Jan  5 10:16:24 1993  Jean-loup Gailly  (jloup@chorus.fr)
1323         * Beta version 0.7
1324           Use "make check" instead of "make test".
1325           Do not rely on dirname in znew.
1326           Keep time stamp and pass options to gzip in znew.
1327           Rename .l files back to .1 to avoid conflict with lex
1328           Do not create .z.z files with gzip -r.
1329           Use nice_match in match.asm
1330           Unroll loops in deflate.c
1331           Do not attempt matches beyond the window end
1332           Allow again gunzip .zip files (was working in 0.5)
1333           Allow again compilation with TurboC 2.0 (was working in 0.4)
1335 Tue Dec 30 20:00:19 1992  Jean-loup Gailly  (jloup@chorus.fr)
1337         * Beta version 0.6
1338           The .z extension is used by pack, not compact (README, gzip.1)
1339           Accept gzcat in addition to zcat.
1340           Use PAGER in zmore if defined.
1341           Man pages for /usr/local/man/manl should have extension .l.
1342           Don't redefine bzero on the NeXT
1343           Allow incomplete Huffman table if there is only one code.
1344           Don't lookahead more than 7 bits (caused premature EOF).
1345           Added "make test" to check for compiler bugs.
1346           Don't rely on `i386`; try to assemble directly
1347           Change magic header to avoid conflict with freeze 1.x.
1348           Added entry for /etc/magic in INSTALL.
1349           Do not destroy an input .zip file with more than one member.
1350           Display "untested" instead of "OK" for gzip -t foo.Z
1351           With -t, skip stdin in .Z format
1352           Allow multiple compressed members in an input file.
1353           Ignore a zero time stamp.
1354           Made znew safer.
1356 Tue Dec 29 10:00:19 1992   Noah Friedman  (friedman@gnu.ai.mit.edu)
1358           Added test for #!/bin/sh in configure.in.
1359           Fix some references to $srcdir in Makefile.in
1361 Mon Dec 21 17:33:35 1992  Jean-Loup Gailly  (jloup@chorus.fr)
1363         * Beta version 0.5
1364           Put RCS ids in all files.
1365           Added znew to recompress old .Z files with gzip.
1366           Avoid "already .z suffix" messages for -r and no -v.
1367           Put back check for d_ino in treat_dir().
1368           Use HAVE_STRING_H instead of USG.
1369           Added os2/Makefile.os2
1370           Use SYSUTIME on OS/2.
1371           Info dir is $(prefix)/info, not $(prefix)/lib/info.
1372           Support long options, added getopt and alloca
1373           Support -V and -t
1374           Reorder configure.in according to suggestions in autoconf.info
1375           Allow links when not removing original file
1376           Allow either .z or .Z in zdiff
1378 Wed Nov 25 11:40:04 1992  Jean-loup Gailly  (jloup@chorus.fr)
1380         * Beta version 0.4.1
1381           Save only the original base name, don't include any directory prefix.
1382           Don't use HAVE_LONG_FILE_NAMES (support multiple file system types).
1383           Fix declaration of abort_gzip in gzip.h.
1384           Include unistd.h when it exists to avoid warnings with gcc -Wall.
1386 Mon Nov 23 12:39:01 1992    Jean-loup Gailly  (jloup@chorus.fr)
1388         * Beta version 0.4
1389           Lots of cleanup
1390           Use autoconf generated 'configure'
1391           Fixed the NO_MULTIPLE_DOTS code
1392           Fixed the save_orig_name code
1393           Support for MSDOS (Turbo C)
1395 Thu Nov 19 15:18:22 1992    Jean-loup Gailly  (jloup@chorus.fr)
1397         * Beta version 0.3
1398           Added auto configuration. Just type "make" now.
1399           Don't overwrite compress by default in "make install". Use
1400             "make install_compress" to overwrite.
1401           Add match.s for 386 boxes.
1402           Added documentation in texinfo format.
1403           Provide help for "gunzip" invoked without redirected input.
1404           Save original file name when necessary.
1405           Support OS/2 (Kai-Uwe Rommel).
1407 Tue Nov 17 14:32:53 1992  Jean-loup Gailly  (jloup@chorus.fr)
1409         * Alpha version 0.2.4
1410           Return 0 in get_istat() when ok (caused error with zcat).
1411           Don't update crc on compressed data (caused crc errors on
1412             large files).
1414 Fri Nov 13 15:04:12 1992  Jean-loup Gailly  (jloup@chorus.fr)
1416         * Alpha version 0.2.3
1417           Initialize rsize in unlzw.c
1418           Initialize ofd for zcat.
1419           Do not use volatile ifname as argument of treat_dir.
1420           Add -1 to -9 in gzip.1.
1422 Sat Oct 31 18:30:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1424         * Alpha version 0.2.2.
1425           Fix error messages.
1426           Accept gunzip on zip files.
1428 Sat Oct 31 17:15:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1430         * Alpha version 0.2.1
1431           Use ctype.h in util.c (problem on SysV).
1432           Create BINDIR if it does not exist.
1433           Use cc by default.
1434           Added zcmp, zmore, zdiff.
1435           Fixed the man page gzip.1.
1437 Sat Oct 31 17:00:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1439         * Alpha version 0.2
1440           Fixed compilation problems with gcc
1442 Sat Oct 31 12:46:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1444         * Alpha version 0.1 released (under time pressure), so it's not
1445           much tested, sorry.
1448         -----
1450         Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2006 Free
1451         Software Foundation, Inc.
1453         Copyright (C) 1992, 1993 Jean-loup Gailly
1455         Copying and distribution of this file, with or without
1456         modification, are permitted provided the copyright notice
1457         and this notice are preserved.