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