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