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