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