re-mark 1.29b-2 as not yet uploaded (merge madness!)
[debian/tar] / ChangeLog.1
1 Currently there is just one ChangeLog file for tar, but
2 there used to be separate ChangeLog files for each subdirectory.
3 This file records what used to be in those separate files.
4
5 Copyright 1989-1997, 2013 Free Software Foundation, Inc.
6
7 This file is part of GNU tar.
8
9 GNU tar is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
13
14 GNU tar is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
22
23 ----- ChangeLog -----
24
25 1997-04-25  François Pinard  <pinard@iro.umontreal.ca>
26
27         * Release 1.12.
28
29         * configure.in: Check for the inline keyword.
30
31 1997-04-24  François Pinard  <pinard@iro.umontreal.ca>
32
33         * Makefile.am (BABYL): Delete admin/RMAIL, renamed rmail/announce.
34
35         * PORTS: New file.
36         (EXTRA_DIST): Adjusted.
37
38 1997-04-23  François Pinard  <pinard@iro.umontreal.ca>
39
40         * BI-PATCHES: Patches for Bison 1.25.
41         * Makefile.am (EXTRA_DIST): Adjusted.
42
43         * configure.in (AC_PROG_INSTALL): Call deleted.  AM_INIT_AUTOMAKE
44         takes care of this already.
45
46 1997-04-22  François Pinard  <pinard@iro.umontreal.ca>
47
48         * Prerelease 1.11q.
49
50         * configure.in: Use gethostent instead of gethostbyname while
51         checking for -lnsl.  It seems SINIX systems require this.
52         Reported by Bruno Haible.
53
54 1997-04-19  François Pinard  <pinard@iro.umontreal.ca>
55
56         * acinclude.m4: New fp_WITH_INCLUDED_MALLOC macro.
57         * configure.in: Use it instead of the HP/UX test for GNU malloc.
58         Reported by Bruno Haible.
59
60 1997-04-17  François Pinard  <pinard@iro.umontreal.ca>
61
62         * Prerelease 1.11p.
63
64         * acinclude.m4 (cl_FUNC_GMALLOC): New macro, yet still unused, as
65         it requires config.guess.  I have to think more about this.
66         Reported by Bruno Haible.
67
68 1997-04-16  François Pinard  <pinard@iro.umontreal.ca>
69
70         * AC-PATCHES: Patches for Autoconf 2.12.
71         * AM-PATCHES: Patches for Automake 1.1n.
72         * Makefile.am (EXTRA_DIST): Adjusted.
73
74 1997-04-15  François Pinard  <pinard@iro.umontreal.ca>
75
76         * configure.in: Ensure all cpp directives are left justified.
77         Reported by Kaveh R. Ghazi.
78
79 1997-04-12  François Pinard  <pinard@iro.umontreal.ca>
80
81         * configure.in: Add fnmatch.o to LIBOBJS if AC_FUNC_FNMATCH
82         says no working copy was found.  This is not done automatically.
83         Reported by Bruno Haible, Bryant Fujimoto, John David Anglin,
84         Kaveh R. Ghazi, Laurent Caillat-Vallet, Sakai Kiyotaka and
85         Santiago Vila Doncel.
86
87 1997-04-11  François Pinard  <pinard@iro.umontreal.ca>
88
89         * configure.in: Much simplify the -lsocket and -lnsl tests.
90         Reported by Larry Schwimmer.
91
92 1997-04-11  François Pinard  <pinard@iro.umontreal.ca>
93
94         * Prerelease 1.11o.
95
96         * configure.in: Do not check for gettimeofday anymore.
97
98         * configure.in: Do not anymore blindly add -lnsl if gethostname
99         is found, nor -lsocket if setsockopt is found.  Instead, for
100         resolving setsockopt, try none, -lsocket, and -lsocket -lnsl,
101         in that order.  For resoving gethostbyname, try none, than -lnsl.
102         Reported by Ariel Faigon, Heiko Schlichting, Jean-Philippe
103         Martin-Flatin, John J. Szetela, John R. Vanderpool, Kaveh
104         R. Ghazi, Larry Schwimmer, Marcus Daniels, Mark Bynum and
105         Russell Cattelan.
106
107 1997-04-10  François Pinard  <pinard@iro.umontreal.ca>
108
109         * configure.in: Define _GNU_SOURCE to get FNM_LEADIR_DIR, etc.
110         * acconfig.h: Document _GNU_SOURCE.
111         Reported by Andreas Jaeger, Becki Kain, Brendan Kehoe, David
112         N. Brown, J. Dean Brock, James V. DI Toro III, Jeffrey Mark
113         Siskind, Jürgen Reiss, Paul Eggert, Roland McGrath, Rolf
114         Niepraschk, Roman Gollent, Thomas Bushnell n/BSG and Ulrich
115         Drepper.
116
117 1997-03-26  François Pinard  <pinard@iro.umontreal.ca>
118
119         * configure.in (ALL_LINGUAS): Add it.
120
121 1997-03-20  François Pinard  <pinard@iro.umontreal.ca>
122
123         * configure.in: Require Autoconf 2.12.
124
125 1997-02-25  François Pinard  <pinard@iro.umontreal.ca>
126
127         * configure.in: Use AM_CONFIG_HEADER and AM_GNU_GETTEXT instead
128         of AC_CONFIG_HEADER and ud_GNU_GETTEXT.  Use AC_FUNC_FNMATCH
129         instead of AM_FUNC_FNMATCH. Do not take care anymore of stamp-h
130         in AC_OUTPUT, leave it to Automake.
131         * acinclude.m4: Replaced whole, from elsewhere.
132         * Makefile.am (EXTRA_DIST): Leave README-alpha to Automake.
133
134 1997-02-12  François Pinard  <pinard@iro.umontreal.ca>
135
136         * configure.in: Delete README-alpha code, Automake handles it now.
137
138 1996-11-18  François Pinard  <pinard@iro.umontreal.ca>
139
140         * Prerelease 1.11.14.
141
142         * Makefile.am (BABYL): Add admin/RMAIL.
143
144         * configure.in: Check for sys/buf.h, as BSD/OS.
145         Reported by Dan Reish.
146
147 1996-11-09  François Pinard  <pinard@iro.umontreal.ca>
148
149         * configure.in: Replace a missing basename.
150         Reported by Bryant Fujimoto, Erick Branderhorst, Greg Black, John
151         David Anglin, John J. Szetela, Kaveh R. Ghazi, Kurt Jaeger, Marcus
152         Daniels, Santiago Vila Doncel and William Bader.
153
154 1996-11-08  François Pinard  <pinard@iro.umontreal.ca>
155
156         * Prerelease 1.11.13.
157
158         * configure.in: Replace a missing dirname.
159
160 1996-10-07  François Pinard  <pinard@iro.umontreal.ca>
161
162         * configure.in: Clean out some macro calls made useless since
163         AM_INIT_AUTOMAKE implies them.
164
165 1996-09-20  François Pinard  <pinard@iro.umontreal.ca>
166
167         * configure.in: Do not check anymore for regex.
168
169 1996-09-19  François Pinard  <pinard@iro.umontreal.ca>
170
171         * Prerelease 1.11.12
172
173         * configure.in: Check echo for newline suppression.
174
175 1996-09-18  François Pinard  <pinard@iro.umontreal.ca>
176
177         * configure.in: Do not add open3.o to LIBOBJS anymore.
178
179 1996-09-05  François Pinard  <pinard@iro.umontreal.ca>
180
181         * configure.in (ALL_LINGUAS): Add pl.
182
183 1996-09-04  François Pinard  <pinard@iro.umontreal.ca>
184
185         * configure.in (AC_OUTPUT): Prepare tests/Makefile and tests/preset.
186         * Use AM_ version of fp_ macros.
187
188         * Makefile.am (SUBDIRS): Add tests/.
189
190 1996-07-18  François Pinard  <pinard@iro.umontreal.ca>
191
192         * Prerelease 1.11.11.
193
194         * configure.in: Use AC_PREREQ(2.10).
195
196 1996-07-16  François Pinard  <pinard@iro.umontreal.ca>
197
198         * configure.in (ALL_LINGUAS): Add nl.
199         Reported by Erick Branderhorst.
200
201 1996-07-12  François Pinard  <pinard@iro.umontreal.ca>
202
203         * Prerelease 1.11.10.
204
205         * configure.in (ALL_LINGUAS): Add ko and sl.
206
207 1996-05-01  François Pinard  <pinard@iro.umontreal.ca>
208
209         * configure.in: Check for fsync, and linux/fd.h.
210         Reported by Marty Leisner.
211
212 1996-04-17  François Pinard  <pinard@iro.umontreal.ca>
213
214         * Makefile.am (EXTRA_DIST): New name for DIST_OTHERS.
215
216         * configure.in (ALL_LINGUAS): Add no.
217
218         * Makefile.am (BABYL): Consider rmail/* instead of rmail/*/*.
219
220 1996-02-28  François Pinard  <pinard@iro.umontreal.ca>
221
222         * configure.in: Avoid PROGRAMS, instead use RMT to substitute rmt.
223         * Makefile.am (SUBDIRS): Use intl and po instead of @INTLSUB@ and
224         @POSUB@.
225
226         * configure.in: Check for poll.h and stropts.h.
227         Check for nap, napms, poll, select and usleep.
228
229 1996-02-12  François Pinard  <pinard@iro.umontreal.ca>
230
231         * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29.
232         * configure.in: Temporarily remove a \ in AC_OUTPUT for automake.
233
234 1996-02-03  François Pinard  <pinard@iro.umontreal.ca>
235
236         * configure.in: Check size of unsigned long (assume 32 bits if
237         cross-compiling) and long long (assume not available).
238
239 1996-01-14  François Pinard  <pinard@iro.umontreal.ca>
240
241         * Makefile.am (AUTOMAKE_OPTIONS): Select gnits and dist-shar.
242         (dist-zoo): New goal, experimental for now.
243
244 1996-01-07  François Pinard  <pinard@iro.umontreal.ca>
245
246         * Makefile.am:  Force distribution of BACKLOG.
247         Reported by Jonathan Thornburg.
248
249         * Makefile.am: Declare BABYL.  Force distribution of AUTHORS
250         and rebox.el.  Add id, ID and dist-shar targets.  Add parts of
251         previous Makefile.in as FIXME comments.
252
253 1995-12-30  François Pinard  <pinard@iro.umontreal.ca>
254
255         * configure.in: Ensure there is a link for libintl.h.
256         Reported by Daniel S. Barclay, Göran Uddeborg, Jonathan Thornburg,
257         Ken Raeburn and Minh Tran-Le.
258
259 1995-12-29  François Pinard  <pinard@iro.umontreal.ca>
260
261         * Prerelease 1.11.9.
262
263         * Makefile.am: New file.
264
265         * configure.in: Decide if README-alpha should be distributed.
266         From Ulrich Drepper.
267
268 1995-12-28  François Pinard  <pinard@iro.umontreal.ca>
269
270         * configure.in (AC_OUTPUT): Call sed for po/Makefile.in.
271
272         * Makefile.in: Distribute ABOUT-NLS rather than NLS, and do not
273         distribute config.guess or config.sub anymore.
274
275         * configure.in: Test for lchown.
276
277 1995-12-19  François Pinard  <pinard@iro.umontreal.ca>
278
279         * configure.in: Prefer avoiding union wait, and use it only if
280         using int fails.  This turns around the previous test, as directly
281         checking for union wait is seemingly seeking for trouble.
282         Reported by Alan Bawden, Chris Arthur, Coranth Gryphon,
283         Jean-Philippe Martin-Flatin, Robert Bernstein and Tarang Kumar
284         Patel.
285
286         * configure.in: Check for strerror, so lib/error.c will not try to
287         define sys_errlist in the case strerror is already provided.
288         Reported by Coranth Gryphon, Chris Arthur, David J. MacKenzie,
289         Erich Stefan Boleyn, Greg Black, Jason R. Mastaler, Michael
290         Innis Bushnell, Robert Bernstein, Santiago Vila Doncel, Skip
291         Montanaro and Thomas Krebs.
292
293         * configure.in: Quote the selected shell.  I wonder why this
294         error did not show up before!
295
296         * configure.in: Check <sys/tprintf.h> and <sys/device.h> for BSDi.
297         Reported by Chris Arthur and Skip Montanaro.
298
299 1995-12-17  François Pinard  <pinard@iro.umontreal.ca>
300
301         * configure.in: Be more systematic at caching test results.
302         Reported by Ulrich Drepper.
303
304         * configure.in: While checking for remote tape header files, only
305         include <sgtty.h> if it was found to exist.
306
307         * configure.in: Prefer #if to #ifdef while checking for open3.
308
309 1995-11-30  François Pinard  <pinard@iro.umontreal.ca>
310
311         * configure.in: Check for net/errno.h and sys/inet.h, trying to
312         get EOPNOTSUPP defined.
313
314         * configure.in: Check for sgtty.h.
315
316 1995-11-06  François Pinard  <pinard@iro.umontreal.ca>
317
318         * acconfig.h: Document HAVE_STPCPY for the time being.  I do not
319         understand yet why this is mandatory: it should be automatic
320         from AC_CHECK_FUNCS(stpcpy) in aclocal.m4, through autoheader.
321
322         * configure.in: Use fp_FUNC_FNMATCH, to get around non-working
323         versions on SCO Unix 3.2v4.2, and Solaris.
324         Reported by Chad Hurwitz, Dennis Pixton, Per Foreby, Richard
325         Westerik, Robert Weiner and Tom Tromey.
326
327 1995-10-27  François Pinard  <pinard@iro.umontreal.ca>
328
329         * configure.in: Add /usr/bin/rcmd as a possible remote shell, as
330         this is the name used by SCO Unix 3.2.4.
331         Reported by Bela Lubkin and Rodney Brown.
332
333 1995-07-23  François Pinard  <pinard@iro.umontreal.ca>
334
335         * configure.in: Adapt for GNU gettext 0.8.
336
337 1995-07-10  François Pinard  <pinard@iro.umontreal.ca>
338
339         * Makefile.in (default): Define to all.
340
341 1995-06-18  François Pinard  <pinard@iro.umontreal.ca>
342
343         * configure.in: For mknod, also include <sys/types.h> prior to
344         <sys/stat.h>, as Ultrix needs this.
345         Reported by Bruce Jerrick, Bryant Fujimoto, Conrad Hughes, Erich
346         Stefan Boleyn, Jason R. Mastaler, Joshua R. Poulson, Jurgen Botz,
347         Serge Granik, Simon Wright, Ulrich Drepper and Vince Del Vecchio.
348
349         * configure.in: Replace execlp as needed (for Minix, mainly).
350
351         * configure.in: Force compilation of lib/open3.c if required.
352         Clean out old NO_OPEN3 code.
353 \f
354 1995-06-17  François Pinard  <pinard@iro.umontreal.ca>
355
356         * Release 1.11.8.
357
358         * Makefile.in (DISTFILES): Distribute config.guess and config.sub.
359         Reported by Ulrich Drepper.
360
361         * acconfig.h, aclocal.m4, configure.in: Last minutes
362         additions, and glimpses to the future gettext 0.6.1.
363         Reported by Ulrich Drepper.
364
365         * acconfig.h: Document HAVE_MKNOD.
366         * configure.in: Test for mknod only once <sys/stat.h> included.
367         Reported by Alan Modra, Ray Dassen and Ulrich Drepper.
368
369         * aclocal.m4: Test for re_rx_search instead of rx_compile, the
370         latter not being exported unless RX_WANT_RX_DEFS is defined.
371         Reported by Alan Modra.
372
373 1995-06-15  François Pinard  <pinard@iro.umontreal.ca>
374
375         * Makefile.in (dist): Do not hide copying rule.
376
377         * configure.in: Adjustments to NLS, so .sed scripts may now all
378         reside in intl/.
379
380 1995-06-13  François Pinard  <pinard@iro.umontreal.ca>
381
382         * Makefile.in (pot): New goal, triggering po/tar.pot.
383
384 1995-06-07  François Pinard  <pinard@iro.umontreal.ca>
385
386         * configure.in: Substitute POTFILES by contents of po/POTFILES.
387
388         * configure.in: More adjustments for GNU gettext 0.6.
389         * config.guess, config.sub:  New files, all taken from gettext 0.6.
390
391 1995-06-04  François Pinard  <pinard@iro.umontreal.ca>
392
393         * Makefile.in (check): New goal.
394
395 1995-05-30  François Pinard  <pinard@iro.umontreal.ca>
396
397         * Makefile.in (DISTFILES): Do not distribute SUPPORT, now
398         integrated in the documentation.
399         Reported by Karl Berry.
400
401 1995-05-28  François Pinard  <pinard@iro.umontreal.ca>
402
403         * configure.in: Check for isascii, not iascii.
404         Reported by Alan Modra, Bruno Haible and Greg McGary.
405
406 1995-05-16  François Pinard  <pinard@iro.umontreal.ca>
407
408         * Prerelease 1.11.7.
409
410         * Makefile.in (DISTFILES): Distribute NLS.
411         * configure.in, acconfig.h: Many adjustments for GNU gettext.
412
413 1995-05-09  François Pinard  <pinard@iro.umontreal.ca>
414
415         * configure.in: Clean glocale out.
416         * Makefile.in (SUBDIRS): Add po.
417         * Makefile.in (pofile): New goal.
418
419 1995-05-08  François Pinard  <pinard@iro.umontreal.ca>
420
421         * configure.in: Call ud_WITH_NLS, create intl/Makefile.in.
422         Compute size of unsigned short and unsigned int.
423
424         * acconfig.h: Document ENABLE_NLS, HAVE_CATGETS and HAVE_GETTEXT.
425         * Makefile.in: Process intl subdirectory.
426
427         * configure.in (LINGUAS): Add pt.
428         * src/pt.po: New file, for Portuguese.
429         Reported by Antonio Jose Coutinho.
430
431 1995-03-19  François Pinard  <pinard@iro.umontreal.ca>
432
433         * configure.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS.
434         * acconfig.h: Add description for WITH_CATALOGS.
435
436 1995-02-22  François Pinard  <pinard@iro.umontreal.ca>
437
438         * configure.in, Makefile.in: Replace `date' by `echo timestamp'.
439
440 1995-02-19  François Pinard  <pinard@iro.umontreal.ca>
441
442         * Makefile.in: Support ID files.  Do not distribute TAGS.
443
444 1995-02-05  François Pinard  <pinard@iro.umontreal.ca>
445
446         * Makefile.in (maintainer-clean): New name for realclean.
447
448 1995-01-02  François Pinard  <pinard@iro.umontreal.ca>
449
450         * configure.in: Check for <sys/ioccom.h>.
451         Reported by Joseph E. Sacco.
452
453 1995-01-01  François Pinard  <pinard@iro.umontreal.ca>
454
455         * Makefile.in (DISTFILES): Distribute SUPPORT, with *pre*-releases.
456
457 1994-12-18  François Pinard  <pinard@iro.umontreal.ca>
458
459         * configure.in: Check for isascii.
460         Reported by Bruno Haible.
461
462 1994-12-11  François Pinard  <pinard@iro.umontreal.ca>
463
464         * configure.in: Use fp_WITH_REGEX.
465         * acconfig.h: Document WITH_REGEX.
466
467 1994-12-10  François Pinard  <pinard@iro.umontreal.ca>
468
469         * src/de.tt: New file, for German.
470         Reported by Ulrich Drepper.
471
472 1994-12-03  François Pinard  <pinard@iro.umontreal.ca>
473
474         * Prerelease 1.11.6.
475
476         * configure.in: Localize, adapting from how it is done in sharutils.
477
478         * src/fr.tt: New file, for French.
479
480         * configure.in, {,*/}Makefile.in, acconfig.h:
481         Rename PRODUCT to PACKAGE.
482
483 1994-11-26  François Pinard  <pinard@iro.umontreal.ca>
484
485         * configure.in: Check for <libintl.h> and <locale.h>.
486
487 1994-11-02  François Pinard  <pinard@iro.umontreal.ca>
488
489         * configure.in: Check for const only after having found possible
490         ANSIfying compiler flags, this is of no use to check it before.
491
492 1994-11-01  François Pinard  <pinard@iro.umontreal.ca>
493
494         * {,*/}Makefile.in: Clean up, following those of GNU m4.  I will
495         not detail all the changes here.
496         * configure.in: Likewise.
497         * acconfig.h: Document PRODUCT and VERSION.
498
499 1994-10-04  François Pinard  <pinard@iro.umontreal.ca>
500
501         * configure.in: Correct shell assignment for ac_cv_path_RSH.
502         Reported by Kaveh R. Ghazi.
503
504 1994-09-14  François Pinard  <pinard@iro.umontreal.ca>
505
506         * Makefile.in: Cleanup...  Use subshells for all cd's.
507         (MDEFINES): Do not use $(INSTALL...), because ./install-sh will
508         not be relocated correctly.
509         (DISTFILES): Distribute install-sh, not install.sh.
510         (tags): Make only in lib and src.
511         (TAGS): Deleted.
512         (distclean, realclean): Remove config.status.
513         (distclean-local): Don't.
514         (*-recursive): Combine, use sed to strip -recursive in subgoals.
515         (Makefile): Have ./config.status create this Makefile only.
516         (stamp-h): Have ./config.status create config.h only.  Do not
517         create stamp-h here, it is now done from configure.
518         (stamp-h.in): Use date instead of touch.
519         * configure.in (AC_OUTPUT): Create stamp-h.
520
521 1994-09-09  François Pinard  <pinard@iro.umontreal.ca>
522
523         * configure.in: Use fp_ macros for accessing aclocal.m4.  Revert
524         _OS_ macros to their previous names, to follow Autoconf.
525
526 1994-09-08  François Pinard  <pinard@iro.umontreal.ca>
527
528         * configure.in: Delete AC_OS_XENIX, now within AC_HEADER_DIRENT.
529
530 1994-09-01  François Pinard  <pinard@iro.umontreal.ca>
531
532         * configure.in (PROGS): Warn if $DEFAULT_ARCHIVE was specified,
533         while not being found on the current system.
534         Reported by Robert Bernstein.
535
536 1994-08-31  François Pinard  <pinard@iro.umontreal.ca>
537
538         * Makefile.in: Distribute it.
539
540         * Makefile.in (distclean-local): Delete config.log.
541
542 1994-08-27  François Pinard  <pinard@iro.umontreal.ca>
543
544         * acconfig.h: Document HAVE_UNION_WAIT, no more in Autoconf.
545
546 1994-08-24  François Pinard  <pinard@iro.umontreal.ca>
547
548         * configure.in: Replace AC_SYS_REMOTE_TAPE by its definition,
549         distillating it around.  It is going out of Autoconf.
550         Do not backslash quotes anymore while defining unquoted, this is
551         now corrected in Autoconf.
552
553 1994-08-23  François Pinard  <pinard@iro.umontreal.ca>
554
555         * configure.in: Do not define RTAPELIB nor HAVE_RTAPELIB.
556
557 1994-08-22  François Pinard  <pinard@iro.umontreal.ca>
558
559         Little cleanup in installation:
560         * configure.in: Do not check for wait3, this function is not used.
561         * Makefile.in: Remove useless RSH substitutions.
562
563         * configure.in: Use `-g -O' instead of `-g' as CFLAGS default
564         value, when GNU C is being used.  Delay testing for presets.
565         Reported by Chris Arthur.
566
567 1994-08-21  François Pinard  <pinard@iro.umontreal.ca>
568
569         * Prerelease 1.11.5.
570
571         * Makefile.in (BACKLOG, dist, shar): Correct for when a different
572         build directory.
573
574         * configure.in: Check for union wait.  Adapted from make 3.71.
575
576         * configure.in: Replace both mkdir and rmdir, not just mkdir,
577         because NS32016 running SysVr2.2 has mkdir and lacks rmdir.
578         Reported by Greg Black.
579
580         * configure.in: Do not try anymore to discover the archive device
581         by looking around for various device names.  If the installer does
582         not override it, nicely use `-' as a convenient default.
583         Reported by Andreas Schwab and Kaveh R. Ghazi.
584
585 1994-08-20  François Pinard  <pinard@iro.umontreal.ca>
586
587         * configure.in: Correct a checking message.
588         Reported by Bruno Haible.
589
590 1994-08-17  François Pinard  <pinard@iro.umontreal.ca>
591
592         * configure.in: Replace AC_PROG_RSH with its expansion.  Correct
593         the no/true confusion in tests.  Do not substitute RSH anymore in
594         src/Makefile, instead define REMOTE_SHELL in config.h.  Replace
595         NO_REMOTE by HAVE_RTAPELIB, with inverted meaning.  Substitute
596         RTAPELIB by $Urtapelib.o instead of rtapelib.o.
597         * acconfig.h: Document HAVE_RTAPELIB and REMOTE_SHELL.
598         Reported by Andreas Schwab.
599
600         * configure.in: Checking for remote shell, use the RSH environment
601         variable if set.  This is done only when not already in the cache.
602         Reported by Kaveh R. Ghazi.
603
604         * configure.in: Include <sys/types.h> when testing <utime.h>.
605         Reported by Andreas Schwab.
606
607         * configure.in: Also create doc/Makefile.
608         * Makefile.in: Add doc in subdirs, set infodir, update MDEFINES.
609
610 1994-08-16  François Pinard  <pinard@iro.umontreal.ca>
611
612         * configure.in: Undo the `test -b' patch of 1994-08-05.  Ultrix
613         4.2 test does not know about -b.  Grrr...
614         Reported by Kaveh R. Ghazi.
615
616         * configure.in: Check for <sys/gentape.h>, HAVE_SYS_GENTAPE_H
617         is tested in rmt.c.  Check for <sys/tape.h>, to avoid playing
618         with M_UNIX anymore in rmt.c.
619         Reported by Daniel R. Guilderson and Kaveh R. Ghazi.
620
621         * configure.in: Use proper function names in AC_CHECK_LIB's.
622         Reported by Alexander Dupuy and Kurt Jaeger.
623
624         * configure.in: Use $LIBOBJS, not LIBOJBS, while adding to it.
625         Reported by Demizu Noritoshi and Kaveh R. Ghazi.
626
627 1994-08-15  François Pinard  <pinard@iro.umontreal.ca>
628
629         * Prerelease 1.11.4.
630
631 1994-08-14  François Pinard  <pinard@iro.umontreal.ca>
632
633         * configure.in: Decide MTIO_CHECK_FIELD by grepping <sys/mtio.h>.
634         * acconfig.h: Document it.
635         Reported by Ben A. Mesander.
636
637         * Makefile.in: Substitute CC, INSTALL, INSTALL_PROGRAM,
638         INSTALL_DATA, RSH, CFLAGS, LDFLAGS, LIBS, prefix, exec_prefix,
639         binprefix, bindir and libexecdir.
640         (MDEFINES): New, using the previous substitutions.
641         (all, install, uninstall): Use it.
642         Reported by Bruno Haible.
643
644 1994-08-13  François Pinard  <pinard@iro.umontreal.ca>
645
646         * configure.in: Check for <sys/wait.h>.
647
648 1994-08-11  François Pinard  <pinard@iro.umontreal.ca>
649
650         * configure.in: For <utime.h>, also ensure struct utimbuf is
651         defined by the header file before defining HAVE_UTIME_H.  Some
652         systems will not define the structure without _POSIX_SOURCE.
653         * acconfig.h: Document HAVE_UTIME_H.
654         Reported by James W. McKelvey and Robert E. Brown.
655
656         * configure.in: Instead of replacing strstr, check for it, so
657         HAVE_STRSTR gets defined, then replace it explicitely if required.
658
659 1994-08-09  François Pinard  <pinard@iro.umontreal.ca>
660
661         * configure.in: Updated for Autoconf 2.0.
662
663 1994-08-08  François Pinard  <pinard@iro.umontreal.ca>
664
665         * configure.in: Replace memset, mkdir (and rmdir), rename, strstr,
666         ftruncate, when not found.
667         Reported by Kaveh R. Ghazi (for memset and strstr).
668         Reported by Bruno Haible (for mkdir and rename).
669
670 1994-08-05  François Pinard  <pinard@iro.umontreal.ca>
671
672         * configure.in: Remove padding test.
673         * acconfig.h: Remove PADDING_IN_TAR_HEADER.
674         Reported by Bruno Haible.
675
676         * configure.in: While defining DEFAULT_ARCHIVE, check for a block
677         device, instead of mere existence.  But is `test -b' portable?
678         Test for /dev/fd0, instead of for /dev/fd.  Put rct tests last.
679         Reported by Andreas Schwab.
680
681         * configure.in: Define uid_t and gid_t if necessary.
682         Reported by Jonathan I. Kamens.
683
684         * Makefile.in (distclean-local): Delete config.cache.
685         Reported by Thomas Koenig.
686
687         * configure.in: Change malloc_dbg to dmalloc, mutatis mutandi.
688         * acconfig.h: According changes.
689
690         * configure.in: Test for broken stat macros, and for mkfifo.
691
692         * configure.in: Check for ST_BLKSIZE and ST_BLOCKS.
693
694 1994-08-02  François Pinard  <pinard@iro.umontreal.ca>
695
696         * Prerelease 1.11.3.
697
698         * Makefile.in (dist, shar): Distribute the scripts directory.
699
700 1994-08-01  François Pinard  <pinard@iro.umontreal.ca>
701
702         * configure.in: Check for <memory.h>.
703
704 1994-07-30  François Pinard  <pinard@iro.umontreal.ca>
705
706         * configure.in: When --with-malloc-dbg, define WITH_MALLOC_DBG and
707         add -lmalloc_dbg to LIBS.
708         * acconfig.h: Document WITH_MALLOC_DBG.
709
710         * configure.in: Try deciding DEVICE_PREFIX and DENSITY_LETTER from
711         the selected DEFAULT_ARCHIVE.
712         * acconfig.h: Document DEVICE_PREFIX and DENSITY_LETTER.
713         Reported by Danny R. Johnston.
714
715 1994-07-29  François Pinard  <pinard@iro.umontreal.ca>
716
717         * aclocal.m4: Adapt AC_PROTOTYPES to caching.
718
719         * Using configure as generated by a more recent Autoconf solves a
720         problem of rename being rejected on HP-UX in ANSI mode, because of
721         a conflicting prototype from <stdio.h>.  In this context, Autoconf
722         now uses ctype.c instead for defining __stub macros.
723         Reported by Alan Modra, Burkhard Plache, Edward Welbourne,
724         Henrik Bakman, Jeffrey Goldberg, Jim Farrell, Kimmy Posey,
725         Michael Maass, Mike Nolan, Richard Lloyd, Robert McGraw,
726         Robert W. Kim, Stefan Skoglund, Tarang Kumar Patel, Tilman
727         Schmidt, Tim Ramsey, Van Snyder and W. Phillip Moore.
728
729 1994-07-26  François Pinard  <pinard@iro.umontreal.ca>
730
731         * configure.in: Check for <fcntl.h>.  Do not define BSD42, do
732         not look anymore if /vmunix, /sdmach or /../../mach exist.
733         * acconfig.h: Remove BSD42.
734
735 1994-07-24  François Pinard  <pinard@iro.umontreal.ca>
736
737         * configure.in: Add gmalloc.o to LIBOBJS, instead of AC_SUBST'ing
738         MALLOC.  Check for valloc only if gmalloc.o is not being selected.
739         valloc was possibly defined both in "port.h" and GNU malloc.
740         * acconfig.h: Add a description for HAVE_VALLOC.
741         J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt.
742
743 1994-07-22  François Pinard  <pinard@iro.umontreal.ca>
744
745         * configure.in: Use provided fnmatch only as a replacement.
746
747         * configure.in: Check for <sys/io/trioctl.h>, needed for
748         defining _IOW and _IOR on the Tektronix XD88.
749         Reported by Kaveh R. Ghazi.
750
751 1994-07-20  François Pinard  <pinard@iro.umontreal.ca>
752
753         * Makefile.in (BACKLOG): New goal, for summarizing the
754         maintainance backlog.  Distribute file BACKLOG.
755
756 1994-07-08  François Pinard  <pinard@iro.umontreal.ca>
757
758         * regex.c, regex.h: Use newer versions.  This solves a few
759         problems reported by users.
760         Reported by Chris Hopps and John David Anglin.
761
762 1994-07-06  François Pinard  <pinard@iro.umontreal.ca>
763
764         * configure.in: Check for <utime.h>.
765
766 1994-07-05  François Pinard  <pinard@iro.umontreal.ca>
767
768         * configure.in:  Substitute DEFAULT_ARCHIVE and DEFAULT_BLOCKING
769         from the environment.  Check for /dev/tape first while trying to
770         decide the default archive, because it is often symlinked right.
771         * acconfig.h: Explain DEFAULT_ARCHIVE and DEFAULT_BLOCKING.
772
773         * configure.in: Use AC_SET_MAKE.
774         * Makefile.in: Use @SET_MAKE@.
775         Reported by Jim Meyering.
776
777         * configure.in: Integrate the check, previously in testpad.c,
778         about a needed padding field in the tar header struct.
779         * acconfig.h: Explain PADDING_IN_TAR_HEADER.
780
781 1994-07-02  François Pinard  <pinard@iro.umontreal.ca>
782
783         * configure.in: Check for -linet, this library is required on
784         a few systems for gettimeofday() or getservbyname().  Also, on ISC
785         4.0, this avoids a broken version of rename().
786         Reported by Dean Gaudet, Goeran Uddeborg, Mike Rogers and
787         Peder Chr. Norgaard.
788
789         * configure.in: Ensure -lsocket is tested after -lnsl.  This is
790         required in particular for SINIX-Z, an SVR4.0 system.
791         Reported by Manfred Weichel and Mark Frost.
792
793         * configure.in: All tests reordered for clarity.
794
795 1994-07-01  François Pinard  <pinard@iro.umontreal.ca>
796
797         * configure.in: Use AC_TIME_WITH_SYS_TIME, test for <sys/time.h>.
798         This should solve the problem of multiple inclusions of <time.h>.
799         Also, also check for <sys/timeb.h>, for getdate.y tests this.
800         Reported by Jim Meyering, John Rouillard, Karl Berry and Rick
801         Emerson.
802
803 1994-06-30  François Pinard  <pinard@iro.umontreal.ca>
804
805         * configure.in: AC_CONST was already added since 1.11.2, but no
806         ChangeLog entry for it, so here is one, with list of reporters.
807         * AIX 3.2 RS/6000 IBM's compiler was unable to compile regex.c,
808         this might be solved already through improved Autoconf tests.
809
810         Reported by Alexey Vovenko, Ben A. Mesander, Bryant
811         Fujimoto, Christian. T. Dum, Christopher Vickery, Dan Bloch,
812         David K. Drum, David Lemson, Demizu Noritoshi, Dimitris
813         Fousekis, Ezra Peisach, Hugh Secker-Walker, Indra Singhal,
814         J.T. Conklin, Jan Hoeglund, Janice Burton, Jeff Siegel,
815         Jim Blandy, John L. Chmielewski, John Rouillard, Jonathan
816         N. Sherman, Kevin D Quitt, Kurt Jaeger, Mark Frost, Matthew
817         Braun, Michael Kubik, Michael Helm, Moritz D. Klingholz,
818         Neil Jerram, Nelson H.F. Beebe, Nick Barron, Paul Eggert,
819         R. Scott Butler, Rob Parry, Ron Guilmette, Scott Grosch,
820         Sherwood and Stephen Saroff.
821
822         * Makefile.in: Completely replaced, lurking at the previous one.
823         At the same time, solve a few minor problems reported by users.
824         The most frequently reported ones pertained to a trailing \ in a
825         comment, and rmt installing in /etc.
826         Reported by Dean Gaudet, Gerben Wierda, James W. McKelvey,
827         John L. Chmielewski, Karl Berry, Mike Rogers, Ralf Suckow and
828         Richard Lloyd.
829
830         * configure.in: Also process lib/Makefile.in and src/Makefile.in.
831         Substitute CFLAGS, LDFLAGS and YFLAGS from the environment.
832         Use AC_CHECKING instead of using echo explicitely.
833         Use AC_HEADER_CHECK(unistd.h) instead of obsolete AC_UNISTD_H.
834
835         * configure.in: Generate a configuration header file.  This not
836         only puts less clutter in make output, but also goes around some
837         compilers' limits about the number of allowed -D options.
838         Reported by Nelson H.F. Beebe.
839
840         * acconfig.h: New file.
841
842         * Split distribution into a few subdirectories, for easing
843         maintainance.  So far: src, lib, scripts, msdos which are to be
844         distributed; then rmail, texinfo, ARCH and misc to be kept here.
845         * scripts/ChangeLog: Initialized by moving entries related to
846         scripts out of this ChangeLog.
847
848         * Taking over maintenance duties.
849
850
851 ----- doc/ChangeLog -----
852
853 1997-04-23  François Pinard  <pinard@iro.umontreal.ca>
854
855         * Release 1.12.
856
857         * Makefile.am (EXTRA_DIST): Remove tar-mew.texi for the release.
858         (tar.dvi) [!PUBLISH]: Delete @smallbook.  Call sed in all cases.
859
860 1997-04-11  François Pinard  <pinard@iro.umontreal.ca>
861
862         * Prerelease 1.11o.
863
864         * Makefile.am (tar.info): Comment about needed makeinfo version.
865         Reported by Sherwood Botsford.
866
867 1997-04-10  François Pinard  <pinard@iro.umontreal.ca>
868
869         * Makefile.am (EXTRA_DIST): Add tar-mew.texi.
870
871 1997-03-16  François Pinard  <pinard@iro.umontreal.ca>
872
873         * Makefile.am (tar.dvi): Merely use tar.texi and rely on -I to
874         resolve it in $(srcdir).  Remove tmp-tar.info* files right away.
875         (CLEANFILES): Define to tmp-*.
876
877 1997-03-14  François Pinard  <pinard@iro.umontreal.ca>
878
879         * Makefile.am: Rename RENDERING, QUALITY, DRAFT and DEBUG to
880         RENDITION, PUBLISH, DISTRIB and PROOF respectively.  Ensure that
881         `@set DISTRIB' gets replaced after macro-expansion and before TeX.
882
883 1996-11-06  François Pinard  <pinard@iro.umontreal.ca>
884
885         * Prerelease 1.11.13.
886
887         * getdate.texi: New file, from elsewhere.
888         * tar.texi: Replace a lot of text by an include of getdate.texi.
889         * Makefile.am: Adjusted.
890
891 1996-08-24  François Pinard  <pinard@iro.umontreal.ca>
892
893         * Prerelease 1.11.12.
894
895         * Makefile.am (EXTRA_DIST): Remove texinfo.tex, now that Automake
896         handles it automatically.
897
898 1996-07-18  François Pinard  <pinard@iro.umontreal.ca>
899
900         * Prerelease 1.11.11.
901
902         * Makefile.am (tar.info): Remove -I$(srcdir), which was useless.
903
904 1996-07-17  François Pinard  <pinard@iro.umontreal.ca>
905
906         * Makefile.am (EXTRA_DIST): Include texinfo.tex, until Automake
907         does it automatically.
908
909 1996-07-16  François Pinard  <pinard@iro.umontreal.ca>
910
911         * Prerelease 1.11.10.
912
913         * Makefile.am (EXTRA_DIST): Distribute convtexi.pl, for now.
914
915 1996-04-22  François Pinard  <pinard@iro.umontreal.ca>
916
917         * Makefile.am: Implement rendering levels (QUALITY, DRAFT or DEBUG).
918
919 1996-04-17  François Pinard  <pinard@iro.umontreal.ca>
920
921         * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
922
923 1996-03-03  François Pinard  <pinard@iro.umontreal.ca>
924
925         * Makefile.am (tar.dvi): Comment about needed makeinfo version.
926         Reported by Jonathan Thornburg.
927
928 1996-02-12  François Pinard  <pinard@iro.umontreal.ca>
929
930         * Makefile.am: Replace TEXINFO by info_TEXINFOS for Automake 0.29.
931
932 1996-01-14  François Pinard  <pinard@iro.umontreal.ca>
933
934         * Makefile.am (AUTOMAKE_OPTIONS): Select gnits.
935
936 1996-01-08  François Pinard  <pinard@iro.umontreal.ca>
937
938         * Makefile.am: New file.
939         * tar.texi: New name for tar.texinfo.
940
941 1995-12-30  François Pinard  <pinard@iro.umontreal.ca>
942
943         * Makefile.in (check): New goal, doing nothing.
944         Reported by Cesar Romani, Joachim Seelig, Mark Bynum and Ulrich
945         Drepper.
946
947 1995-11-29  François Pinard  <pinard@iro.umontreal.ca>
948
949         * Makefile.in (clean): Remove tmp-* files.
950
951 1995-11-27  François Pinard  <pinard@iro.umontreal.ca>
952
953         * Makefile.in: Use -I$(srcdir) with makeinfo, and -otmp-tar.info
954         so tar.info in build directory does not shadow the real one.
955         (tar.dvi): Depend on version.texi.  Add $(srcdir) to TEXINPUTS so
956         texinfo.tex is found, as texi2dvi gets no clue from the file name.
957         (DISTFILES): Also distribute tar.info-8.
958
959 1995-11-22  François Pinard  <pinard@iro.umontreal.ca>
960
961         * Makefile.in (DISTFILES): Distribute ChangeLog.
962         * ChangeLog: New file, extracted from top-level ChangeLog.
963
964 1995-06-22  François Pinard  <pinard@iro.umontreal.ca>
965
966         * Makefile.in: Get rid of docwarn.texi, now replaced by
967         the @UNREVISED macro, right into tar.texinfo.
968
969 1995-06-18  François Pinard  <pinard@iro.umontreal.ca>
970
971         * Makefile.in (tar.dvi): First macro-expand tar.texinfo.
972
973 1995-06-07  François Pinard  <pinard@iro.umontreal.ca>
974
975         * Makefile.in: Use subdir and distdir.
976
977 1995-06-03  François Pinard  <pinard@iro.umontreal.ca>
978
979         * tar.texinfo: Use header.texi.
980         * Makefile.in: Prepare header.texi from src/tar.h.
981         Distribute it.
982
983 1995-05-28  François Pinard  <pinard@iro.umontreal.ca>
984
985         * Makefile.in (DISTFILES): Add tar.info-3.
986         Reported by Bruno Haible.
987
988 1995-02-22  François Pinard  <pinard@iro.umontreal.ca>
989
990         * Makefile.in: Replace `date' by `echo timestamp'.
991
992 1995-02-13  François Pinard  <pinard@iro.umontreal.ca>
993
994         * Makefile.in: Use top_srcdir.
995
996 1995-02-05  François Pinard  <pinard@iro.umontreal.ca>
997
998         * Makefile.in (maintainer-clean): New name for realclean.
999
1000 1994-12-03  François Pinard  <pinard@iro.umontreal.ca>
1001
1002         * Makefile.in (DISTFILES): Include docwarn.texi.
1003
1004 1994-11-07  François Pinard  <pinard@iro.umontreal.ca>
1005
1006         * Makefile.in (stamp-vti): Use new -r option to date.
1007
1008 1994-11-05  François Pinard  <pinard@iro.umontreal.ca>
1009
1010         * Makefile.in (realclean): Also remove stamp-vti.
1011
1012 1994-09-14  François Pinard  <pinard@iro.umontreal.ca>
1013
1014         * Makefile.in: Cleanup...
1015         (texclean): Deleted, merged into mostlyclean.
1016         (Makefile): Have ./config.status create this Makefile only.
1017
1018 1994-08-30  François Pinard  <pinard@iro.umontreal.ca>
1019
1020         * Makefile.in (tar.info): Make the documentation in the source
1021         directory only.
1022
1023 1994-08-21  François Pinard  <pinard@iro.umontreal.ca>
1024
1025         * Makefile.in: Correct for when a different build directory.
1026
1027         * docwarn.texi: New file.
1028         * Makefile.in: Distribute it.
1029
1030 1994-08-17  François Pinard  <pinard@iro.umontreal.ca>
1031
1032         * Makefile.in: New file.
1033         * tar.texinfo: New file.
1034         * texinfo.tex: New, from elsewhere.
1035
1036
1037 ----- lib/ChangeLog -----
1038
1039 1997-04-25  François Pinard  <pinard@iro.umontreal.ca>
1040
1041         * Release 1.12.
1042
1043 1997-04-16  François Pinard  <pinard@iro.umontreal.ca>
1044
1045         * Prerelease 1.11p.
1046
1047         The distribution did not have getdate.c updated:
1048         * Makefile.am (libtar_a_SOURCES): Use getdate.y, not getdate.c.
1049         (EXTRA_DIST): Do not include getdate.y anymore.
1050         * getdate.c: Specify $(srcdir)/, to silence GNU make.
1051         Reported by Bruno Haible.
1052
1053 1997-04-15  François Pinard  <pinard@iro.umontreal.ca>
1054
1055         * Makefile.am (getdate.c): Announce 13 conflicts, not 10.
1056         Reported by Bruno Haible, Bryant Fujimoto and Wolfram Wagner.
1057
1058 1997-04-11  François Pinard  <pinard@iro.umontreal.ca>
1059
1060         * Prerelease 1.11o.
1061
1062         * getdate.h: New file.
1063         * Makefile.am: Adjusted.
1064
1065 1997-04-10  François Pinard  <pinard@iro.umontreal.ca>
1066
1067         * modechange.c, modechange.h: New files.
1068         * Makefile.am: Adjusted.
1069
1070 1997-02-25  François Pinard  <pinard@iro.umontreal.ca>
1071
1072         * Makefile.am: Adapt library name to Automake 1.1l.
1073
1074 1996-11-09  François Pinard  <pinard@iro.umontreal.ca>
1075
1076         * Prerelease 1.11.14.
1077
1078         * basename.c: New file.
1079
1080 1996-11-09  François Pinard  <pinard@iro.umontreal.ca>
1081
1082         * Prerelease 1.11.13.
1083
1084         * Makefile.am: Use tar_DEPENDENCIES.  Avoid BUILT_SOURCES,
1085         put getdate.c instead of getdate.y in tar_SOURCES and keep
1086         getdate.c in EXTRA_DIST.
1087
1088 1996-11-06  François Pinard  <pinard@iro.umontreal.ca>
1089
1090         * argmatch.c, argmatch.h, backupfile.c, backupfile.h, dirname.c,
1091         getversion.c: New files.
1092         * Makefile.am: Adjusted.
1093         Reported by Marty Leisner.
1094
1095 1996-10-31  François Pinard  <pinard@iro.umontreal.ca>
1096
1097         * safe-stat.h: Deleted.
1098         * Makefile.am (noinst_HEADERS): Adjusted.
1099         Reported by Jim Meyering.
1100
1101 1996-09-20  François Pinard  <pinard@iro.umontreal.ca>
1102
1103         * regex.c, regex.h, rx.c, rx.h: Deleted.
1104         * Makefile.am: Adjusted.
1105
1106 1996-09-19  François Pinard  <pinard@iro.umontreal.ca>
1107
1108         * Prerelease 1.11.12.
1109
1110         * execlp.c: Include stdio.h, not only stdio!
1111
1112 1996-09-16  François Pinard  <pinard@iro.umontreal.ca>
1113
1114         * open3.h: File deleted after being merged into system.h.
1115         * open3.c: File deleted, moved back into src/.
1116         * Makefile.am: Adjusted.
1117         Reported by Jim Meyering.
1118
1119 1996-08-24  François Pinard  <pinard@iro.umontreal.ca>
1120
1121         * Makefile.am (EXTRA_DIST): $(BUILT_SOURCES) is no longer
1122         necessary, as Automake now handles it automatically.
1123
1124 1996-07-16  François Pinard  <pinard@iro.umontreal.ca>
1125
1126         * Prerelease 1.11.11.
1127
1128         * Makefile.am (EXTRA_DIST): Move stpcpy.c there, from tar_SOURCES.
1129         Reported by Ulrich Drepper.
1130
1131 1996-04-17  François Pinard  <pinard@iro.umontreal.ca>
1132
1133         * Prerelease 1.11.10.
1134
1135         * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
1136
1137 1996-02-28  François Pinard  <pinard@iro.umontreal.ca>
1138
1139         * msleep.c: New file, from elsewhere.
1140         * Makefile.am: Adjusted.
1141
1142 1996-02-12  François Pinard  <pinard@iro.umontreal.ca>
1143
1144         * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29.
1145
1146 1996-01-14  François Pinard  <pinard@iro.umontreal.ca>
1147
1148         * Makefile.am (AUTOMAKE_OPTIONS): Select gnits.
1149
1150 1996-01-07  François Pinard  <pinard@iro.umontreal.ca>
1151
1152         * Makefile.am: Add parts of previous Makefile.in as FIXME comments.
1153
1154 1996-01-01  François Pinard  <pinard@iro.umontreal.ca>
1155
1156         * error.h: New file, from elsewhere.
1157         * Makefile.am: Add error.h to HEADERS.
1158         Reported by Jim Meyering.
1159
1160 1995-12-30  François Pinard  <pinard@iro.umontreal.ca>
1161
1162         * Makefile.am (INCLUDES): Add -I../intl to get libintl.h.
1163         Reported by Daniel S. Barclay, Göran Uddeborg, Jonathan Thornburg
1164         and Minh Tran-Le.
1165
1166 1995-12-29  François Pinard  <pinard@iro.umontreal.ca>
1167
1168         * Prerelease 1.11.9.
1169
1170         * Makefile.am: New file.
1171
1172 1995-11-22  François Pinard  <pinard@iro.umontreal.ca>
1173
1174         * Makefile.in (DISTFILES): Distribute ChangeLog.
1175         * ChangeLog: New, extracted from the top-level ChangeLog.
1176
1177 1995-06-18  François Pinard  <pinard@iro.umontreal.ca>
1178
1179         * execlp.c (execlp): New, extracted from src/port.c.
1180         * Makefile.in: Adjusted.
1181
1182         * open3.h: New, moved from src/.
1183         * open3.c: New, extracted from src/port.c.
1184         * Makefile.in: Adjusted.
1185         Clean out old NO_OPEN3 code.
1186
1187         * insremque.h, insremque.c: Deleted.
1188         * Makefile.in: Adjusted.
1189
1190 1995-06-17  François Pinard  <pinard@iro.umontreal.ca>
1191
1192         * Makefile.in (DISTFILES): Remove COPYING.LIB.
1193         * COPYING.LIB: Deleted.
1194
1195 1995-06-15  François Pinard  <pinard@iro.umontreal.ca>
1196
1197         * Makefile.in (dist): Do not hide copying rule.
1198
1199 1995-06-07  François Pinard  <pinard@iro.umontreal.ca>
1200
1201         * Makefile.in: Use subdir and distdir.
1202
1203         * stpcpy.c, xgetcwd.c: New functions needed by gettext.
1204         * Makefile.in: Adjusted to always compile these.
1205
1206 1995-05-16  François Pinard  <pinard@iro.umontreal.ca>
1207
1208         * insremque.h, insremque.c: New files, from GNU gettext.
1209         * Makefile.in: Take care of insremque.[hc].
1210
1211 1995-03-19  François Pinard  <pinard@iro.umontreal.ca>
1212
1213         * Makefile.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS.
1214
1215 1995-02-19  François Pinard  <pinard@iro.umontreal.ca>
1216
1217         * Makefile.in: Support ID files.  Do not distribute TAGS.
1218
1219 1995-02-05  François Pinard  <pinard@iro.umontreal.ca>
1220
1221         * Makefile.in (maintainer-clean): New name for realclean.
1222
1223 1994-12-18  François Pinard  <pinard@iro.umontreal.ca>
1224
1225         * safe-stat.h: New, from elsewhere.  This solves the fact that
1226         mkdir.c, rmdir.c and rename.c were needing it.
1227         * Makefile.in (Makefile): Distribute it.
1228         Reported by Bruno Haible and Sherwood Botsford.
1229
1230 1994-12-11  François Pinard  <pinard@iro.umontreal.ca>
1231
1232         * rx.c, rx.h: New, from elsewhere.
1233         * Makefile.in: Adjust accordingly.
1234
1235 1994-12-03  François Pinard  <pinard@iro.umontreal.ca>
1236
1237         * Makefile.in: Localize, adapting from how it is done in sharutils.
1238
1239 1994-09-14  François Pinard  <pinard@iro.umontreal.ca>
1240
1241         * Makefile.in: Cleanup...
1242         (DISTFILES): Distribute TAGS.
1243         (check): Deleted.
1244         (TAGS): Make TAGS in $(srcdir) only.
1245         (distclean): Do not remove TAGS.
1246         (realclean): Remove TAGS.
1247         (Makefile): Have ./config.status create this Makefile only.
1248
1249 1994-08-22  François Pinard  <pinard@iro.umontreal.ca>
1250
1251         Little cleanup in installation:
1252         * Makefile.in (install, check): Depend on all.
1253
1254 1994-08-21  François Pinard  <pinard@iro.umontreal.ca>
1255
1256         * Makefile.in: Correct for when a different build directory.
1257
1258         * rmdir.c: New, split out of mkdir.c.
1259         * Makefile.in: Distribute it.
1260         Reported by Greg Black.
1261
1262 1994-08-17  François Pinard  <pinard@iro.umontreal.ca>
1263
1264         * ftruncate.c: Revised, because there is no ftruncate
1265         capability whatsoever in Interactive Unix.
1266         Reported by Peder Chr. Norgaard.
1267
1268 1994-08-08  François Pinard  <pinard@iro.umontreal.ca>
1269         * memset.c, mkdir.c, rename.c, strstr.c and
1270         ftruncate.c: New, from elsewhere.
1271         * Makefile.in: Distribute them.
1272
1273 1994-08-05  François Pinard  <pinard@iro.umontreal.ca>
1274
1275         * Makefile.in (getdate.c): Tell the installer to expect 10
1276         shift/reduce conflicts instead of 9.
1277         Reported by Andreas Schwab.
1278
1279         * fileblocks.c: New, from elsewhere.
1280         * Makefile.in: Distribute it.
1281
1282 1994-08-02  François Pinard  <pinard@iro.umontreal.ca>
1283
1284         * xstrdup.c: New, from elsewhere.
1285         * Makefile.in: Adjusted.
1286
1287 1994-07-29  François Pinard  <pinard@iro.umontreal.ca>
1288
1289         * error.c: Add error_print_progname virtual routine.
1290
1291 1994-07-24  François Pinard  <pinard@iro.umontreal.ca>
1292
1293         * gmalloc.c: New, from elsewhere.  This renames and updates
1294         what was previously malloc.c.  This also solves __const vs const.
1295         * Makefile.in: Distribute gmalloc.c.
1296         Reported by Cliff Krumvieda, Francois Pinard, Henrik Bakman,
1297         J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt.
1298
1299 1994-07-22  François Pinard  <pinard@iro.umontreal.ca>
1300
1301         * Makefile.in (LIBOBJS): Get configured list of replacements.
1302         * fnmatch.h: Undefine FNM_PATHNAME and FNM_PERIOD, for HP-UX
1303         defines them in <unistd.h>.
1304
1305         * getdate.y: Acknowledging here a few reports which are
1306         likely solved by going to an updated version of getdate.y.
1307         Reported by Andrey A. Chernov, Bruce Evans, Dean Gaudet, Ian
1308         T. Zimmerman, Jeff Prothero, Mike Nolan, Milan Hodoscek, Peder
1309         Chr. Norgaard, Sarah Quady, Tarang Kumar Patel and Thomas
1310         Koenig.
1311
1312 1994-07-02  François Pinard  <pinard@iro.umontreal.ca>
1313
1314         * xmalloc.c: New file, from elsewhere.
1315         * error.c: New, from elsewhere.
1316         * Makefile.in: Adjusted.
1317
1318 1994-06-30  François Pinard  <pinard@iro.umontreal.ca>
1319
1320         * Makefile.in: New file.
1321
1322
1323 ----- po/ChangeLog -----
1324
1325 1997-04-25  François Pinard  <pinard@iro.umontreal.ca>
1326
1327         * Release 1.12.
1328
1329 1997-04-18  François Pinard  <pinard@iro.umontreal.ca>
1330
1331         * Prerelease 1.11p.
1332
1333         * fr.po: Updated file.
1334
1335 1997-04-11  François Pinard  <pinard@iro.umontreal.ca>
1336
1337         * Prerelease 1.11o.
1338
1339 1997-03-26  François Pinard  <pinard@iro.umontreal.ca>
1340
1341         * it.po: New file.
1342
1343 1997-02-14  François Pinard  <pinard@iro.umontreal.ca>
1344
1345         * pl.po: Updated file.
1346
1347 1996-11-22  François Pinard  <pinard@iro.umontreal.ca>
1348
1349         * POTFILES.in: Add src/common.h.
1350         Reported by Christian Kirsch.
1351
1352 1996-11-18  François Pinard  <pinard@iro.umontreal.ca>
1353
1354         * Prerelease 1.11.14.
1355
1356         * POTFILES.in: Adjust for changes in src/.
1357
1358 1996-09-05  François Pinard  <pinard@iro.umontreal.ca>
1359
1360         * Prerelease 1.11.12.
1361
1362         * pl.po: New file.
1363 \f
1364 1995-06-17  François Pinard  <pinard@iro.umontreal.ca>
1365
1366         * Release 1.11.8.
1367
1368         * Makefile.in (.po.gmo): Force moving the created .gmo file to
1369         $(srcdir), in case it was not already found and replaced there.
1370         (install-data): Find files in $(srcdir) if not in current dir,
1371         because .gmo files are taken there, right out the distribution.
1372         * intl/Makefile.in (DISTFILES): Ensure an all ready stamp-cat-id
1373         and cat-id-tbl.c into the distribution.
1374         (stamp-cat-id): Rewrite rule so it replaces files in $(srcdir),
1375         remove a useless rm and cat.
1376
1377         * intl/cat-compat.c, int/gettext.h, intl/po-to-tbl.sed,
1378         Makefile.in: Last minutes additions, and glimpses to the future
1379         gettext 0.6.1.
1380         Reported by Ulrich Drepper.
1381
1382         * Makefile.in (install-data, uninstall): Avoid using basename.
1383
1384 1995-06-15  François Pinard  <pinard@iro.umontreal.ca>
1385
1386         * Makefile.in (dist): Comment out tupdate action for now, it
1387         needs more tweeking before being distributed active.
1388
1389         * intl/Makefile.in (dist), Makefile.in (dist): Correct
1390         missing reference to $(srcdir) on cp call, also avoid outputting
1391         clutter while doing the work.
1392
1393         * intl/Makefile.in: Use top_srcdir for referring to $(PACKAGE).pot.
1394
1395         * Makefile.in (.po.gmo): Get around what seems to be an msgfmt
1396         bug, which adds .mo even to FILE in `-o FILE'.
1397
1398         * intl/Makefile.in, Makefile.in: Adjustments to NLS, so .sed
1399         scripts may now all reside in intl/.
1400
1401 1995-06-07  François Pinard  <pinard@iro.umontreal.ca>
1402
1403         * POTFILES: New file.
1404         * Makefile.in: Use POTFILES instead of TRANSCSRCS, also use
1405         top_srcdir.
1406
1407         * intl/linux-msg.sed, intl/po-to-tbl.sed, intl/xopen-msg.sed: New
1408         files, all taken from gettext 0.6.
1409
1410 1995-06-05  François Pinard  <pinard@iro.umontreal.ca>
1411
1412         * intl/*:  New from GNU gettext 0.6, replacing the previous
1413         version of this directory.  This change should solve many problems.
1414
1415         Reported by Bruno Haible, Christopher Vickery, Jan Carlson,
1416         Jean-Philippe Martin-Flatin, John David Anglin, Joseph E.
1417         Sacco, Kaveh R. Ghazi, Kurt Jaeger, Mark W. Eichin, Marty
1418         Leisner, Minh Tran-Le, Stephen Saroff, Thomas Koenig, Thomas
1419         Krebs and William Bader.
1420
1421 1995-05-16  François Pinard  <pinard@iro.umontreal.ca>
1422
1423         * intl/Makefile.in, Makefile.in: Many adjustments for GNU gettext.
1424
1425 1995-05-09  François Pinard  <pinard@iro.umontreal.ca>
1426
1427         * Makefile.in: New file.
1428         * de.po, fr.po, pt.po, sv.po: New files, adapted from
1429         the corresponding .tt files in src/.
1430
1431 1995-05-08  François Pinard  <pinard@iro.umontreal.ca>
1432
1433         * intl/*: New, from nlsutils.
1434
1435 1995-01-09  François Pinard  <pinard@iro.umontreal.ca>
1436
1437         * src/de.tt: New file, for Swedish.
1438         Reported by Jan Djarv.
1439
1440 1994-12-10  François Pinard  <pinard@iro.umontreal.ca>
1441
1442         * de.tt: New file, for German.
1443         Reported by Ulrich Drepper.
1444
1445
1446 ----- scripts/ChangeLog -----
1447
1448 1997-04-24  François Pinard  <pinard@iro.umontreal.ca>
1449
1450         * Release 1.12.
1451
1452         * level-1, level-0: Replace --block-size by --blocking.
1453
1454 1996-04-17  François Pinard  <pinard@iro.umontreal.ca>
1455
1456         * Prerelease 1.11.10.
1457
1458         * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
1459
1460 1996-01-14  François Pinard  <pinard@iro.umontreal.ca>
1461
1462         * Makefile.am (AUTOMAKE_OPTIONS): Select gnits.
1463
1464 1996-01-08  François Pinard  <pinard@iro.umontreal.ca>
1465
1466         * Makefile.am: New file.
1467
1468 1995-12-31  François Pinard  <pinard@iro.umontreal.ca>
1469
1470         * Makefile.in (check, dvi): New goals, doing nothing.
1471         Reported by Cesar Romani and Ulrich Drepper.
1472
1473 1995-06-21  François Pinard  <pinard@iro.umontreal.ca>
1474
1475         * Prerelease 1.11.9.
1476
1477         * Makefile.in: Distribute the ChangeLog, now recovered!
1478         Reported by Andreas Schwab.
1479 \f
1480 1995-06-17  François Pinard  <pinard@iro.umontreal.ca>
1481
1482         * Release 1.11.8.
1483
1484         * WARNING: New file.
1485         * Makefile.in (DISTFILES): Distribute it.
1486
1487 1995-06-15  François Pinard  <pinard@iro.umontreal.ca>
1488
1489         * sripts/Makefile.in (dist): Do not hide copying rule.
1490
1491 1995-06-07  François Pinard  <pinard@iro.umontreal.ca>
1492
1493         * Makefile.in: Use subdir and distdir.
1494
1495 1995-02-05  François Pinard  <pinard@iro.umontreal.ca>
1496
1497         * Prerelease 1.11.7.
1498
1499         * Makefile.in (maintainer-clean): New name for realclean.
1500
1501 1994-12-03  François Pinard  <pinard@iro.umontreal.ca>
1502
1503         * Prerelease 1.11.6.
1504
1505         * ChangeLog: Replaced by a warning for now.  It has
1506         seemingly been overwritten by the weekly script :-(.
1507
1508         * Makefile.in (dist): Correct .../examples to .../scripts.
1509
1510 1994-09-14  François Pinard  <pinard@iro.umontreal.ca>
1511
1512         * Makefile.in: Cleanup...
1513         (check): Deleted.
1514         (Makefile): Have ./config.status create this Makefile only.
1515
1516 1994-06-30  François Pinard  <pinard@iro.umontreal.ca>
1517
1518         * Prerelease 1.11.5.
1519
1520         * ChangeLog: Initialized by moving entries related to
1521         scripts out of this ChangeLog.
1522
1523 1993-11-24  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1524
1525         * dump-remind: Send mail notification to the original recipients
1526         that the dump has been continued when that is the case.
1527
1528 1993-03-31  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1529
1530         * level-0, level-1 (LOGFILE): Put logfile in `log' subdirectory.
1531
1532 1993-03-28  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1533
1534         * dump-remind (volno): Don't increment by one.
1535
1536 1993-03-25  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1537
1538         * level-0, level-1 (TAR_PART1): Use `--block-size', not just
1539         `--block', which is now ambiguous.
1540
1541 1993-03-24  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1542
1543         * backup-specs (TAR): New variable.
1544
1545         * level-0, level-1 (TAR_PART1): Get path of GNU tar from `TAR'
1546         variable, don't hardcode it.
1547
1548 1993-03-20  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1549
1550         * backup-specs (SLEEP_MESSAGE): put backslashes in front of nested
1551         double quotes.
1552
1553         * level-0, level-1 (BACKUP_DIRS): Don't put in quotes.
1554         (LOGFILE): Use sed to construct name, not awk.
1555
1556         * dump-remind (recipients): Replaced inefficient pipeline with a
1557         single, simple sed script.
1558         (volno): Deal with the possibility that VOLNO_FILE may not be
1559         created yet.
1560
1561 1993-03-19  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
1562
1563         * backup-specs (VOLNO_FILE): Removed abusive comment by Noah.
1564
1565 1993-03-18  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1566
1567         * Makefile.in (AUX): Include `dump-remind' in distribution.
1568
1569         * backup-specs (SLEEP_MESSAGE): New variable.
1570         level-0, level-1: Use it instead of external `dont_touch' file.
1571
1572         * level-0, level-1: Put most of the script in () and pipe
1573         everything from the subshell through tee -a $LOGFILE.  Since you
1574         really want most of the output to go to the logfile anyway, and
1575         since all those pipelines were preventing one from getting the
1576         exit status of most commands, this seems like the right idea.
1577
1578         * level-0, level-1 (LOGFILE): Use YYYY-MM-DD (all numeric) format
1579         for log file name, since that makes the file names sortable in a
1580         coherent way.  Suffix should always be `level-n' where n is the
1581         dump level.  level-0 script was just using `-full' instead.
1582
1583         * level-0, level-1 (DUMP_LEVEL): New variable.  Set to `0' or `1'
1584         in each script as appropriate.
1585
1586         * level-0, level-1 (HOST): Renamed to `localhost' for clarity.
1587         (host): renamed to `remotehost' for clarity.
1588
1589         * level-0, level-1 (startdate): New variable.  Use it in Subject
1590         line of mailed report.
1591
1592         * level-0, level-1: Fixed all instances where sed is called with a
1593         script on the command line to use `-e' option.
1594
1595         * level-0, level-1: Don't try to call logfile.sed to filter
1596         LOGFILE.  It's not distributed with tar and was never really used
1597         anyway.
1598
1599         * level-0, level-1: Put quotes around most variable names (barring
1600         those that are known to intentionally contain text that should be
1601         expanded into multiple words, like `TAR_PART1').
1602
1603         * level-0, level-1: Got rid of annoying trailing backslashes in awk
1604         scripts.  They were gratuitous.  Made them a little more readable
1605         by adding some whitespace.
1606
1607 1992-10-21  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1608
1609         * level-0, level-1: put curly braces around variables for clarity.
1610
1611         * backup-specs (DUMP_REMIND_SCRIPT): define it (but commented out
1612         so that distributed dump scripts won't use it by default).
1613         level-0, level-1 (TAR_PART1): use --info-script if
1614         DUMP_REMIND_SCRIPT is defined.
1615         dump-remind: new file (intended as an example).
1616
1617 1992-10-15  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1618
1619         * level-0, level-1: remove $LOGFILE.tmp files before exiting.
1620
1621 1992-09-24  Michael I Bushnell  <mib@churchy.gnu.ai.mit.edu>
1622
1623         * level-0, level-1 (TAR_PART1): remove --atime-preserve
1624         because of a total screw.
1625
1626 1992-09-10  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1627
1628         * level-0, level-1 (TAR_PART1): put --atime-preserve inside quotes.
1629
1630 1992-09-09  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
1631
1632         * level-0, level-1 (TAR_PART1): Use --atime-preserve.
1633
1634 1992-07-10  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
1635
1636         * level-0, level-1: Avoid silly Sun awk lossage.
1637
1638 1992-04-30  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1639
1640         * level-1: Added `$' before VOLNO_FILE in definition of TAR_PART1.
1641         Added line to remove $VOLNO_FILE from any previous dump before
1642         starting.
1643
1644         * level-0, level-1: Change long options to use `--' instead of `+'
1645         (support for `+' will go away soon)
1646
1647 1991-10-17  Michael I Bushnell  <mib@churchy.gnu.ai.mit.edu>
1648
1649         * level-0: Repair damage from previous mod: stdin to rsh must
1650         be the terminal or tar's questions lose.
1651
1652 1991-08-31  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
1653
1654         * level-0: Fixed several syntax errors associated with
1655         stdout/stderr redirection.
1656         Made sure remote host executes commands from sh where redirection
1657         is necessary, since root's shell might be csh in some places and
1658         the redirect syntax differs.
1659
1660 1991-07-01  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
1661
1662         * Fix a misplaced quote in level-0 and change some >& into
1663         2>&1.
1664
1665
1666 ----- src/ChangeLog -----
1667
1668 1997-04-25  François Pinard  <pinard@iro.umontreal.ca>
1669
1670         * Release 1.12.
1671
1672         * tar.c (main): Attempt to clarify the delayed error exit message.
1673         Reported by Richard Stallman.
1674
1675         * list.c (decode_mode): New name for demode.
1676
1677         * list.c (read_and): Set current_stat.st_mtime before testing it.
1678         Reported by Sven Verdoolaege.
1679
1680 1997-04-24  François Pinard  <pinard@iro.umontreal.ca>
1681
1682         * create.c (dump_file): Before asserting that we cannot access
1683         a directory, make sure tar is not installed suid root.
1684         Reported by Dietmar Braun.
1685
1686         * misc.c (quote_copy_string): Undo 1996-05-02 change, meant for
1687         the file mangler, now obsolete.  This will do neater listings.
1688         Reported by Max Hailperin and Noah Friedman.
1689
1690         * buffer.c, incremen.c, misc.c, tar.c: Replace dangling semicolons
1691         by continue; or break; depending on context.
1692         Reported by Robert E. Brown.
1693
1694 1997-04-23  François Pinard  <pinard@iro.umontreal.ca>
1695
1696         * arith.c (add_to_tarlong_helper): Compare a superdigit against a
1697         value, rather than an unsigned sum against zero.
1698         Reported by Bruno Haible.
1699
1700         * misc.c (quote_copy_string): Replace many if's by a switch.
1701
1702 1997-04-22  François Pinard  <pinard@iro.umontreal.ca>
1703
1704         * Prerelease 1.11q.
1705
1706         * extract.c (extract_archive): Check if directory extraction was
1707         attempted over an existing directory before attempting recovery,
1708         so avoiding extraction loops in cases like DIR/../DIR.
1709         Reported by Marc Boucher.
1710
1711         * delete.c (delete_archive_members): New name for junk_archive.
1712         * common.h, tar.c (main): Adjusted.
1713
1714 1997-04-20  François Pinard  <pinard@iro.umontreal.ca>
1715
1716         * tar.c (usage): Update comment about --mode.
1717
1718 1997-04-19  François Pinard  <pinard@iro.umontreal.ca>
1719
1720         * buffer.c: Include <fnmatch.h> if necessary.
1721         Reported by Bruno Haible.
1722
1723         * common.h: Declare write_dir_file for incremen.c.
1724         Reported by Bruno Haible.
1725
1726         * incremen.c (get_directory_contents): Nest an assignment and test
1727         within another set of aesthetical parentheses.
1728         Reported by Bruno Haible.
1729
1730         * tar.c (check_octal): Deleted.
1731         Reported by Bruno Haible.
1732
1733         * buffer.c (flush_archive): Add one impossible switch case.
1734         * delete.c (junk_archive): Add two impossible switch cases.
1735         * list.c (read_and): Add one impossible switch case.
1736         * update.c (update_archive): Add two impossible switch cases.
1737         Reported by Bruno Haible.
1738
1739         * names.c (name_gather): Explicitly declare allocated_length as
1740         an int, do not imply it.
1741         Reported by Bruno Haible.
1742
1743 1997-04-18  François Pinard  <pinard@iro.umontreal.ca>
1744
1745         * Prerelease 1.11p.
1746
1747         * Makefile.am (tar._o, rmt._o): Revise rules further.
1748         Reported by Bruno Haible and Ken Steube.
1749
1750 1997-04-16  François Pinard  <pinard@iro.umontreal.ca>
1751
1752         * arith.h: Prefer a single long over a long long, if possible.
1753         Also reject long long if it is not long enough :-).
1754         Reported by Bruno Haible.
1755
1756 1997-04-15  François Pinard  <pinard@iro.umontreal.ca>
1757
1758         * buffer.c, tar.c, update.c, common.h: Replace _COMMAND suffixed
1759         constants by _SUBCOMMAND suffixed.  Rename enum command by
1760         enum subcommand, main_command_option by subcommand_option and
1761         set_main_command_option by set_subcommand_option.
1762
1763         * create.c (dump_file): Remove badperror label, call WARN
1764         explicitly at the two other needed places instead.  Remove
1765         badfile label, expand the proper code at the three other
1766         needed places instead.  Delete the critical_error flag, just
1767         set exit_status to TAREXIT_FAILURE rather than setting this flag.
1768
1769 1997-04-12  François Pinard  <pinard@iro.umontreal.ca>
1770
1771         * delete.c (move_archive): Declare it void.
1772         Reported by Bruno Haible and Kaveh R. Ghazi.
1773
1774 1997-04-11  François Pinard  <pinard@iro.umontreal.ca>
1775
1776         * Prerelease 1.11o.
1777
1778         * Makefile.am: Duplicate rules for the ansi2knr case.
1779         Reported by Kaveh R. Ghazi and Marcus Daniels.
1780
1781 1997-04-10  François Pinard  <pinard@iro.umontreal.ca>
1782
1783         * common.h: Change mode_option from int to struct mode_change *.
1784         * tar.c (decode_option): Use mode_compile.
1785         * create.c (start_header): Use mode_adjust.
1786
1787 1997-04-09  François Pinard  <pinard@iro.umontreal.ca>
1788
1789         * All: Replace all flag_ prefixed variables by _option suffixed.
1790         * tar.c: Replace OPTION_ prefixed macros by _OPTION suffixed.
1791
1792         * buffer.c, tar.c, update.c, common.h: Replace COMMAND_ prefixed
1793         macros by _COMMAND suffixed, COMMAND_NONE by UNKNOWN_COMMAND,
1794         and delete TOO_MANY_COMMAND.  Turn these into an enum and declare
1795         main_command_option of this enum type, to replace command_mode,
1796         which was an int, everywhere.
1797         * tar.c (decode_options): Initialise main_command_option.
1798         (set_main_command_option): New function to replace
1799         SET_COMMAND_MODE.  Diagnostic ambiguous command as soon as seen.
1800         However, be forgiving if command has merely been repeated.
1801
1802         * buffer.c, tar.c, common.h: Have info_script_option be at the
1803         same time a flag and the option value, no need for a separate
1804         info_script variable.  Rename rsh_command to rsh_command_option,
1805         tape_length to tape_length_option, compress_program to
1806         use_compress_program_option, volno_file to volno_file_option.
1807         * tar.c (set_use_compress_program_option): New function.
1808
1809         * buffer.c, names.c, tar.c, common.h: Have files_from_option
1810         be at the same time a flag and the option value, no need for
1811         a separate namefile_name variable.
1812
1813         * buffer.c, create.c, tar.c, commun.h: Rename volume_label to
1814         volume_label_option.
1815
1816         * incremen.c, tar.c, common.h: Rename gnu_dumpfile to
1817         listed_incremental_option.  Let it unitialised for just incremental.
1818         * create.c (create_archive): No need to check both
1819         incremental_option and listed_incremental_option, as the later
1820         implies the former already.
1821
1822         * create.c, tar.c, common.h: Rename preset_owner to owner_option,
1823         preset_group to group_option and preset_mode to mode_option.
1824
1825         * create.c, incremen.c, list.c, tar.c, commun.h: Have
1826         after_date_option be a Boolean instead of a three-valued flag.
1827         Rename threshold_time to newer_mdate_option, which may be looked
1828         at without checking after_date_option first, as threshold_time
1829         before.  Make newer_cdate_option an alias for newer_mdate_option.
1830
1831 1997-04-08  François Pinard  <pinard@iro.umontreal.ca>
1832
1833         * buffer.c: Use int after extern to declare time_to_start_writing.
1834         * extract.c: Use int after static to declare we_are_root.
1835         Reported by Ariel Faigon.
1836
1837 1997-04-03  François Pinard  <pinard@iro.umontreal.ca>
1838
1839         * list.c (read_and): Use the proper enum constants in switch,
1840         instead of oldish and wrong numbers.
1841         Reported by Martin Mares.
1842
1843 1997-04-01  François Pinard  <pinard@iro.umontreal.ca>
1844
1845         * arith.c [SUPERDIGIT] (zerop_tarlong, lessp_tarlong,
1846         clear_tarlong, add_to_tarlong, add_to_tarlong, mult_tarlong,
1847         print_tarlong): Rename all functions by adding a _helper suffix.
1848         * arith.h [SUPERDIGIT]: Replace function prototypes by macros,
1849         each calling the function with _helper appended, and extracting
1850         pointers out of the tarlong structures.
1851         Reported by Andrew A. Ivanov and Kaveh R. Ghazi.
1852
1853         * buffer.c (child_open_for_compress): Copy all records coming out
1854         of the compressor, not only the last one.
1855         Reported by Alois Steindl, Mark Bynum, Martin Mares, Nelson
1856         H. F. Beebe, Scott J. Kramer and Torkel Hasle.
1857
1858 1997-03-29  François Pinard  <pinard@iro.umontreal.ca>
1859
1860         * create.c (dump_file): Ignore unreadable directories when
1861         --ignore-failed-read.
1862         Reported by Ralph Schleicher.
1863
1864         * create.c (deal_with_sparse): Chain the last partial zero block
1865         with the preceding data, do not try sparing it.  This correction
1866         is approximative, as the whole thing should be rethought.
1867         Reported by Andreas Degert.
1868
1869 1997-03-24  François Pinard  <pinard@iro.umontreal.ca>
1870
1871         * All: Rename head to current_header, hstat to current_stat, and
1872         header_format to current_format.
1873         * update.c (update_archive): Rename nstat to stat_data.
1874         * create.c: Do not extern hstat, as common.h does it.
1875         (deal_with_sparse): Get rid of amidst_data, since numbytes is
1876         already usable as a flag for the same thing.
1877
1878 1997-03-21  François Pinard  <pinard@iro.umontreal.ca>
1879
1880         * names.c (name_gather): Do not declare static variables which
1881         do not need to be.  Have allocated_length represent the full
1882         allocated length, instead of only the name part.  It's clearer.
1883         (addname): Similar cleanups.
1884
1885 1997-03-20  François Pinard  <pinard@iro.umontreal.ca>
1886
1887         * compare.c: Always call report_difference when there is a
1888         problem, so the exit status will be set in all cases.  Build the
1889         message string if necessary, so avoiding stdargs/varargs.
1890         (report_difference): If NULL argument, just set the exit status
1891         without reporting a message.  Move out the word `differs'
1892         in all callers, do not insert into an English message.
1893         (read_and_process): Return void, as the int result is never used.
1894         Assume processors returns nonzero for success and zero for
1895         failure, instead of 0 for success and -1 for error.
1896         (process_rawdata, process_dumpdir): Adjusted.
1897
1898         * compare.c: Remove different as a global variable, it is useless.
1899         (diff_sparse_files): Make different a local variable, reinitialise
1900         it on each call.  Otherwise, after any error elsewhere, all sparse
1901         files were always and falsely reported as erroneous.
1902         Reported by James E. Carpenter and Tim Towers.
1903
1904 1997-02-25  François Pinard  <pinard@iro.umontreal.ca>
1905
1906         * tar.c: Adjust copyright years in --version output.
1907
1908         * create.c (dump_file): Allow saving directories even with -o.
1909         Reported by Daniel Trinkle.
1910
1911 1996-11-26  François Pinard  <pinard@iro.umontreal.ca>
1912
1913         * compare.c (verify_volume) [FDFLUSH]: Use fsync even in that case.
1914         Reported by Marty Leisner.
1915
1916 1996-11-25  François Pinard  <pinard@iro.umontreal.ca>
1917
1918         * buffer.c (new_volume): Write file name in two words.
1919         * names.c (name_next): Idem.
1920         * buffer.c (flush_read): Speak of record size instead of blocksize.
1921         Reported by Christian Kirsch.
1922
1923 1996-11-22  François Pinard  <pinard@iro.umontreal.ca>
1924
1925         * list.c (read_header): Return failure, instead of success,
1926         whenever checksums do not match.
1927         Reported by Marc Boucher and Marty Leisner.
1928
1929         * incremen.c (get_directory_contents): Use stat_data instead of
1930         current_header for checking normal files.  Otherwise, new or
1931         modified files in old directories were not dumped, that is, if a
1932         directory was older than the listed entry, it was skipped
1933         completely without checking the contained files.
1934         Reported by David Johnson, John David Anglin and Wolfram Wagner.
1935
1936         * buffer.c (open_archive): When updating the archive, initialize
1937         the access variable with reading mode, not update mode.
1938         Reported by Andreas Schwab.
1939
1940         * delete.c (junk_archive): Initially jump directly into the loop,
1941         so deleting a file after a big one will not destroying the archive.
1942         Reported by Akiko Matsushita, Andreas Schwab, Eric Backus, Jeff
1943         Siegel, Saul Lubkin, Stuart Kemp and Yasushi Suzudo.
1944
1945 1996-11-19  François Pinard  <pinard@iro.umontreal.ca>
1946
1947         * incremen.c (get_directory_contents): Compute distance using the
1948         start of the proper buffer.
1949         Reported by David Johnson, Donald H. Locker, John David Anglin,
1950         Marc Boucher and Noah Friedman.
1951
1952         * tar.c (usage): Revise the mandatory/optional sentence again.
1953         Reported by Karl Berry.
1954
1955 1996-11-18  François Pinard  <pinard@iro.umontreal.ca>
1956
1957         * Prerelease 1.11.14.
1958
1959         * tar.c (usage): Explain the purpose of the program.
1960
1961         * tar.c (usage): Clarify the mandatory/optional sentence.
1962         Reported by Alex Schmidt.
1963
1964         * system.h [HAVE_SYS_TAPE_H]: Include sys/buf.h if it exists, to
1965         avoid many warnings on BSD/OS.
1966         Reported by Dan Reish.
1967
1968 1996-11-11  François Pinard  <pinard@iro.umontreal.ca>
1969
1970         * incremen.c (write_directory_file): Renamed from write_dir_file.
1971         (get_directory_contents): Renamed from get_dir_contents.
1972         * common.h: Adjusted.
1973
1974         * all: Cleanup around local variables, renaming them more
1975         appropriately, using initializers when natural, and moving them
1976         closer to the blocks where they are used.
1977
1978         A bit of reorganisation in the sources:
1979         * common.h: New file, for holding all GNU tar specific definitions,
1980         which were previously held in tar.h.
1981         * tar.h: Now limited to the archive format description only.
1982         * all: Include common.h instead of tar.h.
1983         * delete.c: New file, holding delete code out of update.c.
1984         * update.c: Now limited to appending type of commands.
1985         * compare.c: New name for diffarch.c.
1986         * incremen.c: New name for increm.c.
1987         * names.c: Moved over all name processing from tar.c.
1988         * tar.c, common.h: Adjusted.
1989         * Makefile.am: Adjusted.
1990
1991         * system.h (lstat) [!S_ISLNK]: Define as stat.
1992         * create.c, diffarch.c, increm.c: Remove similar definitions.
1993
1994         * tar.c: Merge --version-control into --backup, make it obsolete.
1995
1996 1996-11-10  François Pinard  <pinard@iro.umontreal.ca>
1997
1998         * all: Add a FIXME comment everywhere errno is modified by tar.
1999
2000         * buffer.c (new_volume): Return nonzero/zero for success/failure,
2001         instead of zero/negative.  Callers adjusted.  Use xstrdup on
2002         file name given by user with the answer "n", so avoiding the
2003         apparently useless allocation of one extra byte.  Avoid using p.
2004
2005         * buffer.c: Add DEBUG_FORK conditional code.
2006         Reported by Thomas König and Ulrich Drepper.
2007
2008         * misc.c (maybe_backup_file): In the renaming message, say that
2009         the previous file is being renamed, not the newly extracted one.
2010
2011         * buffer.c (backspace_output): Change return type to void, since
2012         returned values were never used.
2013         * update.c (move_arch): Idem.
2014         (xdup2): New name for redirect, order of arguments was not natural.
2015
2016 1996-11-09  François Pinard  <pinard@iro.umontreal.ca>
2017
2018         * all: Remove all white lines between open braces and comments.
2019
2020         * tar.h: Declare access_mode as an enum and as a variable.
2021         Adjust declaration of open_archive.
2022         * buffer.c: (open_archive, new_volume): Use access instead of
2023         reading.  Callers adjusted for using enum access_mode arguments.
2024         (flush_archive, close_archive): Use access_mode, and cleanup.
2025         * diffarch.c (verify_volume): Use access_mode.
2026
2027         * buffer.c (child_open_for_compress, child_open_for_uncompress):
2028         Split of previous child_open_for_compress.  Clean up.
2029         (open_archive): Adjusted for calling the proper function above.
2030
2031 1996-11-09  François Pinard  <pinard@iro.umontreal.ca>
2032
2033         * Prerelease 1.11.13.
2034
2035         * tar.c (usage): Do not tie --posix anymore to 1.12.
2036
2037         * extract.c (set_stat): Until we know better, for the time being,
2038         limit restoring symbolic link attributes to lchown only.
2039
2040         * all: Mini clean up.  Systematically set logical variables to
2041         one instead of auto-incrementing them (PDP-11 time is over by
2042         now! :-).  Replace some single letter counters or cursors by
2043         variables named counter or cursor.  Simplify a few C constructs.
2044
2045         * buffer.c, tar.h: Delete read_error_flag, set but never used.
2046         Rename r_error_count to read_error_count.
2047
2048         * create.c (clear_buffer): Use memset instead of explicit loop.
2049         (zero_block_p): Renamed from zero_block, callers adjusted.
2050
2051 1996-11-07  François Pinard  <pinard@iro.umontreal.ca>
2052
2053         * rmt.c (private_strerror): Add const's to sys_errlist declaration.
2054         Reported by Fabio d'Alessi.
2055
2056 1996-11-06  François Pinard  <pinard@iro.umontreal.ca>
2057
2058         * tar.h: Add OPTION_BACKUP, OPTION_SUFFIX, OPTION_VERSION_CONTROL.
2059         Renumber options from 3 instead of from 10.  Declare flag_backup.
2060         * tar.c:  Include backupfile.h.  Implement --backup, --suffix and
2061         --version-control decoding.  Adjust usage documentation.
2062
2063         * misc.c (maybe_backup_file, un_backup_file): New functions.
2064         * tar.h: Adjusted.
2065         * buffer.c (child_open_for_compress, open_archive, new_volume):
2066         Use the new functions.
2067         * extract.c (extract_archive): Idem.
2068         Reported by Jeffrey Mark Siskind, Karl Berry, Karl Heuer, Marty
2069         Leisner, Melissa Weisshaus and William Bader.
2070
2071         * misc.c (assign_string): Moved over from tar.c.
2072         * tar.h: Adjusted.
2073
2074 1996-10-28  François Pinard  <pinard@iro.umontreal.ca>
2075
2076         * tar.h: Declare enum read_header, for return values of read_header.
2077         * diffarch.c (verify_volume): Adjusted.
2078         * list.c (read_and, read_header): Adjusted.
2079         * update.c (junk_archive, update_archive): Adjusted.
2080         * update.c: Rename prev_status to previous_status.
2081         * update.c (junk_archive): Delete found_stuff, use logical_status.
2082
2083 1996-10-15  François Pinard  <pinard@iro.umontreal.ca>
2084
2085         * buffer.c (new_volume, open_archive): Soften messages.
2086         * create.c, extract.c: Add quotes around slashes in some messages.
2087         * tar.c (usage): Added a missing equal sign after --directory.
2088         Reported by Jan Djarv.
2089
2090 1996-09-22  François Pinard  <pinard@iro.umontreal.ca>
2091
2092         * tar.c: Write --no-recursion instead of --no-recurse.
2093         Reported by Noah Friedman.
2094
2095 1996-09-20  François Pinard  <pinard@iro.umontreal.ca>
2096
2097         * tar.h: Delete label_pattern.
2098         * tar.c (main): Do not compile anymore volume_label as a regexp.
2099         (usage): Document --label as accepting a globbing pattern.
2100         * buffer.c, tar.c: Do not include regex.h neither rx.h.
2101         * buffer.c (check_label_pattern): New function.
2102         (open_archive, flush_read): Use it, instead of re_match.
2103
2104         * tar.c (decode_options): Better space --version output.
2105
2106 1996-09-19  François Pinard  <pinard@iro.umontreal.ca>
2107
2108         * Prerelease 1.11.12
2109
2110         * Makefile.am (EXTRA_PROGRAMS): Compile rmt properly, instead of
2111         letting make use default .c to executable rule.
2112
2113         * tar.c: Include getopt.h.
2114         * system.h: Don't.
2115
2116         * increm.c (get_dir_contents): Consider all NFS devices as equal
2117         before deciding that a directory was renamed, so automount will
2118         not fool GNU tar into spurious incremental redumping.
2119         Reported by Frank Koenen, Giorgio Signorini, Joachim Holzfuss,
2120         Konno Hiroharu, R. Kent Dybvig and Wolfram Wagner.
2121
2122         * tar.c (usage): Add bug report address in --help output.
2123         (decode_options): Add copyright and authors in --version output.
2124
2125         * increm.c: New name for gnu.c.
2126         * Makefile.am (tar_SOURCES): Adjusted.
2127
2128         * gnu.c (init_buffer, add_buffer, get_buffer, flush_buffer): Moved
2129         over from misc.c.  Deleted is_dot_or_dot_dot and remove_any_file.
2130         * misc.c (is_dot_or_dotdot, remove_any_file): Moved over from gnu.c.
2131         Deleted init_buffer, add_buffer, get_buffer and flush_buffer.
2132         * tar.h: Adjusted.
2133
2134 1996-09-18  François Pinard  <pinard@iro.umontreal.ca>
2135
2136         * buffer.c (write_error): Obey --totals before aborting.
2137         Reported by Greg Chung.
2138
2139         * buffer.c (read_error, write_error): Renamed from readerror and
2140         writeerror.
2141         * tar.c (read_name_from_file): Rename c to character.
2142
2143 1996-09-17  François Pinard  <pinard@iro.umontreal.ca>
2144
2145         * arith.h (tarlong): The typedef tarlong, when an array, is now
2146         wrapped inside a struct to avoid bugs in EWS 4.2 C compiler.
2147         * arith.c: Adjusted.
2148         Reported by Paul Eggert.
2149
2150         * buffer.c: Declare archive_stat statically.
2151         (open_archive): Do not declare archive_stat locally.
2152         (close_archive): Limit archive draining to while reading a pipe.
2153         Reported by Andreas Schwab.
2154
2155 1996-09-16  François Pinard  <pinard@iro.umontreal.ca>
2156
2157         * system.h: Define protected defaults for open parameter symbols.
2158         [EMUL_OPEN3]: Intercept open calls and redirect them to open3.
2159         * open3.c: New file, moved over from lib/.  Merely include
2160         system.h rather than config.h, errno.h and open3.h.
2161         [EMUL_OPEN3]: The compilation of the file depends on this symbol.
2162         When it was in lib/, we were using LIBOBJS to control this.
2163         * Makefile.am: Adjusted.
2164         * extract.c: Don't call open3.h.
2165         Reported by Jim Meyering.
2166
2167 1996-09-09  François Pinard  <pinard@iro.umontreal.ca>
2168
2169         * Makefile.am (libexec_PROGRAMS): Rely on @RMT@, not rmt.
2170         (bin_PROGRAMS): Do not include @RMT@.
2171
2172         * gnu.c (remove_any_file): Protect value of errno in case
2173         of failure to remove a directory, in non-recursive mode.
2174         This should correct spurious diagnostics while extracting
2175         directories over already existing hierarchies.
2176         Reported by Martin Mares and Marty Leisner.
2177
2178 1996-09-04  François Pinard  <pinard@iro.umontreal.ca>
2179
2180         * gnu.c (read_dir_file): Diagnose file names over PATH_MAX.
2181         (get_dir_contents, add_dir_name): Increase namebuf many times if
2182         this is needed to receive a loong file name.
2183         Reported by Carsten Heyl.
2184
2185         * Makefile.am (tar.o, rmt.o): Special rules for defining
2186         LOCALEDIR, instead of having it defined on all compiles.
2187
2188         * Makefile.am: Remove check related lines, moved over to tests/.
2189
2190 1996-09-03  François Pinard  <pinard@iro.umontreal.ca>
2191
2192         * Makefile.am: Use genfile in check_PROGRAMS, not noinst_PROGRAMS.
2193         (check-local): Do not depend on genfile.
2194
2195 1996-08-24  François Pinard  <pinard@iro.umontreal.ca>
2196
2197         * Makefile.am (EXTRA_DIST): Do not mention ansi2knr.1 nor
2198         ansi2knr.c, as Automake now handle them automatically.
2199
2200 1996-07-18  François Pinard  <pinard@iro.umontreal.ca>
2201
2202         * arith.h: Include tar.h, not arith.h, so FATAL_ERROR is defined.
2203         [!SUPER_DIGIT]: Declare arguments to ..._tarlong routines as
2204         pointers to unsigned long and not arrays, for avoiding pointers
2205         to arrays, and nevertheless have arrays passed by reference
2206         rather than by value.
2207         * arith.c: Adjusted function headers accordingly.
2208         * buffer.c, tar.c: Removed address-of operators, using tarlongs.
2209         Reported by Christian T. Dum, Jim Meyering and Kaveh R. Ghazi.
2210
2211         * arith.h [SUPER_DIGIT]: Avoid indirection in all macros for
2212         Accumulators.  This, in particular, solves a bug where the pointer
2213         value itself was printed, rather than the pointed to value.
2214         Reported by Drew Sullivan and Wolfram Wagner.
2215
2216         * Makefile.am (EXTRA_DIST): Include ansi2knr.[1c] for now.
2217         Reported by Christian T. Dum, Jim Meyering and Kaveh R. Ghazi.
2218
2219 1996-07-17  François Pinard  <pinard@iro.umontreal.ca>
2220
2221         * Prerelease 1.11.11.
2222
2223         * Makefile.am (check-local): Ensure relinking if the service
2224         libraries where modified (waiting for Automake to do it!).
2225
2226 1996-07-16  François Pinard  <pinard@iro.umontreal.ca>
2227
2228         * rmt.c (strerror): It is a macro on some systems.
2229         Reported by Santiago Vila Doncel.
2230
2231 1996-07-15  François Pinard  <pinard@iro.umontreal.ca>
2232
2233         * Prerelease 1.11.10.
2234
2235         * checktar.sh: Use a more regular WARNING in message.
2236
2237 1996-07-09  François Pinard  <pinard@iro.umontreal.ca>
2238
2239         * tar.h: Declare that unquote_string as returning int, not char *.
2240         * misc.c (unquote_string): New name for un_quote_string.  Clean
2241         up a bit, return a boolean indicator for success, not a string.
2242         * gnu.c (read_dir_file), mangle.c (extract_mangle), tar.c
2243         (add_exclude): Callers adjusted, so they never use a NULL return
2244         as an actual string.  In fact, the result of unquote_string is
2245         always used, even if the quoting was improper.
2246         Reported by Johan Vromans.
2247
2248 1996-05-03  François Pinard  <pinard@iro.umontreal.ca>
2249
2250         * tar.h: Define TTY_NAME as a macro, instead of an external array.
2251         * tar.c: Remove declaration of TTY_NAME.
2252
2253         * tar.h: Rename new_time to threshold time.  Make it GLOBAL.
2254         * tar.c, create.c, gnu.c, list.c: Adjusted.
2255         (decode_options): Clarify -N and --newer-mtime decoding, ensure
2256         one of them is called at most, otherwise it would misbehave.
2257
2258 1996-05-02  François Pinard  <pinard@iro.umontreal.ca>
2259
2260         * misc.c (quote_copy_string): Ensure spaces are backslash-quoted.
2261         Reported by Max Hailperin.
2262
2263         * list.c (decode_header): Some clean up.  Recognize POSIX archive
2264         headers, avoid fetching atime or ctime in this case.
2265         [!S_IFBLK || !S_IFCHR]: Ensure st_rdev is cleared appropriately.
2266         * tar.h: Rename head_standard to header_format, so turning an
2267         int to an enum archive_format.  Adjust decode_header prototype.
2268         * diffarch.c, extract.c, list.c, update.c: Usages changed.
2269         * create.c: Ensure oldgnu_header is only used when OLDGNU_FORMAT.
2270         (Correction just starting to be made--will be comprehensive...)
2271         Reported by Anders Andersson, Bdale Garbee, Chris G Demetriou and
2272         David J. MacKenzie.
2273
2274         * buffer.c, gnu.c, rtapelib.c, tar.c: Diagnose errors on fclose.
2275         Reported by Jim Meyering.
2276
2277 1996-05-01  François Pinard  <pinard@iro.umontreal.ca>
2278
2279         * buffer.c (close_archive): If reading and the archive is
2280         finished, read until end of archive, for avoiding an error
2281         message from the upstream process if we are reading from a pipe.
2282         Reported by Bennett Todd, Dick Streefland, Don Bennett, Ian Lance
2283         Taylor, Jean-loup Gailly and Piercarlo Grandi.
2284
2285         * create.c (dump_file): Add note about accuracy of st_blocks.
2286         Reported by Dick Streefland.
2287
2288         * diffarch.c: Include <linux/fd.h> if it exists.
2289         (verify_volume): fsync, than ioctl(, FDFLUSH) first.
2290         Reported by Marty Leisner.
2291
2292 1996-04-29  François Pinard  <pinard@iro.umontreal.ca>
2293
2294         * list.c (isotime): New function.
2295         (print_header) [!USE_OLD_CTIME]: Use it instead of ctime.
2296         Reported by Karl Berry and Markus Kuhn.
2297
2298 1996-04-23  François Pinard  <pinard@iro.umontreal.ca>
2299
2300         * extract.c (set_stat): Accept a new parameter telling if this is
2301         a symbolic link.  In this case, and if lchown exists, use it
2302         instead of chown.  Callers adjusted.
2303         (extract_archive): Do call set_stat over restored symbolic links.
2304         Reported by Andreas Koppenhoefer, Bernard Derval, Ian Jackson,
2305         Matt Power, Warren Dodge and Wolfram Gloger.
2306
2307         * extract.c (extr_init): If the umask was very restrictive at
2308         start of tar, nevertheless ensure we create intermediate
2309         directories with such permissions that we can at least add files
2310         into them.
2311         (extract_archive): Same, but for final directory.  Ensure
2312         directory attributes are restored in all cases.
2313         Reported by Piercarlo Grandi.
2314
2315         * tar.c: Implement --owner, --group and --mode options.
2316         * tar.h: Declare preset_owner, preset_group and preset_mode.
2317         * create.c: Obey these variables.
2318         Reported by Ken Raeburn, Richard Stallman and Stephen Gildea.
2319
2320         * create.c (dump_file): When wanting the length of the link
2321         name, use strlen, rather then doing wrong arithmetic giving
2322         the number of removed slashes at the beginning of it.
2323         Reported by Brian R. Smith.
2324
2325         * create.c (start_header): Try removing leading slashes even for
2326         long file names.
2327         Reported by Art Isbell, Fritz Elfert and Robert E. Brown.
2328
2329         * buffer.c (new_volume): Avoid calling closeout_volume_number if
2330         the --volno-file option was not specified, so avoiding crashes.
2331         * tar.c (usage): Document the --volno-file option.
2332         Reported by Christoph Litauer, Daniel S. Barclay, David Taylor,
2333         Erik D. Frederick, Larry Creech, Loïc Prylli, Loren J. Rittle,
2334         Marty Leisner, Neil Faulks, Paul Mitchell, Rocky Giannini, Roy
2335         Marantz, Sylvain Rougier, Timothy J. Lee and Werner Almesberger.
2336
2337 1996-04-22  François Pinard  <pinard@iro.umontreal.ca>
2338
2339         * system.h (N_): Define marking macro for delayed translations.
2340         * rmt.c: Use N_ instead of _ for returned strings.  It does not
2341         make sense translating messages in a remote process, not knowing
2342         the language in use in the local process.
2343
2344 1996-04-18  François Pinard  <pinard@iro.umontreal.ca>
2345
2346         Instead of -UU for removing directories, request a long option.
2347         * tar.c: Implement --recursive-unlink.
2348         (usage): Document --recursive-unlink.
2349         (decode_options): Have --recursive-unlink imply --unlink-first.
2350         * tar.h: Declare --recursive-unlink.
2351         * extract.c (extract_archive): Use flag_recursive_unlink instead
2352         of flag_unlink_first > 1.
2353         Reported by Andreas Schwab.
2354
2355 1996-04-17  François Pinard  <pinard@iro.umontreal.ca>
2356
2357         * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
2358
2359         * tar.c (addname, name_gather): Zero out freshly allocated struct
2360         name, to prevent garbage to get into the structure.
2361         Reported by Jonathan Kamens.
2362
2363 1996-03-28  François Pinard  <pinard@iro.umontreal.ca>
2364
2365         * create.c (dump_file): Cast %ld argument to (long).
2366         Reported by Constantin Belous and Jörgen Hägg.
2367
2368 1996-03-21  François Pinard  <pinard@iro.umontreal.ca>
2369
2370         * tar.c (main): Return int, not void.
2371         Reported by Timothy J. Lee and Peter Seebach.
2372
2373 1996-02-28  François Pinard  <pinard@iro.umontreal.ca>
2374
2375         * Makefile.am: Use RMT instead of PROGRAMS and noinst_HEADERS
2376         instead of HEADERS.
2377
2378 1996-02-12  François Pinard  <pinard@iro.umontreal.ca>
2379
2380         * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29.
2381
2382 1996-02-03  François Pinard  <pinard@iro.umontreal.ca>
2383
2384         Ensure --totals work correctly for huge archives:
2385         * arith.h, arith.c: New files.
2386         * Makefile.am: Use arith.h and arith.c.
2387         * tar.h: Do not declare tot_written anymore, include "arith.h".
2388         * tar.c (main): Call init_total_written and print_total_written.
2389         * buffer.c: Rename tot_written to total_written, make it tarlong.
2390         (init_total_written, print_total_written): New routines.
2391         Reported by Albert W. Dorrington, Chris F.M. Verberne, David
2392         Martin, Eduardo Villasenor de Rivas, Greg Chung, Jim Meyering,
2393         John R. Vanderpool, Jon Lewis, Jörg Weule, Jörgen Hägg, Rod
2394         Thompson, Russell Cattelan, Ted Rule and Tor Lillqvist.
2395
2396         Ensure --tape-length is usable for huge media:
2397         * tar.h: Declare tape_length as tarlong instead of int.
2398         * tar.c (decode_option): Decode tape_length as tarlong, and use
2399         its value pre-multiplied by 1024.
2400         * buffer.c (flush_write): Use bytes_written and tape_length as
2401         tarlongs.  Declare bytes_written outside flush_write.
2402         (init_total_written): Zero out bytes_written as well.
2403         Reported by Dave Barr.
2404
2405 1996-01-15  François Pinard  <pinard@iro.umontreal.ca>
2406
2407         * rtapelib.c (rmt_open__) [MSDOS]: Do not call setuid/setgid.
2408         Reported by Yasushi Suzudo.
2409
2410 1996-01-14  François Pinard  <pinard@iro.umontreal.ca>
2411
2412         * Makefile.am (AUTOMAKE_OPTIONS): Select gnits and ansi2knr.
2413
2414 1996-01-08  François Pinard  <pinard@iro.umontreal.ca>
2415
2416         * create.c: Initialize linklist to NULL.
2417         Reported by Bradley A. Smith.
2418
2419 1996-01-07  François Pinard  <pinard@iro.umontreal.ca>
2420
2421         * Makefile.am: Add parts of previous Makefile.in as FIXME comments.
2422
2423 1996-01-03  François Pinard  <pinard@iro.umontreal.ca>
2424
2425         * tar.c (usage): Avoid an unescaped new line.
2426         Reported by Kaveh R. Ghazi and Mark Bynum.
2427
2428         * system.h: Declare valloc if it exists and is not #defined.
2429         * create.c (start_header): Add missing DEFAULT_FORMAT case.
2430         * gnu.c (read_dir_file): Use NULL instead of (char *) 0.
2431
2432         * Makefile.am: Install rmt in $(libexec), not in sbin.
2433
2434         * tar.c (decode_options): Add a semicolon so default case is
2435         not completely empty, for better ANSI C compliance.
2436         Reported by John David Anglin, Kaveh R. Ghazi and Mark Bynum.
2437
2438 1996-01-02  François Pinard  <pinard@iro.umontreal.ca>
2439
2440         * buffer.c (open_archive): Allocate real_s_name at run time
2441         instead of statically, because PATH_MAX is not always constant.
2442         Reported by Bruno Haible, John David Anglin, Jonathan Thornburg,
2443         Kaveh R. Ghazi, Martin Bellenberg, Marty Leisner, Nelson
2444         H. F. Beebe, Roland McGrath and Thomas König.
2445
2446         * Makefile.am (DIST_OTHER): Distribute BACKLOG.
2447         Reported by Marty Leisner.
2448
2449 1996-01-01  François Pinard  <pinard@iro.umontreal.ca>
2450
2451         * system.h: Include "error.h" instead of declaring error ().
2452         Reported by Jim Meyering.
2453
2454 1995-12-31  François Pinard  <pinard@iro.umontreal.ca>
2455
2456         * Makefile.am: New file.
2457
2458 1995-12-30  François Pinard  <pinard@iro.umontreal.ca>
2459
2460         * Makefile.in: Define LOCALEDIR in DEFS.
2461         * system.h [!ENABLE_NLS]: Add replacement for bindtextdomain.
2462         * tar.c (main): Add call to bindtextdomain.
2463         * rmt.c (main): Add calls to bindtextdomain and textdomain.
2464         Reported by Ulrich Drepper.
2465
2466         * buffer.c, create.c, diffarch.c, gnu.c, list.c, rmt.h, system.h,
2467         tar.h, update.c: Replace __P by PARAMS, to respect ANSI C.
2468         * rtapelib.c, rmt.h: Replace all __rmt* symbols by rmt*__.
2469
2470 1995-12-28  François Pinard  <pinard@iro.umontreal.ca>
2471
2472         * Prerelease 1.11.9.
2473
2474         * extract.c (extr_init): Initialize variables in any case,
2475         instead of partly relying on static initializations.  Remove
2476         static initializations for those variables.
2477
2478 1995-12-24  François Pinard  <pinard@iro.umontreal.ca>
2479
2480         * extract.c (extract_archive): On systems not having symbolic
2481         links, attempt extracting symbolic links as hard links instead,
2482         as POSIX suggests.  Emit a diagnostic on first occurrence.
2483
2484         * extract.c (extract_archive): On systems not having contiguous
2485         files, continue extracting them as regular files as before, but
2486         emit a diagnostic on first occurrence.
2487
2488 1995-12-23  François Pinard  <pinard@iro.umontreal.ca>
2489
2490         * tar.h: Declare remove_any_file.
2491         * gnu.c (remove_any_file): New name for recursively_delete.
2492         Add a parameter to control recursion.  Inverse return value,
2493         so 0 is failure.  Ensure errno is always valid in this case.
2494         (gnu_restore): Specify recursion when calling remove_any_file.
2495         * extract.c (maybe_recoverable): New routine.
2496         (extract_archive): Call maybe_recoverable rather than
2497         make_directories, so deleting files is also tried.  Some cleanup.
2498
2499         * tar.h: Declare flag_unlink_first.
2500         * tar.c (decode_options): Decode --unlink-first (-U).
2501         (usage): Document it.
2502         * extract.c (extract_archive): With -U, call remove_any_file
2503         prior to extraction for everything except directories.
2504
2505         Reported by Andrew J. Schorr, Andrey A. Chernov, Axel Boldt, Bo
2506         Nygaard Bai, Chris F.M. Verberne, Chris G. Demetriou, Christian
2507         Callsen, Daniel S. Barclay, Ian Jackson, James Stevens, Seth
2508         Robertson, Tito Flagella, Warner Losh and Wolfram Wagner.
2509
2510 1995-12-22  François Pinard  <pinard@iro.umontreal.ca>
2511
2512         * tar.c (name_close): Specify static.
2513         (main): Call name_close after create_archive.
2514         * create.c (create_archive): Do not call name_close.
2515
2516         * tar.c: Clean out names_arg[cv] crumb.
2517         (name_next): Simplify routine by merging both loops.
2518         (addname): Avoid xstrdup'ing result of new_name, this corrects a
2519         memory leak.
2520
2521         * extract.c: Normalize error message so the file is identified at
2522         the beginning of it.
2523
2524         * tar.h (USAGE_ERROR): New macro.
2525         * tar.c: Use USAGE_ERROR as far as possible.  Cleanup and
2526         normalization in string for usage errors.  Better detection of
2527         conflicting options about archive format or compression program.
2528
2529         * tar.c (decode_options): Decouple cases for -C and files.  Count
2530         number of input files.  Cowardly refuse to create an empty archive
2531         file, if -c is given without input file or list.
2532         Reported by Karl Berry and Robert Bernstein.
2533
2534 1995-12-21  François Pinard  <pinard@iro.umontreal.ca>
2535
2536         * buffer.c: Rename a few err variables to status.
2537         * extract.c: Rename a few check variables to status.
2538
2539         Corrections to speed-up the sizeing pass in Amanda:
2540         * tar.h: Declare dev_null_output.
2541         * buffer.c (open_archive): Detect when archive is /dev/null.
2542         (flush_write): Avoid writing to /dev/null.
2543         * create.c (dump_file): Do not open file if archive is being
2544         written to /dev/null, nor read file nor restore times.
2545         Reported by Greg Maples and Tor Lillqvist.
2546
2547         * gnu.c: Have dir_list properly initialized to NULL.
2548         Reported by Paul Nordstrom and Tim Lashua.
2549
2550         * extract.c: Rename ourmask to newdir_umask.  Rename and
2551         complement notumask to current_umask.
2552         * list.c (print_for_mkdir): New name for pr_mkdir.
2553         * tar.h: Adjust declaration.
2554         * extract.c (make_directories): New name for make_dirs.  Some
2555         cleanup in variable names.
2556
2557         * extract.c: Let newdir_umask be a global variable.
2558         (make_directories): Use newdir_umask while creating intermediate
2559         directories.  They used to be 0777 unconditionally.
2560         Reported by Bruce Evans, Harald König and James Crawford Ralston.
2561
2562 1995-12-20  François Pinard  <pinard@iro.umontreal.ca>
2563
2564         * create.c (finish_header): Avoid printing the header for long
2565         names or links, this avoids spurious `Visible longname error's.
2566
2567         Reported by Arne Wichmann, Chris F.M. Verberne, Frank Koenen,
2568         Franz-Werner Gergen, Ian Jackson, Jon Lewis, Mark Kollert, Paul
2569         Nordstrom, Ted Rule, Thomas Priesner, Tim Rylance and Tom Tromey.
2570
2571 1995-12-19  François Pinard  <pinard@iro.umontreal.ca>
2572
2573         * buffer.c: Have real_s_name able to hold PATH_MAX characters,
2574         not only NAME_FIELD_SIZE.  It was breaking --multi-volume
2575         --listed-incremental when backing up long file names.
2576         Many symptoms really: a screwed-up date on the incremental data
2577         file, dumping incremental which should not have been, etc.
2578         * (flush_read): Avoid altering save_name pointer value, use
2579         cursor instead.  Also avoid the optimization of cleaning each
2580         save_name only once per flush_read if it did not change: it
2581         was using `save_name = real_s_name;', and since save_name may
2582         be freed at any time, this is/was really running after trouble.
2583
2584         Reported by Alexander V. Lukyanov, Axel Habermann, Chance
2585         Reschke, Claus Heine, Christian von Roques, Daniel Hagerty,
2586         Daniel S. Barclay, Dirk Herr-Hoyman, Donald H. Locker, Ed Childs,
2587         Heiko Schinke, Hunyue Yau, Goeran Uddeborg, Grant McDorman,
2588         Joachim Seelig, Joe DeBattista, Jonathan Thornburg, Joutsiniemi
2589         Tommi Il, Jürgen Lüters, Keith Young, Kelly Stephens, Kevin
2590         Dalley, Konno Hiroharu, Larry Creech, Martin Mares, Michael
2591         Dietrich, Michael Giddings, Michael Meissner, Michael P Urban,
2592         Paul Siddall, Pierce Cantrell, Peter Fox, Robert Frey, Roderich
2593         Schupp, Sam Richards, Stephen J Bevan, Torsten Lull, Wolfram
2594         Gloger and Yu-Min Liang.
2595
2596         * system.h: Include <sys/tprintf.h> and <sys/device.h> for BSDi.
2597         Reported by Chris Arthur, Dan Reish, Karl Berry and Skip Montanaro.
2598
2599         * rmt.c (private_strerror):  New, copied from lib/error.c.
2600         Remove sys_errlist declaration, and use syserror instead.
2601         Reported by Chris Arthur, Coranth Gryphon, Erich Stefan Boleyn,
2602         Fabio d'Alessi, Greg Hudson, Jason R. Mastaler, Skip Montanaro,
2603         Thomas Krebs and Troy Rudolph.
2604
2605 1995-12-17  François Pinard  <pinard@iro.umontreal.ca>
2606
2607         * extract.c (extract_archive): Unrecognized types were defaulted
2608         to sparse files instead of regular files, because of an improper
2609         /* Fall through.  */.
2610
2611         * create.c, diffarch.c, extract.c, gnu.c, list.c, rtapelib.c,
2612         tar.c: Drop register specifications, useless in GNU's tar, as
2613         tar does not use longjmp, and GNU C has -O automagically set.
2614
2615         * extract.c (extract_archive): Inhibit creation of links, special
2616         devices, directories, etc., when --to-stdout option is being used.
2617         Reported by Donald B Gordon, Gerben Wierda, Greg Chung, Norbert
2618         Kiesel and Roman Czyborra.
2619
2620 1995-12-04  François Pinard  <pinard@iro.umontreal.ca>
2621
2622         * tar.h: Implement FATAL_ERROR, telling error is not recoverable.
2623         * tar.c (main): Diagnose delayed error, for TAREXIT_FAILURE only.
2624         * buffer.c, diffarch.c, gnu.c, list.c, tar.c, update.c: Replace
2625         all `ERROR ((TAREXIT_FAILURE,' by `FATAL_ERROR ((0,'.
2626         Reported by Marty Leisner.
2627
2628         * list.c (read_and): When telling block numbers in verbose output,
2629         clearly list block numbers for NUL blocks and end of file.
2630         Reported by Jörg Weule.
2631
2632         * tar.c (usage): Document --newer-time.
2633         Reported by Greg Chung.
2634
2635 1995-11-30  François Pinard  <pinard@iro.umontreal.ca>
2636
2637         * system.h: Conditionally include <sgtty.h> prior to <mtio.h>.
2638         * rmt.c: Do not include <sgtty.h> anymore.
2639         Reported by Harald König and Kaveh R. Ghazi.
2640
2641         * rtapelib.c: Remove seemingly useless include of setjmp.h.
2642
2643         * rtapelib.c: Try to get EOPNOTSUPP defined in all cases.
2644         If needed, include net/errno.h or sys/inet.h when they exist.
2645         Reported by Goeran Uddeborg, J.J. Bailey, John L. Chmielewski,
2646         Peder Chr. Norgaard and Yasushi Suzudo.
2647
2648 1995-11-29  François Pinard  <pinard@iro.umontreal.ca>
2649
2650         * tar.c (decode_options): Diagnose --block-compress properly.
2651         Was segment violating because falling into --blocking-factor.
2652
2653         * buffer.c, create.c, diffarch.c, genfile.c, gnu.c, tar.c:
2654         Uniformly write nonzero instead of non-zero.
2655         Reported by Karl Berry.
2656
2657         * system.h, buffer.c, create.c, diffarch.c, tar.c, update.c [MSDOS]:
2658         Instead of __MSDOS__, all occurrences.
2659         * extract.c (extract_archive) [MSDOS]: Avoid delaying restoration
2660         of timestamps for directories.
2661         * buffer.c (child_open_for_compress): Add a missing semi-colon.
2662         * diffarch.c (diff_archive): Avoid comparing uid and gid.
2663         Reported by Yasushi Suzudo.
2664
2665         * tar.c (usage): Correct absolute-paths to absolute-names.
2666         Reported by Jonathan Kamens.
2667
2668         * tar.c (usage): Indicate that --exclude uses globbing, and that
2669         --label uses regexps.
2670         Reported by John R. Vanderpool and Matti Aarnio.
2671
2672         * tar.c (names_notfound): Do not report a fake namelist entry, so
2673         gzipped empty archives will not produce spurious diagnostics.
2674         Reported by Jonathan Kamens.
2675
2676 1995-11-23  François Pinard  <pinard@iro.umontreal.ca>
2677
2678         * tar.c (name_scan, name_match): Avoid labels and gotos.
2679
2680 1995-11-22  François Pinard  <pinard@iro.umontreal.ca>
2681
2682         * Makefile.in (DISTFILES): Distribute ChangeLog.
2683
2684         * ChangeLog: New, extracted from top-level ChangeLog.
2685
2686         * tar.c (main, decode_options): Delay request_stdin for `-f'
2687         until all options processed, so we now for sure that `-' means
2688         standard input, not standard output.
2689
2690         * tar.c (usage): Document that users should not count on
2691         POSIX support yet, saying it is only partially implemented so far.
2692
2693 1995-10-27  François Pinard  <pinard@iro.umontreal.ca>
2694
2695         * rtapelib.c (_rmt_shutdown): Add the errno_value parameter.
2696         (__rmt_open): Call shutdown if remote open fails, or else, we lose
2697         file descriptors.
2698         Reported by Holger Teutsch.
2699
2700 1995-10-20  Tom Tromey  <tromey@drip.colorado.edu>
2701
2702         * tar.c (request_stdin): New function.
2703         (stdin_used_by): New variable.
2704         (name_init, add_exclude_file, decode_options): Use request_stdin
2705         if required.
2706         (confirm): Check stdin_used_by to see if stdin in use.
2707
2708         * list.c (read_header):  Consistently use sizeof to find size
2709         of checksum field.
2710
2711 1995-08-26  François Pinard  <pinard@iro.umontreal.ca>
2712
2713         * names.c (uid_to_uname, gid_to_gname): Ensure that the empty
2714         string is returned when not found, instead of the previous one.
2715
2716 1995-08-06  François Pinard  <pinard@iro.umontreal.ca>
2717
2718         * buffer.c (new_volume): Use stderr rather than stdlis for
2719         interactions.  Clarify `archive == 0' into `archive == STDIN'.
2720         Reported by Scott Hunziker.
2721
2722 1995-08-02  François Pinard  <pinard@iro.umontreal.ca>
2723
2724         * diffarch.c (diff_archive): When symlink differs, report the
2725         file name, not the link name.
2726         Reported by Dale R. Worley and Wolfram Wagner.
2727
2728 1995-07-23  François Pinard  <pinard@iro.umontreal.ca>
2729
2730         * Makefile.in (Makefile): Remove some useless lines.
2731
2732 1995-06-27  François Pinard  <pinard@iro.umontreal.ca>
2733
2734         * tar.h: Sort out declarations a little better.
2735         * tar.c (decode_options): Reorder the cases in the big switch.
2736
2737         * tar.h: Introduce OLDGNU_COMPATIBILITY, enum archive_format,
2738         variable archive_format.  Delete flag_old_archive, flag_standard.
2739         * tar.c (decode_options): Initialize archive_format so that -o
2740         yields V7_FORMAT, nothing yields OLDGNU_FORMAT, --posix yields
2741         GNU_FORMAT, and --posix with POSIXLY_CORRECT yields POSIX_FORMAT.
2742         * create.c (start_header): Use TMAGIC and TVERSION if required.
2743         Replace all flag_old_archive and flag_standard appropriately.
2744
2745         * tar.c: Implement a --record-size option, which is an
2746         alternate way of saying --blocking-factor, in bytes this time.
2747
2748         * tar.h, tar.c, create.c (dump_file): Implement
2749         a --no-recurse option, to help using tar with find.
2750         Reported by Chris G. Demetriou, Jamie Zawinski, Kimball
2751         Collins, Oswald P. Backus IV and Stuart Poulin.
2752
2753         * tar.h, tar.c, buffer.c (child_open_for_compress):
2754         Delete --block-compress, issue a warning if used.  It was never
2755         obeyed while outputting on disk files, where it would have been
2756         useful.  It was only obeyed for pipes, remotes and devices, that
2757         is, exactly when it would be an error not to specify it.
2758
2759         Reported by Hans Guerth, James H Caldwell Jr, Jean-loup Gailly,
2760         Jeffrey W. Parker, John D. Sybalsky, Kai Schlichting, Marcin
2761         Matuszewski, Mike Silano, Paul O'Connor, Pete Geenhuizen and
2762         Richard Stallman.
2763
2764         * buffer.c (open_archive): Cosmetic changes.
2765
2766         * buffer.c, diffarch.c, tar.h, update.c: Rename fl_read by
2767         flush_read and fl_write by flush_write.
2768
2769 1995-06-26  François Pinard  <pinard@iro.umontreal.ca>
2770
2771         * tar.c (usage): Remind that `USER@' may be specified.
2772         Reported by John J. Szetela and Oliver Trepte.
2773
2774         * tar.c (usage): Replace `modificators' by `modifiers'.
2775         Reported by Alan Modra.
2776
2777         * extract.c (set_mode, set_stat): New functions, from
2778         previous code, elsewhere.  Replace various occurrences of code
2779         appropriately with function calls.  Ensure mode bits are properly
2780         set in all circumstances.  This may imply calling set_mode twice.
2781         Reported by Piercarlo Grandi and Tim Magill.
2782
2783         * extract.c: Save the whole stat information in saved
2784         directory information, instead of parts of it, all mistyped.
2785         (restore_saved_dir_info): Free information as we consume it.
2786         Simplify code by using set_mode and set_times.  Rename routine to
2787         apply_delayed_set_stat, and do some other cleanup around it.
2788
2789         * *.[hc]: Replace flag_confirm by flag_interactive,
2790         flag_do_chown by flag_same_owner,
2791         flag_exstdout by flag_to_stdout,
2792         flag_follow_links by flag_dereference,
2793         flag_gnudump by flag_incremental,
2794         flag_ignorez by flag_ignore_zeros,
2795         flag_keep by flag_keep_old_files,
2796         flag_local_filesys by flag_one_file_system,
2797         flag_modified by flag_touch,
2798         flag_multivol by flag_multi_volume,
2799         flag_namefile by flag_files_from,
2800         flag_new_files by flag_after_date,
2801         flag_oldarch by flag_old_archive,
2802         flag_reblock by flag_read_full_records,
2803         flag_run_script_at_end by flag_info_script,
2804         flag_sayblock by flag_block_number,
2805         flag_sorted_names by flag_same_order,
2806         flag_sparse_files by flag_sparse,
2807         flag_startfile by flag_starting_file,
2808         flag_use_protection by flag_same_permissions,
2809         OPTION_COMPRESS_PROG by OPTION_USE_COMPRESS_PROGRAM,
2810         flag_volhdr by volume_label,
2811         flag_compressprog by compress_program,
2812         flag_rsh_command by rsh_command,
2813         and flag_volno_file by volno_file.
2814
2815         * tar.c: Rename --modification-time by --touch, and provide a
2816         warning for the old option.
2817
2818 1995-06-24  François Pinard  <pinard@iro.umontreal.ca>
2819
2820         * list.c (decode_header): At extraction time, use the stored
2821         uid if uname is unknown in this system, and use the stored gid if
2822         gname is unknown in this system, instead.  This solves a long
2823         lasting bug by which restored files were all owned by root, using
2824         an incomplete /etc/passwd or /etc/group file.
2825         * names.c: Rename finduname to uid_to_uname and findgname to
2826         gid_to_gname, exchanging the order of arguments.  Use uid_t and
2827         gid_t instead of int's.  Use empty strings in cached_[ug]name for
2828         marking there is no valid cached translation, instead of using
2829         magic values for cached_[ug]id.  Rename finduid to uname_to_uid
2830         and findgid to gname_to_gid, adding a second argument to store the
2831         result if found, and returning a success/failure indication, not
2832         anymore assuming the current [ug]id by default.
2833         * tar.h, create.c, list.c: Adjust prototypes and callers.
2834
2835         Reported by Anders Andersson, Bernard Derval, Brian Perkins,
2836         Charles Fu, Daniel Trinkle, Ian Jackson, Johannes Helander,
2837         Michael Lin, Richard Sims, Robert E. Brown, Tim P. Starrin and
2838         Torkel Hasle.
2839
2840         * tar.h, create.c, list.c, names.c, tar.c:
2841         Implement --numeric-owner, to replace the NONAMES define.  Then,
2842         ensure some reasonable values to magic and linkflags if POSIX.
2843         Reported by Benedikt Stockebrand, Ian Jackson and Stephen Gildea.
2844
2845         * buffer.c: Delete save_block function, as well as
2846         saved_block_pointer and saved_block variables.  Blocks were
2847         carefully saved indeed, but never consulted after the fact.
2848         * tar.h: Delete save_block prototype.
2849         * *.c: Delete all usages of save_block.
2850
2851         * rmt.c: Add static to variable declarations.
2852         * list.c (read_header): Rename recsum to recorded_sum.
2853
2854 1995-06-23  François Pinard  <pinard@iro.umontreal.ca>
2855
2856         * *.[hc]: Rename --read-full-blocks to --read-full-records,
2857         --block-size to --blocking-factor, and --record-number to
2858         --block-number.
2859         * tar.c (decode_options): Diagnose usage of old names.
2860
2861         * *.[hc]: Rename saverec to save_block, findrec to
2862         find_next_block, and userec to set_next_block_after.
2863         Replace endofrecs by available_space_after which does the space
2864         computation instead of returning the end pointer, adjust and
2865         simplify all callers, by using variable data_block systematically.
2866         Also, rename union block field charptr to buffer.
2867
2868 1995-06-22  François Pinard  <pinard@iro.umontreal.ca>
2869
2870         * *.[hc]: Exchange "record" and "block" almost everywhere and
2871         whenever appropriate, to follow the terminology used in
2872         P1003.1-1990, and so removing a lot of confusion in sources.
2873
2874         * tar.h: Prefer naming constants and fields per P1003-1.1990 as
2875         far as possible.  Rename those remaining LF_xxx to GNUTYPE_xxx.
2876         * *.c: Adjusted accordingly.
2877
2878         * tar.h: Clean up the header structure.  Make very clear what is
2879         specified by POSIX, and what is GNU format, and what is extended
2880         header for sparse files.  Use xxx_FIELD_SIZE instead of NAMSIZ,
2881         TUNMLEN and TGNMLEN.  Dismangle some other names, on the way...
2882         * *.c: Adjusted accordingly.
2883
2884         * tar.h: Do not declare baserec, declare current_block_ordinal.
2885         * buffer.c (current_block_ordinal): New function.
2886         Rename baserec to record_start_block, and make it static.
2887         * list.c: Use current_block_ordinal, avoid baserec computations.
2888         * buffer.c, list.c: Get rid of saved_recno and annofile.
2889
2890         * buffer.c, diffarch.c: Move no_op and wantbytes from
2891         buffer.c to diffarch.c.  Correct prototypes so first arg is long.
2892         * tar.h: Do not declare no_op nor wantbytes, anymore.
2893
2894         * tar.h, buffer.c: Move ar_block, ar_record and ar_last
2895         from tar.h to buffer.c, renaming them to record_start,
2896         current_block, record_end respectively.
2897         * update.c: Add temporary extern declaration for record_start,
2898         current_block and record_end.
2899
2900         * tar.h, buffer.c: Move ar_reading from tar.h to buffer.c,
2901         renaming it to reading_archive.
2902         * diffarch.c: Add temporary extern declaration for
2903         reading_archive.
2904
2905         * buffer.c, create.c, diffarch.c, extract.c, gnu.c,
2906         list.c, names.c, rmt.c, rmt.h, rtapelib.c,
2907         tar.c, update.c: Replace many #ifdef's by #if's, and
2908         #ifndef's by #if !'s.
2909
2910         * buffer.c (redirect): New name for dupto.  Callers changed.
2911
2912         * create.c (dump_file), extract.c (extract_archive,
2913         extract_sparse_file), tar.h: Remove crumb about ending_blanks
2914         and end_nulls.
2915
2916         * Makefile.in (all): Do not prepare genfile by default, as it
2917         is only needed for checking.
2918
2919         * tar.c (decode_options): Diagnose lacking arguments to old
2920         options.
2921         Reported by Aage Robeck, Alan Cox, Benny Holmgren, Bruno Haible,
2922         Daniel Quinlan, Michael Schmidt, Richard J. Kettlewell and Robert
2923         Leslie.
2924
2925 1995-06-21  François Pinard  <pinard@iro.umontreal.ca>
2926
2927         * rtapelib.c (__rmt_open): Avoid dereferencing remote_user
2928         when NULL.
2929
2930         Reported by Alois Steindl, Amos Yahil, Anders Liljeborg, Andre
2931         Novaes Cunha, Andreas Haumer, Andreas Reuter, Andy Gay, Bdale
2932         Garbee, Bradley A. Smith, Brett Gaines, Bruce Jerrick, Calvin
2933         Cliff, Cameron Elliott, Charles Lopes, Charles M. Hannum, Chris
2934         Metcalf, Christophe Colle, Christopher T. Johnson, Dale Wiles,
2935         David Shaw, Dimitri Bougoulias, Daniel Hagerty, Dave Gregorich,
2936         David Mansfield, David Nugent, David Shaw, David Steiner,
2937         Douglas Scott, Dunstan Vavasour, Edgar Taube, Eduardo Kortright,
2938         Elmer Fittery, Eric Benson, Eric M. Boehm, Gerd Knorr, Graham
2939         Whitted, Harald Milz, Heiko Schlichting, James V. Di Toro III,
2940         Jan Carlson, Janne Snabb, Jeff Sorensen, Jens Henrik Jensen,
2941         Jim Clausing, John J. Szetela, John R. Vanderpool, Jurgen Botz,
2942         Karl Berry, Karlos Z. Smith, Karsten Thygesen, Koji Kishi,
2943         Luke Mewburn, Manuel Munier, Marc Ewing, Matthew J. D'Errico,
2944         Martin Goik, Maxime Taksar, maximum entropy, Michael Hayes,
2945         Michael Schwingen, Michael Smolsky, Michael Kaufman, Mike Walker,
2946         Minh Tran-Le, Mitsuaki Masuhara, Nelson H. F. Beebe, Noel Cragg,
2947         Olaf Wucknitz, Oliver Trepte, Olivier Roussel, Patrick Fulconis,
2948         Paul Kanz, Paul Nordstrom, Pekka Janhunen, Peter Carah, Peter
2949         Kutschera, Phil Hands, Randy Bias, Reuben J. Ravago, Ricardo
2950         Marek, Robert Anthony Nader, Rod Buchanan, Roderich Schupp,
2951         Russell Cattelan, Scott J. Kramer, Scott L. Burson, Simon
2952         Wright, Sisira Jayasinghe, Steffen Stempel, Thomas M. Browder
2953         Jr., Thomas Waas, Tim Bradshaw, Tim Lashua, Timothy J. Lee, Tom
2954         Popovitch, Toshiaki Nishi, Victor J. Griswold, Wayne Christopher,
2955         William J. Eaton, Wlodzimierz Jan Martin, Wolfgang Rupprecht
2956         and Wolfram Wagner.
2957
2958         * tar.h: Remove external prototypes related to rtapelib.c, as
2959         those are already declared in rmt.h.
2960
2961 1995-06-18  François Pinard  <pinard@iro.umontreal.ca>
2962
2963         * buffer.c (xclose): New, from port.c (ck_close).
2964         Replace ck_close by xclose in all modules.
2965         * port.c: Remove ck_close.
2966
2967         * port.c: Remove ck_malloc, because xmalloc can be used
2968         instead, now that it protects against malloc(0) returning NULL.
2969         * gnu.c (gnu_restore), list.c (read_header): Replace
2970         ck_malloc with xmalloc.  In gnu_restore, remove skipping code in
2971         case of failed allocation, because tar already aborted in xmalloc.
2972         * tar.h: Delete ck_malloc declaration.
2973
2974         * port.c: Remove mknod, link, chown and geteuid, which
2975         normally exist on Unix.  To be reinserted later, as needed.
2976         Reported by Jyh-Shyang Wang, Nelson H. F. Beebe, Philippe Defert
2977         and Serge Granik.
2978
2979         * tar.c: Declare TTY_NAME, moved over from port.c.
2980
2981         * extract.c (extract_archive), tar.c (decode_options):
2982         Clean out old NO_OPEN3 code.
2983         * Makefile.in: Adjusted.
2984
2985         * buffer.c (child_open): In-line previous ck_pipe code.
2986         * tar.h: Delete ck_pipe declaration.
2987         * port.c: Delete ck_pipe function.
2988
2989         * misc.c: New, reorganizing remaining code from port.c.
2990         * port.c: Deleted.
2991         * Makefile.in: Adjusted.
2992
2993         * misc.c (un_quote_string): If `\' ends a string to unquote,
2994         just pass it undisturbed.
2995         From Robert Lipe.
2996
2997         * system.h: Replace many #ifdef by #if, #ifndef by #if !.
2998 \f
2999 1995-06-17  François Pinard  <pinard@iro.umontreal.ca>
3000
3001         * Release 1.11.8.
3002
3003         * Makefile.in (mostlyclean): Remove also _*.c and _*.o.
3004
3005         * create.c (dump_file), gnu.c (get_dir_contents): Cast
3006         (int) explicitely for test.
3007
3008         * Makefile.in ($(OBJECTS)): Depend on ../intl/libgettext.h
3009         instead of ../intl/libintl.h, which does not always exist.
3010
3011         * genfile.c: Define EXIT_SUCCESS and EXIT_FAILURE if not.
3012         * tar.c (main): Use TAREXIT_SUCCESS instead of EXIT_SUCCESS.
3013
3014         * tar.h: Use off_t instead of long for the second argument in
3015         __rmt_lseek declaration.
3016         * system.h: Remove typedef of off_t, because AC_TYPE_OFF_T
3017         takes care of it now.
3018         Reported by Coranth Gryphon, Jim Blandy and Thomas Krebs.
3019
3020 1995-06-15  François Pinard  <pinard@iro.umontreal.ca>
3021
3022         * checktar.sh: Send a message saying that it is still useless.
3023
3024 1995-06-11  François Pinard  <pinard@iro.umontreal.ca>
3025
3026         * tar.h, tar.c (decode_options), extract.c
3027         (extract_archive), diffarch.c (diff_archive), create.c
3028         (dump_file, start_header), tar.c (decode_options): Replace
3029         flag_absolute_paths by flag_absolute_names.
3030         * tar.c (decode_options): Implement OBSOLETE_ABSOLUTE_NAMES for
3031         reporting --absolute-paths as obsolete.
3032
3033         * system.h: Conditionnaly include <locale.h> and define
3034         setlocale to void independently of ENABLE_NLS.
3035         Reported by Ulrich Drepper.
3036
3037 1995-06-10  François Pinard  <pinard@iro.umontreal.ca>
3038
3039         * tar.c (long_options): Use no_argument and require_argument,
3040         instead of constants.  Have long option names translated to short
3041         options whenever possible, rather than setting flags directly:
3042         easing option management is worth a few extra nanoseconds.
3043
3044         * tar.c (long_options): Add --gunzip as meaning -z.
3045         Reported by Bruno Haible.
3046
3047 1995-06-07  François Pinard  <pinard@iro.umontreal.ca>
3048
3049         * Makefile.in: Use subdir and distdir.
3050
3051         * system.h [NLS]: Simplify by merely including <libintl.h>.
3052         Also, define setlocale to empty only if the setlocale function is
3053         not known, instead of when <locale.h> is missing.
3054         * Makefile.in (INCLUDES): Use ../intl in compilations,
3055         taking care of the fact libintl.h might have been symlinked there.
3056
3057 1995-06-05  François Pinard  <pinard@iro.umontreal.ca>
3058
3059         * tar.c, tar.h: Rename TAR_EXTERN to GLOBAL.
3060
3061         * tar.h: Delete COMMAND_VERSION.
3062         * tar.c: Replace OPTION_HELP and OPTION_VERSION commands by
3063         show_help and show_version variables, so `--version --create' will
3064         not diagnose `Too many commands'.  Adjust things so this works.
3065         Reported by Marty Leisner.
3066
3067 1995-06-04  François Pinard  <pinard@iro.umontreal.ca>
3068
3069         * Makefile.in (check): New goal.
3070         * checktar.sh: New script.
3071         * genfile.c: New file.
3072         * Makefile.in (all): Prepare genfile.
3073         * Makefile.in: Distribute checktar.sh and genfile.c.
3074
3075 1995-06-03  François Pinard  <pinard@iro.umontreal.ca>
3076
3077         * tar.h: Adjust so extracted doc/header.texi is neater.
3078
3079 1995-05-30  François Pinard  <pinard@iro.umontreal.ca>
3080
3081         * tar.c (name_match): Use %s for printing directory, not %d.
3082         Reported by Marty Leisner.
3083
3084         * tar.c (name_gather, addname): chdir_name receives string
3085         pointers which might later be overwritten, but nevertheless saved
3086         into structures, so, use xstrdup for the time being.
3087         Reported by Michael Holmes.
3088
3089         * tar.c (name_next, name_from_list): Abort when chdir fails.
3090         Reported by Ian Jackson and Marty Leisner.
3091
3092 1995-05-28  François Pinard  <pinard@iro.umontreal.ca>
3093
3094         * rmt.h: Declare second argument of __rmt_lseek to be off_t
3095         instead of long, so it is the same as in rmt.c.
3096         Reported by Chris Arthur.
3097
3098         * buffer.c (close_archive): Compensate for the addition of 2
3099         to ar_block at open_archive time, for when -M used, just before
3100         calling free.
3101         Reported by Bruno Haible, Clinton Carr, Hernan Prieto Schmidt,
3102         Kevin Dalley, Loren J. Rittle and Marty Leisner.
3103
3104         * rmt.c: Replace SSIZE by STRING_SIZE, avoiding a conflict
3105         with some header files.
3106         Reported by Kaveh R. Ghazi and William Bader.
3107
3108         * tar.c: Use DEVICE_PREFIX instead of DEVICE_PREXIX, and
3109         WITH_REGEX instead of WITH_REGEC.
3110         Reported by Bruno Haible.
3111
3112 1995-05-16  François Pinard  <pinard@iro.umontreal.ca>
3113
3114         * Prerelease 1.11.7.
3115
3116         * Makefile.in (tar): Have $(OBJECTS) depend on system.h.
3117
3118         * system.h: Many adjustements for GNU gettext.
3119
3120 1995-05-09  François Pinard  <pinard@iro.umontreal.ca>
3121
3122         * Makefile.in: Clean glocale out.
3123
3124 1995-05-08  François Pinard  <pinard@iro.umontreal.ca>
3125
3126         * Makefile.in: Use libintl.a while linking.
3127         * system.h: Include <libintl.h> unconditionally, instead only
3128         if WITH_CATALOG.  Let <libintl.h> define _() appropriately.
3129         * tar.c (main): Call textdomain.
3130
3131 1995-05-02  François Pinard  <pinard@iro.umontreal.ca>
3132
3133         * system.h, gnu.c, list.c, port.c: Avoid
3134         superfluous parentheses in macro definitions.
3135         * port.c: Capitalize macro arguments.
3136         * buffer.c, create.c, diffarch.c, tar.c: Use comma
3137         operator when assignment in test.
3138
3139 1995-04-27  François Pinard  <pinard@iro.umontreal.ca>
3140
3141         * port.c (link): Use WARN to report the message.
3142         Reported by Sherwood Botsford.
3143
3144 1995-03-19  François Pinard  <pinard@iro.umontreal.ca>
3145
3146         * Makefile.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS.
3147         * system.h: Use WITH_CATALOGS to define _() differently.
3148
3149 1995-03-14  François Pinard  <pinard@iro.umontreal.ca>
3150
3151         * rtapelib.c (__rmt_open): Close the unused side of each
3152         pipe, instead of the useful one, prior to processing.
3153         Reported by Charles Lopes and Minh Tran-Le.
3154
3155 1995-02-22  François Pinard  <pinard@iro.umontreal.ca>
3156
3157         * Makefile.in: Replace `date' by `echo timestamp'.
3158
3159 1995-02-19  François Pinard  <pinard@iro.umontreal.ca>
3160
3161         * Makefile.in: Support ID files.  Do not distribute TAGS.
3162
3163 1995-02-13  François Pinard  <pinard@iro.umontreal.ca>
3164
3165         * Makefile.in: Use top_srcdir.
3166
3167 1995-02-11  François Pinard  <pinard@iro.umontreal.ca>
3168
3169         * gnu.c (is_dot_or_dotdot): Through NFS, readdir might deliver
3170         empty filenames under old Solaris 2.4, causing endless loops in
3171         tar.  As a workaround, avoid `' as done already for `.' and `..'.
3172         Reported by Jan Carlson.
3173
3174 1995-02-05  François Pinard  <pinard@iro.umontreal.ca>
3175
3176         * Makefile.in (maintainer-clean): New name for realclean.
3177
3178 1995-01-04  François Pinard  <pinard@iro.umontreal.ca>
3179
3180         * extract.c (make_dirs) [MSDOS]: Correct for Turbo C, which may
3181         return EACCES instead of EEXIST on mkdir.
3182         Reported by Jeffrey Goldberg.
3183
3184         * tar.c (usage) [MSDOS]: Do not tell about -N and related.
3185         (decode_options) [MSDOS]: Be blind to -N and related.
3186         Reported by Jeffrey Goldberg.
3187
3188         * rmt.h (_remdev): A filename is not remote if the colon is
3189         preceded by a slash, to take care of `/:/' which is a shorthand
3190         for `/.../<CELL-NAME>/fs' on OSF's Distributing Computing
3191         Environment (DCE) and Distributed File System (DFS).
3192         Reported by Travis L. Priest.
3193
3194 1995-01-03  François Pinard  <pinard@iro.umontreal.ca>
3195
3196         * tar.c (decode_options): Renamed from options.  Convert
3197         oldish-style non-dashed options to modern writing before
3198         performing option decoding.  Diagnose when modern options are met
3199         before old style options are fully converted.  This allows
3200         mixing of option styles on a single call.  Avoid getoldopt and
3201         use getopt_long instead.
3202         * getoldopt.c: Deleted.
3203         * tar.h: Prototype deleted.
3204         * Makefile.in: Adjusted.
3205         Reported by Bruno Haible, Les Mikesell, Patrick Timmons and Saul
3206         Lubkin.
3207
3208 1995-01-02  François Pinard  <pinard@iro.umontreal.ca>
3209
3210         * system.h: New file, split out of tar.h.
3211         * buffer.c, create.c, diffarch.c, extract.c,
3212         getoldopt.c, gnu.c, list.c, mangle.c, names.c,
3213         port.c, tar.c, update.c: Include "system.h", and move
3214         the inclusion of "tar.h" down after system dependent definitions.
3215         * Makefile.in: Distribute system.h.
3216
3217         * rmt.c: Include "system.h", and simplify accordingly.
3218         * rtapelib.c: Include "system.h", and simplify accordingly.
3219         * rmt.h: Simplify according to the inclusion of "system.h".
3220
3221         * system.h: Include conditionnaly <sys/gentape.h>,
3222         <sys/tape.h>, <sys/mtio.h>, <sys/ioctl.h> and <sys/io/trioctl.h>.
3223         * buffer.c, diffarch.c, rmt.c, rtapelib.c,
3224         update.c: Simplify accordingly.
3225
3226         * system.h: If it exists, include <sys/ioccom.h> prior to
3227         <sys/mtio.h>, to account for problems when GNU libc 1.0x is
3228         installed over SunOS 4.1.3: GNU libc does not provide sys/mtio.h,
3229         so it is taken from Sun header files which use things like _IOW,
3230         which GNU libc despises, sys/ioccom.h then provides definitions.
3231         Reported by Joseph E. Sacco.
3232
3233 1994-12-27  François Pinard  <pinard@iro.umontreal.ca>
3234
3235         * rmt.h: Ensure strrchr is defined to rindex in some cases.
3236         Reported by Karl Vogel.
3237
3238 1994-12-18  François Pinard  <pinard@iro.umontreal.ca>
3239
3240         * tar.h: Include <ctype.c> and declare ISASCII.
3241         * gnu.c: Adjust, declare and use ISDIGIT and ISSPACE.
3242         * list.c: Adjust, declare and use ISODIGIT and ISSPACE.
3243         * port.c: Adjust, declare and use ISPRINT.
3244         Reported by Bruno Haible, Konno Hiroharu and Max Hailperin.
3245
3246 1994-12-11  François Pinard  <pinard@iro.umontreal.ca>
3247
3248         * buffer.c, tar.c [WITH_REGEX]: Check it.
3249
3250 1994-12-03  François Pinard  <pinard@iro.umontreal.ca>
3251
3252         * Prerelease 1.11.6.
3253
3254         * rmt.c: Adjust for localization, by including <locale.h> and
3255         <libintl.h>, by defining _(), by defining and calling setlocale,
3256         and by defining and initializing program_name.
3257         * Makefile.in: Use locale.o and libtar.a with rmt.
3258
3259         * Makefile.in: Ensure INSTALL_DATA is defined.
3260
3261         * Makefile.in, tar.h, tar.c:
3262         Localize, adapting from how it is done in sharutils.
3263
3264         * Makefile.in, tar.c: Rename PRODUCT to PACKAGE.
3265
3266 1994-11-29  François Pinard  <pinard@iro.umontreal.ca>
3267
3268         * buffer.c (backspace_output): Change cur from long to off_t.
3269         * diffarch.c (diff_archive): Idem for offset.
3270         * extract.c (extract_archive): Idem for offset.
3271         * rmt.c: Idem for lseek ().
3272         (main): For case 'L', use atol instead of atoi, and cast the
3273         result to (off_t) rather than (long).
3274         * rtapelib.c (__rmt_lseek): Idem of offset argument.
3275         * tar.h: Change offset of sp_array from int to off_t.
3276         * update.c (move_arch): Change cur from long to off_t.
3277         Reported by David J. MacKenzie.
3278
3279 1994-11-26  François Pinard  <pinard@iro.umontreal.ca>
3280
3281         * rmt.h, tar.h, buffer.c, create.c,
3282         diffarch.c, extract.c, gnu.c, list.c,
3283         rtapelib.c, update.c: Rename _ to __P.
3284         * tar.h, rmt.h: Declare _ as a macro returning its
3285         argument, or else, include <libintl.h> and declare _ as gettext.
3286         * tar.c: Possibly include <locale.h> and call setlocale.
3287         * rmt.c, buffer.c, create.c, diffarch.c,
3288         extract.c, getoldopt.c, gnu.c, list.c,
3289         mangle.c, port.c, rtapelib.c, tar.c,
3290         update.c: Use _ macro over all localizable strings.
3291
3292         * rtapelib.c: Declare prototype for xstrdup.  Do not declare
3293         strstr, which is not needed.
3294
3295 1994-11-01  François Pinard  <pinard@iro.umontreal.ca>
3296
3297         * Makefile.in: Clean up, following those of GNU m4.  I will
3298         not detail all the changes here.
3299         * tar.c: Use PRODUCT and VERSION instead of version_string.
3300
3301 1994-10-30  François Pinard  <pinard@iro.umontreal.ca>
3302
3303         * tar.h [__STDC__]: Use #if instead of #ifdef.
3304
3305 1994-10-27  François Pinard  <pinard@iro.umontreal.ca>
3306
3307         * rmt.h, tar.h, buffer.c, create.c, diffarch.c,
3308         extract.c, gnu.c, list.c, mangle.c, tar.c,
3309         update.c: Rename all f_* variables to flag_*.
3310
3311         * tar.h, buffer.c, tar.c, update.c: Rename cmd_mode into command_mode.
3312         * tar.c (SET_COMMAND_MODE): New macro, use it.
3313
3314         * port.c (quote_copy_string): Prevent sign extension of
3315         character while copying it to an int.
3316         * (un_quote_string): Increment to_there pointer in all cases.
3317         Reported by Konno Hiroharu, Mats Lofkvist, Max Hailperin and
3318         Ryutaro Susukita.
3319
3320 1994-10-09  François Pinard  <pinard@iro.umontreal.ca>
3321
3322         * rmt.c, rtapelib.c, tar.h: Get rid of CONFIG_BROKETS.
3323
3324 1994-10-04  François Pinard  <pinard@iro.umontreal.ca>
3325
3326         * diffarch.c (fill_in_sparse_array): Add a cast for Pyramid's
3327         dumb compiler.  Later remove the cast and compare to 0 instead.
3328         * extract.c (extract_archive): Idem.
3329         Reported by Karl Vogel and Kaveh R. Ghazi.
3330
3331 1994-09-27  François Pinard  <pinard@iro.umontreal.ca>
3332
3333         * diffarch.c: Normalize capitalization in diagnostics.
3334
3335 1994-09-26  François Pinard  <pinard@iro.umontreal.ca>
3336
3337         * tar.c (name_next, name_match): Abort tar if directory cannot
3338         be changed, instead of going on.  This is not an innocuous error.
3339         Reported by Marty Leisner.
3340
3341 1994-09-15  François Pinard  <pinard@iro.umontreal.ca>
3342
3343         * rtapelib.c: Include "rmt.h" only once <sys/types.h> has been
3344         included, because off_t might not be defined otherwise.
3345         Reported by James W. McKelvey, John L. Chmielewski, Karl
3346         Vogel, Kaveh R. Ghazi an and Jim Meyering and Tilman Schmidt.
3347
3348 1994-09-14  François Pinard  <pinard@iro.umontreal.ca>
3349
3350         * Makefile.in: Cleanup...
3351         (DISTFILES): Distribute TAGS.
3352         (ansi2knr): Use $(LIBS).
3353         (TAGS): Make TAGS in $(srcdir) only.
3354         (distclean): Do not remove TAGS.
3355         (realclean): Remove TAGS.
3356         (Makefile): Have ./config.status create this Makefile only.
3357
3358 1994-09-13  François Pinard  <pinard@iro.umontreal.ca>
3359
3360         * buffer.c: Remove the presetting of stdlis, because stdout is
3361         not a constant in GNU libc.
3362         Reported by Joseph E. Sacco and Thomas Bushnell n/BSG.
3363
3364         * buffer.c (new_volume): Pass an otherwise unused argument to
3365         wait, do not use NULL.
3366         Reported by Thomas Bushnell n/BSG.
3367
3368 1994-09-05  François Pinard  <pinard@iro.umontreal.ca>
3369
3370         * Makefile.in (TAGS): Remove -t on etags call.  It has been
3371         the default behavior for a few releases of Emacs and it seems that
3372         option -t is now disappearing (from Emacs 19.25, at least).
3373         Reported by Goeran Uddeborg.
3374
3375 1994-09-02  François Pinard  <pinard@iro.umontreal.ca>
3376
3377         * gnu.c (get_dir_contents): Do not set dp->allnew if dp is not
3378         set itself.
3379         Reported by Piercarlo Grandi.
3380
3381         * extract.c (extract_archive): Issue diagnostic or verbose
3382         messages to msg_file, instead of stdout.
3383         Reported by Piercarlo Grandi.
3384
3385 1994-08-23  François Pinard  <pinard@iro.umontreal.ca>
3386
3387         * tar.h: Do not declare alloca if already defined, so HP's
3388         +Olibcalls compiler option works.
3389         Reported by John David Anglin.
3390
3391         * rtapelib.c (__rmt_open): Use REMOTE_SHELL only if defined.
3392         Otherwise, if the command argument has been specified and
3393         REMOTE_SHELL is not defined, immediately return an error.
3394         Reported by Bruno Haible, Kaveh R. Ghazi, Marty Leisner,
3395         Torkel Hasle and William Bader.
3396
3397         Because --rsh-command may always be given, even if no remote shell
3398         was found at configure time, remote capabilities are always
3399         compiled.  This also solve other problems related to RTAPELIB.
3400         * Makefile.in: Always compile $Urtapelib.o.
3401         * buffer.c (child_open): Always test _remdev, do not depend
3402         anymore on HAVE_RTAPELIB.
3403         * rmt.h [!HAVE_RTAPELIB]: Remove some code.
3404         Reported by Andreas Schwab and Vic Abell.
3405
3406         * rtapelib.c: Remove unused COMPAT (mis)feature.  Remove most
3407         length limitations for remote host name, remote user name and
3408         remote device name.  Duplicate path, and free it in all cases.
3409         * (_rmt_rexec): The `user' parameter may never by the empty
3410         string.  Remove code for that case.
3411
3412 1994-08-22  François Pinard  <pinard@iro.umontreal.ca>
3413
3414         Little cleanup in installation:
3415         * Makefile.in: Remove rule for ../lib/libtar.a.
3416
3417 1994-08-21  François Pinard  <pinard@iro.umontreal.ca>
3418
3419         * Prerelease 1.11.5.
3420
3421         * Makefile.in: Correct for when a different     build directory.
3422
3423         * tar.h: Replace W* definitions.  Adapted from make 3.71.
3424         * buffer.c (close_archive): Replace WIFCOREDUMPED by
3425         WCOREDUMP.  Previous WIFSIGNALED definition was excluding SIGSTOP,
3426         new definition do not exclude it anymore.  We'll see.
3427         Reported by Demizu Noritoshi, Greg Black, Kaveh R. Ghazi,
3428         Robert E. Brown and Russ Evans.
3429
3430 1994-08-20  François Pinard  <pinard@iro.umontreal.ca>
3431
3432         This might (?) solve the dirent problems on NeXT's and Apollo's:
3433         * tar.h: Change includes and defines from older AC_DIR_HEADER
3434         style to newer and clearer AC_HEADER_DIRENT style.
3435         * create.c, gnu.c: Replace NLENGTH by NAMLEN.
3436         Reported by Drew Trieger, Hugh Secker-Walker, James W. McKelvey,
3437         Robert E. Brown and Thomas Krebs.
3438
3439 1994-08-17  François Pinard  <pinard@iro.umontreal.ca>
3440
3441         Remove some shadowings.
3442         * update.c (update_archive): Rename head_standard to unused.
3443         * buffer.c (open_archive): Rename head to label.
3444         (fl_read): Rename head to cursor.
3445
3446         * gnu.c (dirent_cmp): Use (char *const *), not (const char **)
3447         for not loosing the const specifier while casting.
3448
3449         * mangle.c (extract_mangle): Remove unused argument.
3450         * tar.h: Adjust prototype.
3451         * extract.c (extract_archive): Caller changed.
3452
3453         * rtapelib.c (__rmt_open): Remove useless mode parameter.
3454         * rmt.h, tar.h: Adjust prototype.
3455         * rmt.h: Adjust macros calling __rmt_open.
3456         * create.c (deal_with_sparse): Remove unused argument.
3457         * create.c (dump_file): Caller changed.
3458         Reported by Greg Black.
3459
3460         * Makefile.in: Avoid $U in defining RTAPELIB.  Remove both
3461         rtapelib.o and _urtapelib.o explicit rules, not needed anymore.
3462         * rmt.h, buffer.c [HAVE_RTAPELIB]: Instead of !NO_REMOTE.
3463         Reported by Andreas Schwab.
3464
3465         * Makefile.in: Correct a typo in $Ubuffer.o dependencies.
3466         Reported by Andreas Schwab.
3467
3468         * rtapelib.c (__rmt_ioctl): Compile the MTIOCGET case only if
3469         this symbol is defined.  This also solves a missing mt_type field
3470         on NS32016 running SysVr2.2.
3471         Reported by Greg Black.
3472
3473         * rtapelib.c (__rmt_ioctl) : Conditionnalize only the MTIOCTOP
3474         case, not the whole routine, with the MTIOCTOP symbol.  In case of
3475         unrecognized operation, return EOPNOTSUPP instead of EINVAL.
3476         * rmt.h: Always provide a prototype for __rmt_ioctl.  Delete
3477         the RMTIOCTL machinery.
3478
3479 1994-08-16  François Pinard  <pinard@iro.umontreal.ca>
3480
3481         * rmt.c, buffer.c: Use a more uniform way of including
3482         <sys/mtio.h> or its alternates.
3483         Reported by Daniel R. Guilderson and Kaveh R. Ghazi.
3484
3485         * Makefile.in: Split rule for $Urtapelib.o into one rule for
3486         rtapelib.o and one rule for _rtapelib.o, taking care of the fact
3487         that rtapelib.c is in $(srcdir) while _rtapelib.c is in current
3488         directory.
3489         Reported by Andreas Schwab, Kaveh R. Ghazi, Minh Tran-Le and
3490         Per Foreby.
3491
3492         * rmt.c (string_error): Correct DEBUG2 into DEBUG1, and strint
3493         into string.
3494         Reported by Anders Andersson, Bruno Haible, Thomas Krebs and
3495         Thomas König.
3496
3497         * Makefile.in: Add $U's to rtapelib and rmt specific rules.
3498         Reported by Thomas König.
3499
3500 1994-08-15  François Pinard  <pinard@iro.umontreal.ca>
3501
3502         * Prerelease 1.11.4.
3503
3504         * rmt.c (numeric_error): Renamed from error.
3505         (string_error): New, to replace ERROR ((...)), unavailable in rmt.c.
3506
3507         * rmt.c (checkbuf): Do not accept, nor return record.  Use the
3508         global instead.  This will get rid of useless shadowings.
3509
3510         * rmt.h: Give prototypes for __rmt_* routines.
3511         * rtapelib.c: Include "rmt.h".
3512         * update.c (move_arch): Cast last rmtioctl argument to char *.
3513         * buffer.c (backspace_output): Idem.
3514         * diffarch.c (verify_volume): Idem.
3515
3516         * Makefile.in (rmt): Declare dependencies over rmt.h.
3517
3518 1994-08-14  François Pinard  <pinard@iro.umontreal.ca>
3519
3520         * rtapelib.c: Use MTIO_CHECK_FIELD instead of mt_type.
3521         Reported by Ben A. Mesander.
3522
3523 1994-08-13  François Pinard  <pinard@iro.umontreal.ca>
3524
3525         * tar.h: Include <sys/wait.h> if it exists, whether POSIX or not.
3526         Check if WIFSTOPPED is defined, to decide if defining others WIF*.
3527         Reported by Bruno Haible.
3528
3529 1994-08-11  François Pinard  <pinard@iro.umontreal.ca>
3530
3531         * extract.c (extract_archive) [O_CTG]: Declare longname variable.
3532         Initialize it as NULL.  This dirty kludge will allow the module to
3533         compile on Masscomp's, for the time being.
3534         Reported by Ben A. Mesander.
3535
3536         * tar.h, rtapelib.c: Declare strstr if we replaced it.
3537         Reported by Ben A. Mesander, Christian T. Dum and Kaveh R. Ghazi.
3538
3539 1994-08-10  François Pinard  <pinard@iro.umontreal.ca>
3540
3541         * create.c (dump_file): Do not test only for hpux, but also
3542         for __hpux.  I added __hpux__ too, as done in tar.h.
3543         Reported by Richard Lloyd.
3544
3545         * tar.h: Do not include <sys/mknod.h> anymore for HP-UX from
3546         HP-UX 8 and after, for which definitions are in <sys/sysmacros.h>,
3547         and reorganize the tests in this area.
3548         Reported by Christian T. Dum, Dimitris Fousekis, Kimmy Posey,
3549         Michael Maass, Richard Lloyd and Thomas König.
3550
3551 1994-08-09  François Pinard  <pinard@iro.umontreal.ca>
3552
3553         These changes for const-cleaning gnu.c and tar.c:
3554         * tar.c (read_name_from_file): Work directly on global
3555         variables instead of accepting parameters.  Return success or
3556         failure as an int instead of the relocated name_buffer.
3557         (name_next): Caller changed, internal clean-up of the function.
3558         Remove trailing slashes on the command call too, not only when
3559         reading from a file through -T option.
3560         * gnu.c: Add const to name and dir_text in struct dirname.
3561         Reported by Ben A. Mesander, Bruno Haible, Christian T. Dum,
3562         Dean Gaudet, James W. McKelvey, Richard Lloyd and Robert E. Brown.
3563
3564 1994-08-08  François Pinard  <pinard@iro.umontreal.ca>
3565
3566         * tar.c (name_next, name_gather, addname): Use strcmp for
3567         checking for "-C", instead of decomposed tests, just for clarity.
3568
3569         * Makefile.in (RSH): Define from configuration.
3570         (rtapelib.o): Define REMOTE_SHELL from $(RSH) while compiling.
3571         * rtapelib.c (__rmt_open): If command not given, use
3572         REMOTE_SHELL, instead of cascading tries of filenames.
3573         Reported by Bruno Haible.
3574
3575         * tar.c: Include <fnmatch.h> if FNM_LEADING_DIR is not
3576         defined, instead of checking for FNM_PATHNAME, because some
3577         <unistd.h> define the later without defining the former.
3578         Reported by Thomas König.
3579
3580         * create.c (dump_file): Cast alloca results, for those
3581         compilers not processing void * properly.
3582         Reported by Kaveh R. Ghazi.
3583
3584         * Makefile.in: Get prefix and exec_prefix from configure.
3585         Reported by Andreas Schwab, Christian T. Dum and Dean Gaudet.
3586
3587         * src/port.c: Delete mkdir (and rmdir), rename, strstr and
3588         ftruncate replacements.
3589         Reported by Kaveh R. Ghazi (for memset and strstr).
3590         Reported by Bruno Haible (for mkdir and rename).
3591
3592 1994-08-05  François Pinard  <pinard@iro.umontreal.ca>
3593
3594         * tar.h: Replace msg_file by stdlis.
3595         * buffer.c, gnu.c, list.c, diffarch.c: Idem.
3596
3597         * tar.c (main): Print version on stdout, not stderr.
3598
3599         * tar.h: Unconditionnaly insert the pad.  Why play the game of
3600         forcing the compiler to do it for us?  (Hum!  I'm not so sure.)
3601         Reported by Bruno Haible.
3602
3603         * list.c (read_header): Initialize signed_sum to 0.  Use this
3604         opportunity for slightly reorganizing the code around.
3605         Reported by Anders Andersson, Andrey A. Chernov, Bruno Haible
3606         and Chris Ransom.
3607
3608         * tar.c: Declare name_buffer_length as size_t instead of int.
3609         Reported by Andreas Schwab, J.T. Conklin, Kaveh R. Ghazi and
3610         Robert E. Brown.
3611
3612         * rmt.h: Have the NO_REMOTE case be a particular case of the
3613         other, for rmtopen and rmtcreat were not transmitting the proper
3614         number of parameters to open and creat (since 26 July 1994).
3615         Reported by Andreas Schwab.
3616
3617         * extract.c (extract_archive): Delay changing owner to after
3618         doing utime, for keeping long enough the permission of utime'ing.
3619         (extract_archive, restore_saved_dir_info): Idem for directories.
3620         Reported by Jonathan I. Kamens.
3621
3622         * tar.h: Change malloc_dbg to dmalloc, mutatis mutandis.
3623
3624         * tar.h: Undefine many macros if stat macros found to be
3625         broken.  Define mkfifo only if configure did not find it.
3626         Include <sys/param.h> if not _POSIX_SOURCE, then <unistd.h> if
3627         we have it, than "pathmax.h".  Move _POSIX_VERSION dependent
3628         code further down.  Do not declare getcwd if we do not have it.
3629         * tar.c: Do not include <unistd.h>, now in "tar.h".
3630         Reported by Bernard Chen, Jean-Michel Soenen, John L.
3631         Chmielewski and Kaveh R. Ghazi.
3632
3633         * tar.h: Define DEV_BSIZE, ST_BLKSIZE and ST_NBLOCKS,
3634         borrowing this code from both fileutils-3.9's "lib/system.h" and
3635         textutils-1.9's "system.h".
3636         * create.c (dump_file): Straighten the test for sparseness,
3637         which was requiring one block too much, most probably for trying
3638         to get around DEV_BSIZE/st_blksize confusion.  Use ST_NBLOCKS,
3639         instead of computing a variable block_size and doing specific
3640         tests for HP-UX or Linux.  Also rewrite the test so it works
3641         when ST_NBLOCKS is unsigned.
3642         Reported by Bruno Haible, Dean Gaudet, Dick Streefland, Harald
3643         König, Jim Meyering, Kai Petzke, Kaveh R. Ghazi and Torkel Hasle.
3644
3645 1994-08-04  François Pinard  <pinard@iro.umontreal.ca>
3646
3647         * tar.c: Do not include <unistd.h> if we do not have it.
3648         Reported by Kaveh R. Ghazi.
3649
3650         * Makefile.in (RTAPELIB): Prefix by $U for unprotoization.
3651         Reported by Kaveh R. Ghazi and Christian T. Dum.
3652
3653         * port.c: Remove many static specifiers.
3654         Reported by Demizu Noritoshi, Kaveh R. Ghazi and William Bader.
3655
3656         * rtapelib.c (__rmt_open): Replace system by remote, twice.
3657         Reported by Ben A. Mesander, Christian T. Dum, Demizu Noritoshi
3658         and Kaveh R. Ghazi.
3659
3660         * tar.c (addname): Replace a forgotten EX_SYSTEM by
3661         TAREXIT_FAILURE.
3662         Reported by Demizu Noritoshi, James W. McKelvey, Kaveh R.
3663         Ghazi and Robert E. Brown.
3664
3665 1994-08-02  François Pinard  <pinard@iro.umontreal.ca>
3666
3667         * Prerelease 1.11.3.
3668
3669         * tar.c (assign_string): New routines.
3670         * create.c (dump_file, start_header), extract.c
3671         (extract_archive), list.c (list_archive, read_header),
3672         buffer.c (open_archive), diffarch.c (diff_archive): Use
3673         assign_string for setting these variables to a string value or
3674         NULL.
3675         * buffer.c (open_archive): Sets current_file_name,
3676         current_link_name and save_name to NULL.
3677         (close_archive): Free each of them if not NULL.
3678         (fl_write): Take a copy of save_name into cursor, and advance the
3679         cursor instead, because save_name should stay free-able.
3680         Reported by Dave Gentzel, Harald Anlauf, Mark Clements, Robert
3681         Weissenfels, Ronald van Loon, Tsutomu Yamada and Vic Abell.
3682
3683         * extract.c (extract_archive): Use xstrdup, for clarity.
3684         * gnu.c (add_dir): Idem.
3685
3686         * list.c (print_header): Correct a little bug by which
3687         non-symbolic links were not printed properly quoted.
3688
3689         * diffarch.c (diff_archive): Allocate tmpbuf to the proper
3690         size.  NAMSIZ + 2 is not necessarily enough.
3691
3692 1994-08-01  François Pinard  <pinard@iro.umontreal.ca>
3693
3694         * tar.h: Refresh str*/mem* configured declarations.  Among
3695         other things, this will solve previously missing #undef's.
3696         * rmt.h: Revise strchr configured declaration.
3697         * *.c: Replace bzero by memset, bcopy by memcpy, bcmp by
3698         memcmp, index by strchr and rindex by strrchr.
3699         * port.c: Delete functions bzero and bcmp, said to not exist
3700         on Minix.  AC_MINIX in configure.in should guarantee POSIX things.
3701         Reported by Drew Trieger, Hugh Secker-Walker and Vic Abell.
3702
3703         * tar.h, tar.c, buffer.c, update.c: Change CMD_* to COMMAND_*.
3704
3705         * buffer.c (open_archive): Use strcmp to compare archive name
3706         to `-', instead of doing it explicitely.  Just for clarity.
3707
3708         * tar.h, tar.c, buffer.c: Replace ar_files by
3709         archive_name_array, n_ar_files by archive_names and ar_files_len
3710         by allocated_archive_names.  Replace the index cur_ar_file by
3711         archive_name_cursor, which is a cursor in archive_name_array.
3712
3713         * tar.c (main): Move the initialization of
3714         archive_name_array at beginning, taken from options routine.
3715         Free it at end of main.
3716         (options): Use xrealloc instead of ck_realloc for archive_name,
3717         for the already saved names to be preserved.
3718         Reported by Per Bojsen.
3719
3720         * tar.h, tar.c: Replace name_file by namefile_name.
3721         * tar.c: Replace n_ind by name_array, n_indused by names,
3722         n_indalloc by allocated_names, and n_indscan by name_index.
3723         Replace namef by name_file, n_argv by names_argv and n_argc by
3724         names_argc.
3725         (main): Make an initial allocation for name_array at beginning,
3726         moved out from name_add, free it at end of main.
3727
3728         * buffer.c (close_archive): Free ar_block at end.
3729
3730 1994-07-30  François Pinard  <pinard@iro.umontreal.ca>
3731
3732         * tar.h [WITH_MALLOC_DBG]: Include "malloc_dbg.h".
3733
3734         * create.c (create_archive): Do not attempt creating a
3735         directory summary file if -G, since -G sets gnu_dumpfile to 0.
3736         Reported by Alexander Dupuy.
3737
3738         * create.c (dump_file): Avoid a NULL dereference with -G when
3739         trying to dump an empty directory.
3740         * gnu.c (add_dir_name): Same thing.
3741         Reported by Rainer Orth.
3742
3743         Correction for the improper `data differs' diagnostic given when
3744         the continuation of a multi-volume was compared.
3745         * diffarch.c (diff_archive): If multi-volume, update save_name
3746         and save_totsize before calling wantbytes.
3747         * buffer.c (wantbytes): If multi-volume, update save_sizeleft.
3748         Reported by Andreas Schwab, Denis Fortin, François Pinard,
3749         Hiroyuki Bessho, Olaf Schlueter, Simon Wright and Saul Lubkin.
3750
3751 1994-07-30  François Pinard  <pinard@iro.umontreal.ca>
3752
3753         * tar.c (options): Implement DEVICE_PREFIX and DENSITY_LETTER.
3754         Reported by Danny R. Johnston.
3755
3756         * gnu.c (gnu_restore): Use CURRENT_FILE_NAME abbreviation.
3757         * extract.c (extract_archive): Idem.
3758         Reported by Timothy Fossum.
3759
3760 1994-07-29  François Pinard  <pinard@iro.umontreal.ca>
3761
3762         * create.c (dump_file): Abort if no memory for a possible
3763         link, remove related bogus code, and the variable nolinks.
3764         Reported by Andreas Schwab.
3765
3766         * create.c (dump_file): Detect file sparseness correctly for
3767         Linux ext2 filesystem.
3768         Reported by Kai Petzke.
3769
3770         * port.c (link) [!MSDOS]: Do not call setmode.
3771         Reported by Richard Deal.
3772
3773         Reorganization for `tar -d' to provide a different exit status.
3774         * tar.h: Replace errors by exit_status.  Declare TAREXIT_*.
3775         * buffer.c (child_open): Exit with exit_status.
3776         * tar.c (main): Initialize exit_status to TAREXIT_SUCCESS, and
3777         exit with exit_status.
3778         * buffer.c, diffarch.c, gnu.c, list.c, port.c,
3779         rmt.c, tar.c, update.c: Replace EXIT_FAILURE by
3780         TAREXIT_FAILURE, and EXIT_SUCCESS by TAREXIT_SUCCESS.
3781         * tar.h (ERROR), create.c (dump_file): Set exit_status to
3782         TAREXIT_FAILURE instead of increasing errors.
3783         * diffarch.c (sigh, diff_sparse_files): On differences, set
3784         exit_status to TAREXIT_DIFFERS if nothing more serious already.
3785         Reported by Tilman Schmidt.
3786
3787         * rmt.c: Define EXIT_FAILURE and EXIT_SUCCESS if not already.
3788         * rtapelib.c: Define EXIT_ON_EXEC_ERROR to 128 and use it.
3789
3790 1994-07-27  François Pinard  <pinard@iro.umontreal.ca>
3791
3792         * diffarch.c (sigh): Increment errors, so a difference will
3793         yield a non-zero exit status at end.
3794         Reported by Nick Holloway.
3795
3796         * tar.h: Rename TARERROR to WARN, then add ERROR which is similar,
3797         but increments the errors counter.
3798         * *.c: Replace all TARERROR by WARN or ERROR, deciding for each
3799         case.  Many errors were not reflected in exit status.
3800
3801         Reported by Carl Streeter, Esa Karell, George Chyu, Ian Jackson,
3802         Judy Ricker, Massimo Dal Zotto, Roland McGrath, Tilman Schmidt
3803         and Torkel Hasle.
3804
3805         * buffer.c (child_open): Exit with EXIT_FAILURE if any error.
3806
3807         * rtapelib.c: Use error for reporting errors.
3808         (do_command): New name for command.
3809         (get_status): New name for status.
3810
3811         * buffer.c: Remove definition of MAGIC_STAT.
3812         (close_archive): Do not check MAGIC_STAT for an exit value, since
3813         this value is never returned.
3814
3815         * *.c: Use TARERROR or exit with EXIT_FAILURE, instead of various
3816         esoteric statuses.  Normalize using TARERROR with an exit status,
3817         instead of calling TARERROR with 0 first, then _exit.  On exit
3818         calls, use EXIT_SUCCESS instead of 0.
3819         * tar.c: Do not use the exit status anymore for outputting an
3820         error counter value.  Wrap around was creating spurious success.
3821         * tar.h: Remove EX_* definitions for tar exit statuses.
3822         Reported by Bob Mende and Torbjorn Granlund.
3823
3824 1994-07-26  François Pinard  <pinard@iro.umontreal.ca>
3825
3826         * tar.h: Add f_rsh_command variable.
3827         * tar.c: Add and process --rsh-command option.
3828         * buffer.c (open_archive, child_open, new_volume): Pass
3829         f_rsh_command to rmtopen and rmtcreat calls.
3830         * rmt.h (rmtopen, rmtcreat): Pass a supplementary argument.
3831         * rtapelib.c (__rmt_open): Accept and process a command
3832         argument, to replace rsh.
3833         Reported by Jonathan I. Kamens.
3834
3835         * tar.h: Instead of including <sys/file.h> with BSD42 or
3836         <fcntl.h> for V7, merely include <fcntl.h> if it exists,
3837         otherwise <sys/file.h>.
3838         * buffer.c, diffarch.c, extract.c, list.c,
3839         port.c, update.c: Do not include <fcntl.h> or
3840         <sys/file.h>, because they are indirectly included through
3841         "tar.h".
3842
3843         * create.c (dump_file): Remove the BSD42 conditional.  If not
3844         f_sparse_files, initialize upperbound as when not BSD42.
3845         Reported by Alan Bawden, Claude Scarpelli, Laurent
3846         Sainte-Marthe, Noah Friedman, Reuben Sumner, Tom Quinn and
3847         William Bader.
3848
3849 1994-07-24  François Pinard  <pinard@iro.umontreal.ca>
3850
3851         * tar.h: Merely define valloc as being malloc if valloc does
3852         not exist.
3853         * port.h: Remove valloc, which was only a dummy for malloc.
3854         Reported by Cliff Krumvieda, Francois Pinard, Henrik Bakman,
3855         J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt.
3856
3857 1994-07-22  François Pinard  <pinard@iro.umontreal.ca>
3858
3859         * create.c (start_header): Cast NAMSIZ to size_t before
3860         comparing it to strlen result.
3861         Reported by Mark Frost.
3862
3863         * tar.c (main): Zero out label_pattern before compiling in
3864         regular expressions, instead of using uninitialized memory.
3865         Reported by Holger Teutsch.
3866
3867         * tar.c [!FNM_PATHNAME]: Include fnmatch.h only if unistd.h fails
3868         to define this symbol.
3869         Reported by Alan Modra, Christian T. Dum, Eddy ?, John
3870         Oleynick and Richard Lloyd.
3871
3872         * buffer.c, diffarch.c, rtapelib.c, update.c:
3873         Include <sys/io/trioctl.h> before <sys/mtio.h>, if it exists.
3874         Reported by Kaveh R. Ghazi.
3875
3876         * tar.c (options): Use defined OPTION_* constants instead of
3877         anonymous numbers for long options not having a short option form.
3878
3879         * rmt.h [!MTIOCTOP]: Do not define RMTIOCTL, so __rmt_ioctl
3880         will not be called if it has not been compiled in rtapelib.c.
3881
3882         * tar.h: Add CMD_TOO_MANY.
3883         * tar.c (main): Use CMD_TOO_MANY, and get rid of badopt label.
3884         Reported by David J. MacKenzie.
3885
3886         * tar.c (usage): New name for describe().  Rewritten with
3887         better help formatting and more logical grouping of options.
3888         Accepts an exit status argument.  Callers adapted.
3889         Reported by Richard O'Neill.
3890
3891 1994-07-20  François Pinard  <pinard@iro.umontreal.ca>
3892
3893         * port.c (rename): Constify the arguments.
3894         Reported by Elmar Heeb, Jeff Prothero and John Clark.
3895
3896         * tar.c (main): Declare version_string locally.
3897         * version.c: Deleted.
3898         * Makefile.in: Adjusted.
3899
3900 1994-07-19  François Pinard  <pinard@iro.umontreal.ca>
3901
3902         * tar.h: Merge "port.h" towards the beginning of tar.h.
3903         Include <stdio.h> and <errno.h>, and define errno if needed.
3904         * *.c: Do not include "port.h" anymore after "tar.h", do not
3905         include <stdio.h>, <errno.h> nor <sys/types.h>.  Also move
3906         "tar.h" as the first file included in every module.  This
3907         would solve, among other things, the problem of RE_DUP_MAX
3908         being redefined by <limits.h>, when included after "regex.h".
3909         * port.h: Deleted.
3910         * Makefile.in: Adjusted.
3911         Reported by Alan Modra, Christian T. Dum, Dimitris Fousekis,
3912         John David Anglin, Matthew Braun, Michael Maass, Richard Lloyd
3913         and Stefan Skoglund.
3914
3915         * create.c (dump_file): Do not cast alloca result to (char *).
3916         The problem reported was that alloca result was seen as int, but
3917         with the changes just made, alloca should be properly declared.
3918         Reported by Bryant Fujimoto and Michael Kubik.
3919
3920 1994-07-06  François Pinard  <pinard@iro.umontreal.ca>
3921
3922         * create.c, extract.c [HAVE_UTIME_H]: Instead of _POSIX_VERSION,
3923         for choosing to include <utime.h>.
3924         Reported by Carl Swanson and Thomas Krebs.
3925
3926 1994-07-05  François Pinard  <pinard@iro.umontreal.ca>
3927
3928         * tar.c: Replace DEF_AR_FILE with DEFAULT_ARCHIVE, replace
3929         DEFBLOCKING with DEFAULT_BLOCKING.
3930
3931         * rtapelib.c: Replace "??'" by "?? '" at two places in a
3932         comment, so avoiding Pyramid's DC/OSx compiler to complain about
3933         ANSI trigraph sequences.  Even comments can trigger bugs, now!
3934         Reported by Mark Frost.
3935
3936         * tar.h: Declare valloc.
3937         * buffer.c, diffarch.c: Remove declaration for valloc.
3938
3939         * testpad.c: Deleted.
3940         * tar.h: Do not include "testpad.h" anymore.
3941         * Makefile.in: Delete testpad matters.
3942
3943         * buffer.c (new_volume): Inside case 'n', strcpy into r then
3944         assign r to p, instead of strcpy'ing directly into p, for making
3945         the module const clean.
3946
3947 1994-07-03  François Pinard  <pinard@iro.umontreal.ca>
3948
3949         Rename a few variables to avoid shadowing variables or functions:
3950         * list.c (print_header): Change name to quoted_name.
3951         * buffer.c (child_open): Change pipe to local_pipe.
3952         * extract.c (extract_archive): Change namelen to namelen_bis.
3953         * rtapelib.c (__rmt_open): Change system to remote.
3954
3955         * tar.c (options): Add two missing arguments to getoldopt
3956         call, NULL is not necessarily implied on all systems.
3957
3958         * list.c (print_header): Add a few missing long specification
3959         in formats.
3960         * diffarch.c (compare_chunk, diff_sparse_files): Idem.
3961         * port.c (msg, msg_perror): Idem.
3962
3963         * tar.h: Include prototypes for all functions which call from
3964         one module to another.  Declare voidstar (use it everywhere
3965         instead of PTR).  Move in the include <sys/stat.h> from
3966         <port.h>, and the include of option.h from tar.c and
3967         getoldopt.c, waiting for a better solution for all these things.
3968         * port.c: Removed PTR declaration and including <sys/stat.h>.
3969         * getoldopt.c, tar.c: Remove including "option.h".
3970
3971 1994-07-02  François Pinard  <pinard@iro.umontreal.ca>
3972
3973         * *: Protoized all function headers.  Added static to
3974         functions which can take it.  Add many const specifiers.  Remove
3975         unused variables.
3976
3977         * port.c (xmalloc): Delete function, do not mask the true one.
3978         * port.c (ck_malloc): Use xmalloc, waiting for annihilation.
3979         * port.c (ck_realloc): Use xrealloc, waiting for annihilation.
3980         * *: Begin switching from ck_malloc (or even pure malloc) to
3981         xmalloc.  Same for ck_realloc (pure realloc) to xrealloc.
3982         Doing this correctly is a delicate matter, which I'll continue
3983         without reporting it anymore, while doing other modifications.
3984
3985         * *: Replace msg and msg_perror calls by TARERROR macro calls.
3986         Capitalize first word of all error messages, remove ending
3987         punctuation or newline.  Systematically avoid contractions for
3988         `Cannot' and `Could not'.  Always write `WARNING:' all in capitals.
3989         * tar.h: Declare TARERROR as calling error().  Rename
3990         variable tar to program_name.
3991         * tar.c (main, options), buffer.c (child_open), port.c
3992         (msg, msg_perror), gnu.c (gnu_restore): Rename variable tar to
3993         program_name.
3994         * gnu.c (gnu_restore): Remove a spurious repetition of
3995         program_name in error message.
3996
3997 1994-07-01  François Pinard  <pinard@iro.umontreal.ca>
3998
3999         * buffer.c, create.c extract.c, gnu.c, list.c,
4000         names.c, rmt.c, tar.c, update.c: Remove all (void)
4001         prefixes to function calls.  There are limits to lint clutter.
4002
4003 1994-06-30  François Pinard  <pinard@iro.umontreal.ca>
4004
4005         * port.h: Remove definition of const.  Let configure do it.
4006
4007         * tar.h, rmt.c, rtapelib.c, version.c, testpad.c: Add a block
4008         for including <config.h> or "config.h".  If "tar.h" was included
4009         everywhere, the block will only be needed there.
4010
4011         * *.[ch]: Reindented to GNU standards (they were not far).
4012         Got rid of all `* ' left prefixes in comments and refilled them.
4013         There is still a lot of cosmetic changes needed everywhere.
4014         I will not report them any more, doing them along the way of
4015         other things in the future.
4016
4017         * Makefile.in: New file.
4018
4019         * Split distribution into a few subdirectories, for easing
4020         maintainance.
4021
4022         * Taking over maintenance duties.
4023
4024 1993-08-31  David J. MacKenzie  <djm@goldman.gnu.ai.mit.edu>
4025
4026         * rmt.c [M_UNIX]: Include sys/tape.h instead of sys/mtio.h.
4027         Reported by Drew Sullivan and William Bader.
4028
4029 1993-07-29  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4030
4031         * Makefile.in (config.status): Run config.status --recheck, not
4032         configure, to get the right args passed.
4033
4034 1993-07-19  David J. MacKenzie  <djm@churchy.gnu.ai.mit.edu>
4035
4036         * Makefile.in (libdir): Use standard GNU value --
4037         $(exec_prefix)/lib, not /etc.
4038
4039 1993-07-08  David J. MacKenzie  <djm@goldman.gnu.ai.mit.edu>
4040
4041         * Makefile.in (installdirs, configure, config.status,
4042         Makefile): New targets.
4043
4044 1993-06-14  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
4045
4046         * Makefile.in (.c.o): Put -I. before -I$(srcdir), and make
4047         $(CFLAGS) last.
4048
4049 1993-05-22  The King  <elvis@graceland.gnu.ai.mit.edu>
4050
4051         * extract.c (extract_archive, restore_saved_dir_info): Print
4052         mode in octal, not in decimal.
4053         Reported by Scott S. Bertilson.
4054
4055 1993-03-26  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
4056
4057         * configure.in: Better way of detecting HP-UX.
4058         Reported by Noah Friedman.
4059 \f
4060 1993-03-25  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4061
4062         * version.c: Released version 1.11.2.
4063
4064         * Makefile.in (dist): Do the link differently; some of the
4065         files have changed filesystems which makes it more complex.
4066
4067         * Makefile.in (dist, shar): Use gzip instead of compress.
4068
4069         * create.c (dump_file): Test for curdev == -1, not curdev < 0.
4070         Some losing NFS systems give negative device numbers sometimes.
4071         Reported by Thorbjxrn Willoch.
4072
4073 1993-03-19  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4074
4075         * buffer.c (new_volume): Write the global volume number to the
4076         volno file before running the info script, so that the script
4077         can look at it.
4078
4079 1993-03-17  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4080
4081         * tar.c (describe, long_options): Changed --compress-block to
4082         --block-compress.
4083         (options): Fixed f_compress_block sanity check error message
4084         to give the correct name of the option.
4085
4086 1993-03-16  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4087
4088         * extract.c (extract_archive): case LF_DIR: Do chown when
4089         necessary.  Don't bother jumping to set_filestat for
4090         f_modified; repeat the chmod code here.  Replace `break',
4091         deleted on 2 September 1992.
4092
4093         * tar.c (describe, long_options, options): Added gzip options
4094         and use-compress-program option.
4095         * tar.h: Added new compression options.
4096         * buffer.c (child_open, open_archive): Use new compression options.
4097
4098         * create.c (start_header): Only mask off high bits when
4099         creating old-style archives.
4100         * list.c (decode_header): Mask off potentially misleading
4101         high bits from the mode when reading headers.
4102         Reported by Paul Eggert.
4103
4104 1993-03-15  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4105
4106         * extract.c (extract_archive): Put arguments in the right
4107         order for error message.
4108         Reported by Bruno Haible.
4109
4110         * create.c (deal_with_sparse): If the last byte was null, we
4111         didn't write it out.
4112
4113         * gnu.c, create.c, extract.c, diffarch.c, list.c:
4114         Replace malloc calls with ck_malloc and realloc with ck_realloc.
4115         Reported by Jonathan Kamens.
4116
4117         * tar.c (describe): Improve doc for -L.
4118
4119         * tar.c (name_next): Don't apply exclusion to explicitly named
4120         files.
4121
4122         * tar.c (long_options, describe): Added new-volume-script as
4123         an alias for info-script.
4124
4125         * extract.c (extract_archive): LF_DUMPDIR case; misplaced paren.
4126
4127         * extract.c (extract_archive): extract_file case, first if,
4128         include space for null in namelen computation.
4129
4130         * extract.c (extract_sparse_file): Use value returned by write
4131         to properly create error message.
4132
4133         * create.c (create_archive): Don't assume we have anything to
4134         dump.
4135
4136         * buffer.c (open_archive): Set current_file_name for the
4137         volume header so that verbose listings work properly.
4138
4139         * Makefile.in (realclean): Added getdate.c.
4140
4141         * create.c (deal_with_sparse): If exactly 26 elements in
4142         sparsearray, only 25 were written.
4143         Reported by Jim Murray.
4144
4145         * create.c (deal_with_sparse): If the file ends with a zero
4146         block, the last byte was not written.  This is fixed in create
4147         rather than extract: if amidst_data is not set at EOF, put out a
4148         block with just the last byte of the file.
4149         Reported by Jim Murray.
4150
4151 1993-01-14  David J. MacKenzie  <djm@kropotkin.gnu.ai.mit.edu>
4152
4153         * tar.c: Include fnmatch.h after port.h to make sure we get our FNM_*
4154         (e.g. on HPUX 8).
4155
4156 1992-11-24  David J. MacKenzie  <djm@goldman.gnu.ai.mit.edu>
4157
4158         * tar.c (addname), gnu.c (read_dir_file) [HAVE_GETCWD]: Instead of USG.
4159
4160         * port.h, rmt.h [HAVE_STRING_H]: Instead of USG.
4161
4162         * port.h: Add dir header decls.
4163         * create.c, gnu.c: Use SYSNDIR, SYSDIR, and NDIR
4164         instead of BSD42 and USG.  Rename DP_NAMELEN to NLENGTH.
4165         Use `struct dirent' instead of `struct direct'.
4166         * create.c, gnu.c, tar.c: Remove dir header decls.
4167
4168 1992-11-18  David J. MacKenzie  <djm@goldman.gnu.ai.mit.edu>
4169
4170         * tar.c: Change FNM_TARPATH to FNM_LEADING_DIR to match change
4171         in fnmatch.[ch].
4172
4173 1992-10-02  David J. MacKenzie  <djm@goldman.gnu.ai.mit.edu>
4174
4175         * tar.c (describe): Fix some tab alignments.
4176
4177         * Makefile.in (SRC3): Add getdate.c, for systems without bison/yacc
4178         (like MS-DOS).
4179
4180         * diffarch.c (diff_sparse_files): Add missing arg to fprintf calls.
4181
4182         * extract.c (extract_archive, restore_saved_dir_info),
4183         buffer.c (child_open), list.c (decode_header, print_header):
4184         Delete unused vars.
4185
4186         * port.c [__MSDOS__]: Have strstr, rename, and mkdir.  Don't
4187         define ck_pipe.
4188
4189         * buffer.c, tar.c (init_volume_number, closeout_volume_number),
4190         create.c (write_long):  Declare as void, not int, since they
4191         don't return a value.
4192
4193 1992-09-22  Michael I Bushnell  <mib@wookumz.gnu.ai.mit.edu>
4194
4195         * buffer.c (close_archive): Removed leftover `break' from when
4196         this was a switch.
4197
4198 1992-09-22  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
4199
4200         * create.c, port.h: indented #pragma directives with 1 space.
4201
4202 1992-09-18  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4203
4204         * All source files: re indented using GNU indent.
4205
4206         * rtapelib.c (__rmt_read): Only read the amount left in the
4207         buffer; otherwise a broken rmt server (which puts too much
4208         data out) could overwrite past our buffer.
4209
4210 1992-09-17  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4211
4212         * configure.in: Check for getpwuid and getgrgid.
4213         Reported by J.T. Conklin.
4214
4215         * create.c: Throughout, use struct utimbuf rather than array
4216         of longs.
4217         Reported by J.T. Conklin and Michael Ellis.
4218
4219         * Makefile.in (SRC3, AUX): Move alloca.c to SRC3.
4220         (OBJ3): Add @ALLOCA@.
4221
4222         * Makefile.in (getdate.c): Look in srcdir for getdate.y.
4223
4224         * buffer.c (close_archive): We can't check WTERMSIG
4225         meaningfully unless we already know tha WIFSIGNALED is true.
4226         (There is no guarantee it WTERMSIG will return zero when
4227         WIFSIGNALED is false.)
4228         * port.c (rmdir, mkdir): Check WIFSIGNALED rather than
4229         WTERMSIG.
4230
4231         * Makefile.in (getdate.c): Use $(YACC) instead of `yacc'.
4232 \f
4233 1992-09-15  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4234
4235         * version.c: Released version 1.11.1.
4236
4237         * Makefile (AUX): Added NEWS.
4238
4239         * Makefile.in (rmt): Added $(LIBS).
4240
4241         * mangle.c (extract_mangle): Null terminate link name for
4242         losing archives missing it.
4243
4244         * configure.in: Added tests for libraries needed on Solaris.
4245
4246         * Makefile.in: added target and rule for getdate.c: getdate.y;
4247         some makes don't have one built in.
4248
4249 1992-09-14  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4250
4251         * tar.c (options, main): Advise use of --help rather than
4252         +help.
4253         Reported by J.T. Conklin.
4254
4255         * create.c (write_long): Using hstat here is a Bad Idea, and
4256         totally unnecessary at that.
4257
4258         * list.c (read_header): Compute both signed and normal
4259         checksums.
4260         Reported by Robert E. Brown.
4261
4262         * diffarch.c, buffer.c: Declare valloc as void* rather than
4263         char*.
4264         Reported by Robert E. Brown.
4265
4266         * Makefile.in: Don't install info files.
4267
4268         * port.h: Undefine index and rindex if necessary; some
4269         string.h's define them for us.
4270
4271         * tar.c (addname): Missing braces after if.
4272         * gnu.c (read_dir_file): Missing braces after if.
4273
4274         * names.c: Add include of <stdio.h>,
4275
4276         * create.c (start_header): Set current_file_name so that
4277         print_header, used for verbose create, works properly.
4278         (dump_file): Set current_link_name when setting up symlink
4279         and hardlink records.
4280         Reported by Robert Crowe.
4281
4282         * configure.in: Define BSD in the presence of /sdmach or
4283         /../../mach.
4284         Reported by Robert E. Brown.
4285
4286         * configure.in: Check for malloc was scrambled.
4287
4288 1992-09-11  David J. MacKenzie  <djm@nutrimat.gnu.ai.mit.edu>
4289
4290         * fnmatch.[ch]: New files.
4291         * wildmat.c: File removed.
4292         * tar.c: Include fnmatch.h and use fnmatch instead of wildmat.
4293         * Makefile.in, makefile.pc: Replace wildmat.o(bj) with fnmatch.
4294
4295 1992-09-10  David J. MacKenzie  <djm@nutrimat.gnu.ai.mit.edu>
4296
4297         * buffer.c, tar.c: Remove redundant decls of getenv, rindex.
4298
4299         * Makefile.in: Add uninstall target.
4300         Define libdir instead of hardcoding /etc for installing rmt.
4301
4302 1992-09-10  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4303
4304         * list.c (read_header): On second thought, that doesn't work
4305         either, so just store the names in malloced areas.  Sigh.
4306
4307         * NEWS: New file.
4308         * README: Removed things that belong in NEWS; point to it.
4309
4310         * list.c (read_header): current_file_name and
4311         current_link_name need to be set to the arrays in head rather
4312         than header; header is the actual read buffer and will change.
4313
4314         * extract.c (extract_archive):
4315         * buffer.c (new_volume): `#' directives need to start in
4316         column 1.
4317         Reported by J.T. Conklin.
4318 \f
4319 1992-09-09  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4320
4321         * version.c: Release of version 1.11.
4322
4323         * Makefile.in (AUX): Add getpagesize.h.
4324         (AUX): Comment out manuals.
4325         (all): Comment out dependency on tar.info.
4326
4327         * Makefile, configure.in: Arrange to use local malloc on HP-UX.
4328
4329         * port.h Use the canonical Autoconf chunk for alloca instead
4330         of just looking for gcc.
4331
4332 1992-09-09  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>
4333
4334         * port.h: If compiling with gcc, use __builtin_alloca.
4335
4336 1992-09-08  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4337
4338         * extract.c: Removed long name support from here.
4339         * list.c (read_header): Understand and skip longname/longlink
4340         headers here.  Names for current file are stored in new global
4341         variables.  All source files except create.c changed to refer
4342         to current_file_name and current_link_name instead of fields
4343         directly from the current header.
4344
4345 1992-09-03  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4346
4347         * create.c (write_long): New function.
4348         (dump_file): When writing link records or symlink records, use
4349         new write_long function instead of mangling when the link
4350         target is too long.
4351         (start_header): Use write_long instead of mangling for long
4352         names.
4353         * extract.c (saverec): Recognize LF_LONGNAME and LF_LONGLINK.
4354         (saverec): Throughout, use longname and longlink if they are set.
4355
4356 1992-09-02  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4357
4358         * mangle.c: This is now deprecated; retain extract_mangle for
4359         backward compatibility.
4360
4361         * list.c (print_header): Prevent printing 0 when the gid or uid is
4362         null.
4363         Reported by Chris Arthur.
4364
4365         * list.c (decode_header): Use the gid field when the gid is empty,
4366         and similarly for uid.
4367         Reported by Chris Arthur.
4368
4369         * extract.c: saved_dir_info, saved_dir_info_head: new type and
4370         var.
4371         (extract_archive): When extracting directories, now save info
4372         in saved_dir_info_head.
4373         (restore_saved_dir_info): New function.
4374         * list.c (read_and): Call restore_saved_dir_info at the end of
4375         the run.
4376         Reported by Chris Arthur.
4377
4378 1992-08-31  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4379
4380         * create.c (create_archive): If there are no names specified,
4381         write nothing on the archive instead of dumping ".".
4382
4383         * buffer.c (open_archive): Useful error message.
4384
4385         * tar.c, tar.h: Recognize f_atime_preserve.
4386         * create.c (dump_file): Implement f_atime_preserve.
4387
4388         * rmt.h (_remdev): Don't require /dev/ to be in remote archive
4389         names; obey new force-local flag.
4390         * tar.c, tar.h: Implement new force-local flag.
4391         Reported by Roland Schemers III.
4392
4393         * tar.c (describe): same-owner and same-order were confused.
4394
4395         * create.c (dump_file): Check for toplevel had sense reversed.
4396
4397         * buffer.c (new_archive): Don't free old_name...when these
4398         come from the command line, they aren't malloced, and it isn't
4399         important to save this trivial amount of memory.
4400
4401         * tar.h: replace ar_file with ar_files, n_ar_files,
4402         cur_ar_files.
4403         * buffer.c (open_archive): multi-volume compressed archives
4404         never worked; give an appropriate error.  Change open of
4405         ar_file to open of ar_files[0].
4406         (writeerror, readerror, flush_archive): use
4407         ar_files[cur_ar_file] instead of ar_file.
4408         (new_archive): Necessary changes to support ar_files.
4409         * tar.c (options): handle multiple tape drive arguments.
4410
4411 1992-08-28  Michael I Bushnell  <mib@wookumz.gnu.ai.mit.edu>
4412
4413         * list.c (decode_header), create.c (start_header), tar.h (TMAGIC):
4414         Undo djm's changes below; tar does not support the final
4415         Posix.1 format; it's bad to make it look like it does.
4416
4417 1992-07-19  David J. MacKenzie  <djm@nutrimat.gnu.ai.mit.edu>
4418
4419         * port.h: Try to prevent redefining major.
4420         * port.c [minix]: Implies HAVE_BZERO.  Fix a typo.
4421
4422         * list.c (decode_header): Recognize the final POSIX.1 magic as
4423         well as the early draft magic for ustar.
4424         * create.c (start_header): Create a final POSIX.1 magic string
4425         instead of an early draft string for ustar.
4426         * tar.h (TMAGIC): Remove the trailing blanks.
4427
4428         * rmt.c, rtapelib.c: Use POSIX and STDC headers if available.
4429         * rmt.h: Declare the external functions defined in rtapelib.c.
4430
4431 1992-07-14  David J. MacKenzie  <djm@apple-gunkies.gnu.ai.mit.edu>
4432
4433         * pathmax.h: New file.
4434         * port.h: Include it.
4435         * create.c (create_archive): Allocate PATH_MAX instead of
4436         NAME_MAX for temporary buffer so we don't have to figure out
4437         what NAME_MAX is (portably).
4438
4439 1992-07-10  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4440
4441         * gnu.c (collect_and_sort_names): write_dir_file has no argument.
4442
4443 1992-07-06  David J. MacKenzie  <djm@nutrimat.gnu.ai.mit.edu>
4444
4445         * port.c (rename): If unlinking the source at the end fails,
4446         unlink the destination instead to avoid leaving a mess.
4447
4448 1992-07-03  David J. MacKenzie  <djm@nutrimat.gnu.ai.mit.edu>
4449
4450         * buffer.c, diffarch.c, update.c, rtapelib.c [HAVE_SYS_MTIO_H]:
4451         Instead of NO_MTIO.
4452
4453         * port.c, tar.h [HAVE_FOO]: Instead of FOO_MISSING.
4454
4455 1992-06-23  David J. MacKenzie  <djm@goldman.gnu.ai.mit.edu>
4456
4457         * rmt.c: Add #ifdefs to work on ISC.
4458
4459 1992-05-20  David J. MacKenzie  <djm@churchy.gnu.ai.mit.edu>
4460
4461         * port.h: Define major, minor, makedev if the system doesn't.
4462
4463 1992-05-13  Michael I Bushnell  <mib@apple-gunkies.gnu.ai.mit.edu>
4464
4465         * gnu.c (add_dir_name): Store legitimate value into
4466         dir_contents when get_dir_contents returns NULL.
4467
4468 1992-05-07  Michael I Bushnell  <mib@apple-gunkies.gnu.ai.mit.edu>
4469
4470         * gnu.c (add_dir_name): Check for return of NULL from
4471         get_dir_contents; see djm's change of Fri Jul 26 01:12:58 1991.
4472
4473 1992-05-04  David J. MacKenzie  <djm@churchy.gnu.ai.mit.edu>
4474
4475         * tar.h: Make comments for option names say -- instead of +.
4476
4477 1992-04-29  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4478
4479         * tar.c, tar.t: Added +volno-file option.
4480         buffer.c (init_volume_number, closeout_volume_number): New functions.
4481         tar.c (main): Call new functions in the right place.
4482
4483         * buffer.c (fl_write, fl_read): Mod to allow losing tape
4484         drives which use short counts to indicate end of tape
4485         correctly handle the multi-tape stuff.  The read half won't
4486         co-exist with f_reblock; there's no way to fix that, of
4487         course.
4488
4489         * tar.c, tar.h: Added new option +show-omitted-dirs.
4490         list.c (read_and): Implemented show-omitted-dirs.
4491         Reported by Karl Berry.
4492
4493         * tar.c, tar.h: Added new option +checkpoint.
4494         buffer.c (fl_read, fl_write): Implemented +checkpoint lazily.
4495
4496         * create.c (dump_file): Added toplevel argument; some devices
4497         can be negative, so the old method was bogus.  All callers
4498         changed.
4499         Reported by Max Hailperin.
4500
4501         * tar.c, tar.h: Added new option +ignore-failed-read.
4502         create.c (dump_file): Implemented +ignore-failed-read.
4503         Reported by Bob Mende Pie.
4504
4505         * create.c (finish_sparse_file): Commented out debugging printf.
4506
4507         * tar.c, tar.h: Added new option +remove-files to delete files
4508         after they are added to the archive.
4509         create.c (dump_file): Implemented +remove-files for
4510         everything but directories.  I don't think they need it.
4511
4512 1992-04-28  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4513
4514         * create.c: (dump_file): save_name needs to be set equal to p,
4515         not something inside the header, because the header changes at
4516         the first buffer flush.
4517
4518 1992-04-24  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4519
4520         * create.c: Djm incorrectly moved the include of port.h to
4521         precede the include of sys/file.h; restored.
4522
4523         * tar.c (main): Cases CMD_EXTRACT and CMD_LIST: declare error
4524         string with const.
4525
4526         * gnu.c (collect_and_sort_names): Leave if around
4527         write_dir_file in place.
4528
4529 1992-04-22  David J. MacKenzie  <djm@churchy.gnu.ai.mit.edu>
4530
4531         * rtapelib.c: SIGTYPE -> RETSIGTYPE.
4532
4533 1992-03-09  David J. MacKenzie  <djm@nutrimat.gnu.ai.mit.edu>
4534
4535         * rtapelib.c: Reformat and make comments more complete.
4536         Rename a few variables for clarity.
4537
4538 1992-03-05  David J. MacKenzie  <djm@nutrimat.gnu.ai.mit.edu>
4539
4540         * tar.c (describe): Document long options as starting with --.
4541
4542 1992-01-23  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4543
4544         * tar.c (options): Check get_date return value for error indication.
4545
4546 1991-12-24  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4547
4548         * tar.c, gnu.c, extract.c, create.c, port.h, rmt.h [HAVE_UNISTD_H,
4549         _POSIX_VERSION]: Instead of POSIX ifdefs.
4550
4551 1991-12-20  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4552
4553         * testpad.c (main): flush stderr so perror and fprintf
4554         cooperate right.
4555
4556 1991-12-18  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4557
4558         * port.h [MAJOR_IN_MKDEV, MAJOR_IN_SYSMACROS]: To find where to
4559         get major, minor and makedev.
4560         * create.c, list.c, update.c: Don't check USG to include
4561         sys/sysmacros.h.
4562
4563 1991-12-12  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4564
4565         * mangle.c (extract_mangle): Correctly null terminate name of
4566         link target.
4567
4568 1991-11-21  Michael I Bushnell  <mib@nutrimat>
4569
4570         * create.c (dump_file, at start of ISREG output loop): use
4571         filename from header instead of real name to make sure that we
4572         get the mangled version and not one that is too long and
4573         overflows buffers.
4574
4575 1991-11-16  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4576
4577         * tar.h: Use new criteria for STDC version of msg.
4578
4579 1991-11-02  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4580
4581         * create.c, gnu.c, tar.c [USG]: Use DIRENT instead of NDIR to select
4582         between dirent.h and ndir.h.
4583
4584         * port.c [FOO_MISSING]: Instead of WANT_FOO, to make sharing code
4585         and configure script with other utilities easier.
4586         [VPRINTF_MISSING, DOPRNT_MISSING]: Instead of FOO_MSG, to select
4587         error reporting routines.
4588
4589 1991-08-29  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4590
4591         * tar.c (long_options).  Fixed info-script long option.
4592         Reported by Eric Norum.
4593
4594 1991-08-26  David J. MacKenzie  <djm@pogo.gnu.ai.mit.edu>
4595
4596         * configure, Makefile.in: Only put $< in Makefiles if VPATH
4597         is being used, because older makes don't understand it.
4598
4599 1991-08-19  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4600
4601         * create.c: Indent '#pragma alloca' so non-ANSI compilers
4602         don't choke on it.
4603
4604 1991-08-14  David J. MacKenzie  <djm@geech.gnu.ai.mit.edu>
4605
4606         * list.c (UGSWIDTH): Increase from 11 (sort of like Unix tar) to
4607         18, so that with normal user and group names of <= 8 chars,
4608         the columns never shift in a tar -t listing.
4609
4610 1991-08-02  David J. MacKenzie  <djm@apple-gunkies>
4611
4612         * Makefile.in (dist): Include texinfo.tex and tar.info*.
4613         (install): Install tar.info*.
4614         * configure: Set INSTALLDATA.
4615
4616         * configure: Create config.status.  Remove it and Makefile if
4617         interrupted while creating them.
4618
4619         * configure: Check for +srcdir etc. arg and look for
4620         Makefile.in in that directory.  Set VPATH if srcdir is not `.'.
4621         * Makefile.in: Add `prefix'.
4622         (tar.info): New target.
4623
4624 1991-07-30  David J. MacKenzie  <djm@apple-gunkies>
4625
4626         * configure [FTIME_MISSING]: Instead of NEED_TZSET.
4627
4628 1991-07-29  David J. MacKenzie  <djm@wombat.gnu.ai.mit.edu>
4629
4630         * port.c [F_CHSIZE]: Additional version.
4631
4632 1991-07-27  David J. MacKenzie  <djm@wombat.gnu.ai.mit.edu>
4633
4634         * rmt.h: Clean up ifdefs.
4635
4636         * makefile.pc: Fix typo.
4637         * port.h [__MSDOS__]: Instead of MSDOS.
4638         [__MSDOS__]: Define off_t.  Include io.h and not sys/param.h.
4639         [__TURBOC__]: Use void * and don't define const.
4640
4641 1991-07-26  David J. MacKenzie  <djm@bleen>
4642
4643         * buffer.c: Rename `eof' to `hit_eof' to avoid conflict with an
4644         MSDOS function.
4645         * gnu.c (get_dir_contents): Return NULL, not "\0\0\0\0", on error.
4646         * diffarch.c (diff_archive): Open files in binary mode.
4647         Don't use or free a non-malloc'd return value from get_dir_contents.
4648         * msd_dir.c [__TURBOC__]: Include stdlib.h.
4649         * rmt.h: lseek returns off_t, not long.
4650
4651         * tar.c (describe): -X is +exclude-from, not +exclude.
4652         (names_notfound): Free memory only if amiga, not !unix.
4653
4654         * tar.h, tar.c: Add +null option to make -T read
4655         null-terminated filenames (such as those produced by GNU find
4656         -print0), and disable -C option.
4657         This guarantees that odd filenames will get archived.
4658         * tar.c (read_name_from_file): New function.
4659         (name_next): Call it instead of fgets.
4660         From David J. MacKenzie.
4661
4662 1991-07-24  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4663
4664         * create.c [_AIX]: Declare alloca.
4665
4666         * buffer.c (open_archive): Check for successful open before,
4667         not after, fstatting the fd.
4668
4669 1991-07-23  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4670
4671         * configure: Only define BSD42 if sys/file.h exists.
4672         If alloca is missing and /usr/ucblib exists (SVR4), use it
4673         instead of -lPW.
4674
4675         * port.h [!__STDC__]: #define const.
4676         * gnu.c (dirent_cmp): Fix args to agree with ANSI C prototype.
4677         * create.c: Declare ck_realloc.
4678         * gnu.c, diffarch.c: Move check for symlinks to after port.h include.
4679
4680 1991-07-20  David J. MacKenzie  <djm@apple-gunkies>
4681
4682         * msd_dir.[ch]: Use POSIX-style `struct dirent' instead of
4683         `struct direct'.
4684         * create.c, gnu.c, tar.c: Adjust callers.
4685
4686 1991-07-18  David J. MacKenzie  <djm@bleen>
4687
4688         * port.c (ck_malloc, ck_realloc): Return PTR, not char *.
4689         * gnu.c, create.c, tar.c: Fix decls.
4690
4691         * port.c: Don't use the preprocessor to guess missing
4692         functions on Unix; let configure do it.
4693         [WANT_GETWD] (getwd): Function removed; not needed because
4694         getcwd is used if needed.
4695         * gnu.c, tar.c [POSIX]: Use getcwd.
4696
4697         * rtapelib.c: Use SIGTYPE instead of testing SIGNAL_VOID.
4698         Default to void (more common these days) instead of int.
4699
4700         * tar.c, gnu.c, mangle.c: Remove VOIDSTAR defn.  Use PTR instead.
4701         * port.h: Define PTR.
4702
4703         * gnu.c, tar.c [__MSDOS__ || USG]: Remove incorrect getcwd decl.
4704         [!POSIX]: Put correct one in port.h.
4705
4706         * tar.c (describe): Print on stdout instead of stderr; it's
4707         not so much a usage message (since you have to ask for it
4708         explicitly) as on-line help, and you really need to be able to
4709         page it because it's more than a screen long.
4710
4711         * Make #ifdefs for sys/file.h or fcntl.h, directory header,
4712         sys/mtio.h consistent between files.  Use NO_MTIO instead of
4713         tricks with USG and HAVE_MTIO and NO_RMTIOCTL.
4714         * Move decls of ANSI C and POSIX functions to port.h and
4715         use standard headers to declare them if available
4716         [STDC_HEADERS or POSIX].
4717         * Add many missing function declarations and return types.
4718         * Some places used __MSDOS__, some MSDOS; standardize on __MSDOS__.
4719         * Change S_IF macros to S_IS for POSIX.
4720         * port.h: Define appropriate S_IS macros if missing.
4721         * port.h [POSIX]: Rename macros for testing exit status to conform to
4722         POSIX; use the system's versions if available.
4723         * Use POSIX PATH_MAX and NAME_MAX instead of MAXPATHLEN and MAXNAMLEN.
4724         * port.h: Define PATH_MAX and NAME_MAX.
4725         * create.c, gnu.c, tar.c: Use ck_malloc and free instead of
4726         auto arrays of size PATH_MAX or NAME_MAX, since with pathconf
4727         they might not be constants.
4728         * Move all definitions of O_* to port.h to reduce redundancy.
4729         * Make all source files that now need to include port.h do so.
4730         * port.c: Remove #undefs of WANT_* so you can use -DWANT_*
4731         when compiling, instead of having to edit port.c.
4732         [WANT_DUMB_GET_DATE] (get_date): Function removed.
4733         Even systems without bison can get bison output and compile it.
4734         [WANT_STRING] (index, rindex, bcopy, bzero, bcmp): Functions
4735         removed; the translation is now done by macros in port.h.
4736         * wildmat.c (wildmat): Use POSIX.2 '!' instead of '^' to negate
4737         character classes.
4738
4739 1991-07-15  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4740
4741         * testpad.c (main): Return type void.
4742
4743         * port.c [WANT_STRING]: Don't include memory.h if NO_MEMORY_H.
4744
4745         * create.c (dump_file) [AIX]: Fix typo, `allocate' for `alloca'.
4746         * gnu.c (collect_and_sort_names): Move misplaced brace out of #ifdef.
4747         Reported by Minh Tran-Le.
4748
4749         * configure: Also look in sys/signal.h for signal decl.
4750
4751 1991-07-10  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4752
4753         * Rename rtape_server.c to rmt.c and rtape_lib.c to rtapelib.c.
4754
4755         * configure, Makefile.in: $(INSTALLPROG) -> $(INSTALL).
4756
4757 1991-07-09  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>
4758
4759         * Most files: Refer to GPL version 2.
4760         * COPYING: Use version 2.
4761
4762         * port.c [__TURBOC__] (utime): New function.
4763
4764         * xmalloc: New function (just calls ck_malloc), for alloca.c
4765         and bison.simple (in getdate.y output).
4766
4767         * Makefile.in (AUX): Include alloca.c and tcexparg.c, a
4768         command line globber for Turbo C.
4769
4770 1991-07-08  David J. MacKenzie  <djm@geech.gnu.ai.mit.edu>
4771
4772         * testpad.c: Open and write to testpad.h instead of stdout,
4773         because some MS-DOS makes (Borland's at least) can't do
4774         redirection in commands.
4775         * Makefile.in: Don't redirect testpad output.
4776
4777 1991-07-08  Michael I Bushnell  <mib@churchy.gnu.ai.mit.edu>
4778
4779         * buffer.c (fl_read): Missing \n in printf.
4780
4781 1991-07-08  David J. MacKenzie  <djm@geech.gnu.ai.mit.edu>
4782
4783         * create.c, extract.c, gnu.c, diffarch.c, tar.c: Comment out
4784         unused variables.
4785
4786         * tar.c (options): Cast get_date arg to VOIDSTAR instead of
4787         `struct timeb *', since on some non-BSD systems the latter is
4788         undefined.
4789
4790 1991-07-06  David J. MacKenzie  <djm@geech.gnu.ai.mit.edu>
4791
4792         * Replace Makefile with configure, Makefile.in, and makefile.pc.
4793         Update README with current compilation instructions.
4794
4795         * port.c [WANT_RENAME] (rename): New function.
4796
4797 1991-07-03  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4798
4799         * testpad.c (main): Avoid warning from some compilers on array
4800         address.
4801
4802         * rtape_server.c (sys_errlist): Should be declared extern.
4803         Reported by Stuart Kemp.
4804 \f
4805 1991-07-01  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4806
4807         * Release of version 1.10; appropriate changes to README.
4808
4809         * create.c: Removed printf's about sparse files.
4810
4811 1991-06-21  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4812
4813         * list.c (skip_extended_headers): Userec was being called in
4814         the wrong place.
4815
4816 1991-06-20  David J. MacKenzie  <djm@geech.gnu.ai.mit.edu>
4817
4818         * tar.h [STDC_MSG]: Use ANSI prototypes for msg and msg_perror,
4819         even if BSD42 is also.
4820
4821         * Makefile: Replace DESTDIR with bindir.
4822         (install): Don't install tar.texinfo.  There's no standard
4823         place for texinfo files, and /usr/local/man is inappropriate.
4824         Add TAGS, distclean, and realclean targets and SHELL= line.
4825
4826         * version.c: Move old change history to bottom of ChangeLog.
4827
4828 1991-06-12  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4829
4830         * rtape_lib.c (__rmt_write) [SIGNAL_VOID]: Instead of USG.
4831
4832 1991-06-05  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4833
4834         * tar.c (name_match, addname): Ugly hack to handle -C without
4835         any files specified.
4836         tar.h (struct name): New field for ugly hack.
4837
4838 1991-06-03  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4839
4840         * testpad.c: New file to determine if we need special padding
4841         in struct header in tar.h.
4842
4843         * tar.h (struct header): include padding if necessary, include
4844         testpad.h.
4845
4846         * Makefile: rules to create testpad.h, etc.
4847
4848 1991-05-22  Michael I Bushnell  <mib@churchy.gnu.ai.mit.edu>
4849
4850         * tar.c (options): -L takes an argument.
4851
4852         * rtape_lib.c (__rmt_open): add /usr/bin/nsh to the list of
4853         remote shell programs.
4854
4855         * create.c: define MAXPATHLEN if we don't get it from a system
4856         header file.
4857
4858         * create.c (deal_with_sparse): return a real return value if
4859         we can't open the file.
4860
4861         * tar.c (long_options): +newer takes an argument.
4862         (describe): fix printing in various trivial ways
4863
4864 1991-05-21  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4865
4866         * tar.c (long_options): +get and +concatentate don't require arguments
4867
4868 1991-05-20  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4869
4870         * create.c (write_eot): Don't try and write an EOF if we are
4871         already at one.
4872
4873         * port.c (strstr): Looking for null string should return zero.
4874
4875 1991-05-19  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4876
4877         * tar.c (options): -l doesn't take an argument
4878
4879         * Makefile: Minor fix for SGI 4D defines.
4880         Reported by Andrew Torda.
4881
4882         * rtape_server.c (main.c): For 386/AIX.  I'm suspicious about this
4883         one.
4884         * create.c (dump_file): For hidden files on AIX.
4885         gnu.c (collect_and_sort_name, get_dir_contents): AIX hidden file mod.
4886         Reported by Minh Tran-Le.
4887
4888         * tar.c: (name_next): Allow -C inside a file list given to -T.
4889         Reported by David Taylor.
4890
4891         * Makefile: Comment describing presence of USE_REXEC.
4892
4893         * extract.c (extract_archive, case LF_SPARSE): zero check for
4894         last element on numbytes needs to look at value after
4895         converted from octal.
4896
4897         * port.c [HAVE_STRSTR]: Check it, instead of always demanding strstr.
4898         Makefile: Comment describing presence of HAVE_STRSTR option.
4899
4900 1991-05-19  David J. MacKenzie  <djm@churchy.gnu.ai.mit.edu>
4901
4902         * port.c (get_date): Renamed from getdate, to avoid SVR4 conflict.
4903         * tar.c: Call get_date instead of getdate.
4904
4905 1991-05-10  Noah Friedman  <friedman@nutrimat>
4906
4907         * tar.c:  added "\n\" to the end of some documentation strings
4908         where they were left off.
4909
4910 1991-05-09  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4911
4912         * Makefile: added level-0, level-1, and backup-specs to AUX.
4913         * version.c: changed to 1.10 beta.
4914         * README: updated for 1.10 beta release.
4915
4916 1991-04-02  Michael I Bushnell  <mib@godwin>
4917
4918         * create.c (dump_file): HPUX's st_blocks is in 1024 byte units
4919         instead of 512 like the rest of the world, so I special cased
4920         it.
4921         * tar.c: Undo Noah's changes.
4922
4923 1991-04-01  Noah Friedman  <friedman@wookumz.gnu.ai.mit.edu>
4924
4925         (This ought to be temporary until things are fixed properly. )
4926
4927         * tar.c: (struct option long_options):  flag for "sparse" zero if
4928         compiling under hpux.
4929         tar.c: (functon options): case 'S' is a no-op if compiling under
4930         hpux.
4931
4932 1991-03-30  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4933
4934         * tar.h: new variable tape_length.
4935
4936         * tar.c (options): add new option +tape-length / -L.
4937
4938         * buffer.c (fl_write): Turn #ifdef TEST code for limited tape
4939         length on always, for tape-length option.
4940
4941         * create.c (dump_file): avoid apollo lossage where S_IFIFO == S_IFSOCK.
4942
4943         * buffer.c: include regex.h
4944         * buffer.c (fl_read, open_archive): Use regex routines for
4945         volume header match.
4946         * xmalloc.c: removed file; wasn't necessary.
4947         * tar.c: (main) use ck_malloc instead of xmalloc.
4948
4949 1991-03-28  Noah Friedman  <friedman@goldman>
4950
4951         * regex.c, regex.o: New links.
4952         * tar.c: include regex.h.
4953         * Makefile (OBJ2): Add regex.o.
4954         (regex.o, tar.o): Depend on regex.h
4955         (SRC2, AUX): Add the new files.
4956
4957 1991-03-23  Noah Friedman  <friedman@wookumz.gnu.ai.mit.edu>
4958
4959         * Makefile: added default flags and options for compiling under
4960         hpux.
4961
4962         * Added files alloca.c and xmalloc.c.
4963
4964 1991-03-23  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
4965
4966         * port.c [HPUX]: Define WANT_VALLOC.
4967
4968 1991-03-15  David J. MacKenzie  <djm@geech.ai.mit.edu>
4969
4970         * rtape_lib.c [USG && !HAVE_MTIO]: Define NO_RMTIOCTL automatically.
4971         (_rmt_rexec): Temporarily re-open stdin and stdout to
4972         /dev/tty, to guarantee that rexec() can prompt and read the
4973         login name and password from the user.
4974         * Makefile: Mention -DUSE_REXEC.
4975         Reported by Pascal Meheut.
4976
4977 1991-03-08  Michael I Bushnell  <mib@wookumz.ai.mit.edu>
4978
4979         * tar.h, Makefile [HAVE_SIZE_T]:  Might be useful for some people.
4980
4981         * gnu.c: lstat->stat define where appropriate
4982
4983         * buffer.c (fl_write): keep track of amount written for +totals.
4984         * tar.c, tar.h: set flag f_totals from +totals option.
4985         * tar.h (f_totals, tot_written): new variables.
4986         * tar.c (main): print total written with CMD_CREATE.
4987
4988         * tar.c (main): return appropriate exit status
4989
4990 1991-01-17  David J. MacKenzie  <djm@apple-gunkies>
4991
4992         * port.c: Remove a spurious `+' between functions (a remnant
4993         of a context diff, apparently).
4994
4995 1991-01-09  Michael I Bushnell  <mib@pogo.ai.mit.edu>
4996
4997         * create.c (where_is_data): Rewritten to be better, and then
4998         #ifdef-ed out.
4999         (deal_with_sparse): Severly pruned.  Now we write or don't
5000         write only complete blocks, not worrying about partial blocks.
5001         This simplifies calculations, removes bugs, and elides the
5002         second scan through the block.  The first was zero_record, the
5003         second was where_is_data.
5004
5005 1991-01-07  Michael I Bushnell  <mib@wookumz.ai.mit.edu>
5006
5007         * create.c (deal_with_sparse): Second computation (for short
5008         reads) of numbytes increment had subtraction backwards.
5009         Need to handle calling where_is_data better when we did a
5010         short read (it might go past the end of the read), also, set
5011         sparsearray[...].offset in this case too.
5012
5013 1991-01-04  Jay Fenlason <hack@ai.mit.edu>
5014
5015         * buffer.c: Return a special error code if the archive
5016         you're trying to read starts with a different label than
5017         the one specified on the command line.
5018
5019 1991-01-02  Jay Fenlason <hack@ai.mit.edu>
5020
5021         * gnu.c: Prepend the current directory to the gnu_dumpfile, so that
5022         -C's won't affect where the output goes. (sigh.)
5023
5024 1990-12-18  Jay Fenlason <hack@ai.mit.edu>
5025
5026         * gnu.c: Don't complain if the gnudumpfile we're reading info
5027         from doesn't exist.
5028
5029         * create.c: Write out gnudumpfile after finishing writing the archive.
5030
5031         * tar.c: Add +exclude FNAME, and make +exclude-from do what +exclude
5032         used to.
5033         * Make +version an operation, not an option.
5034         * Add +confirmation alias for +interactive.
5035
5036 1990-12-04  Jay Fenlason <hack@ai.mit.edu>
5037
5038         * tar.c (check_exclude): Don't let MUMBLE match MUMBLE.c or
5039         fooMUMBLE but only foo/MUMBLE.
5040
5041         * mangle.c: New file.
5042         * create.c, extract.c: According changes.
5043
5044         * extract.c: Don't complain when extracting an already existing link.
5045         Don't complain when extracting a directory iff it already exists.
5046         Don't ad u+wx to directories when running as root.
5047         Reported by Chip Salzenberg.
5048
5049         * gnu.c: Make +listed-incremental work.
5050         Reported by Chip Salzenberg.
5051
5052         * port.c: Add the F_FREESP emulation of the ftruncate syscall.
5053
5054 1990-11-21  Jay Fenlason <hack@ai.mit.edu>
5055
5056         Remove excess \n from lots of msg() calls.
5057
5058 1990-11-19  Jay Fenlason <hack@ai.mit.edu>
5059
5060         * tar.c: Rename +volume to +label.
5061
5062 1990-11-16  David J. MacKenzie  <djm@apple-gunkies>
5063
5064         * tar.c (describe): Include the default values for -b and -f
5065         (as set in the Makefile) in the message.
5066
5067 1990-11-15  Jay Fenlason <hack@ai.mit.edu>
5068
5069         * extract.c (extract_archive): Do the utime() call before the
5070         chmod() call, 'cuz some versons of utime() trash the file's mode
5071         bits.
5072
5073         * list.c (read_and): Call do_something on volume headers and
5074         multivol files even if they don't match the names we're looking
5075         for, etc.
5076
5077 1990-11-06  Jay Fenlason <hack@ai.mit.edu>
5078
5079         * port.c (un-quote-string): Don't try to write a null if there's
5080         already one there.
5081
5082 1990-11-01  Jay Fenlason <hack@ai.mit.edu>
5083
5084         * buffer.c (new_volume): fflush(msg_file) before reading for
5085         confirmation on new volume.  On EOF or error, print error msg and
5086         abort.
5087
5088 1990-10-29  Jay Fenlason <hack@ai.mit.edu>
5089
5090         * getdate.y: Use new version of getdate().
5091
5092         * tar.c (name_add): Use sizeof(char *) instead of sizeof(int)
5093
5094         * README: Give the correct return address.
5095
5096 1990-10-25  Jay Fenlason <hack@ai.mit.edu>
5097
5098         rtape_lib.c [NO_RMTIOCTL]: Instead of RMTIOCTL, so it is on by default.
5099
5100         rmt.h [NO_REMOTE]: Add _isrmt() #define.
5101
5102         gnu.c: Add forward reference for add_dir_name().
5103 \f
5104 1990-10-16  Jay Fenlason <hack@ai.mit.edu>
5105
5106         Version 1.09 --- New -G file implementation of gnu-dump stuff.
5107
5108         * tar.c (name_add): Get the calls to ck_realloc and ck_malloc right.
5109
5110 1990-10-11  Jay Fenlason <hack@ai.mit.edu>
5111
5112         * gnu.c: Fix A couple of typos.
5113
5114 1990-09-19  David J. MacKenzie  <djm@apple-gunkies>
5115
5116         * getdate.y [USG && !DAYLIGHT_MISSING] (ftime): Use `daylight'.
5117
5118 1990-09-17  Jay Fenlason <hack@ai.mit.edu>
5119
5120         * gnu.c (gnu_restore): Don't use a passed char* for the
5121         file name, use skipcrud+head->header.name, just like everything
5122         else does.  This means that gnu_restore will still work with
5123         small buffers, etc.
5124
5125 1990-09-13  Jay Fenlason <hack@ai.mit.edu>
5126
5127         * tar.c (add_exclude): Don't bus-error if the exclude file doesn't
5128         end with a newline.
5129
5130 1990-09-09  David J. MacKenzie  <djm@albert.ai.mit.edu>
5131
5132         * Makefile (dist): Remove .fname when done.
5133
5134 1990-09-06  Jay Fenlason <hack@ai.mti.edu>
5135
5136         * gnu.c (gnu_restore): Rember to skip_file() over the directory
5137         contents, even if we don't have to do anything with them.
5138
5139         * create.c, extract.c, diffarch.c: Free sparsearray after we're
5140         done with it.
5141
5142 1990-09-04  Jay Fenlason <hack@ai.mit.edu>
5143
5144         * Makefile: Include gnu.c in dist
5145
5146         * gnu.c: Move add_dir above read_dir_file so that cc doesn't
5147         complain about add_dir returning void.
5148
5149 1990-09-02  David J. MacKenzie  <djm@apple-gunkies>
5150
5151         * getdate.y: Declare some more functions and add storage
5152         classes where omitted to shut compiler up.
5153         [USG] (ftime): Don't use extern var `daylight'; appears that
5154         some systems don't have it.
5155
5156 1990-08-29  David J. MacKenzie  <djm@apple-gunkies>
5157
5158         * getdate.y (lookup): In the code that allows `Aug.' to be
5159         recognized as `Aug', don't chop off the final `.' from words
5160         like `a.m.', so they can be recognized.
5161
5162 1990-08-16  Jay Fenlason <hack@ai.mit.edu>
5163
5164         * buffer.c (open_archive): If -O, write verbosity to stderr
5165         instead of stdout.
5166
5167 1990-08-10  Jay Fenlason <hack@ai.mit.edu>
5168
5169         * getdate.y: Handle an explicit DST in the input string.
5170         Reported by Per Foreby.
5171
5172 1990-07-16  Jay Fenlason <hack@ai.mit.edu>
5173
5174         * tar.c: rename -g -G +incremental, +listed-imcremental, etc.
5175
5176 1990-07-13  Jay Fenlason <hack@ai.mit.edu>
5177
5178         * tar.c: Make +newer and +newer-mtime work according to their names.
5179
5180         * gnu.c: If +newer or +newer-mtime, use the time specified on the
5181         command line.
5182
5183         * buffer.c, create.c: Add test to see if dimwit is trying to
5184         archive the archive.
5185
5186         * tar.c (long_options[]): Re-ordered, so that groups of similar
5187         options are next to each other...  I think.
5188
5189         (describe): Modified to more closely reflect reality.
5190
5191 1990-07-06  Jay Fenlason <hack@ai.mit.edu>
5192
5193         * tar.c: Add compile-time option for SYS V (?) style
5194         tape-drive names /dev/rmt/{n}[lmh]
5195
5196         * tar.c: Fix getopt-style stuff so that -C always works correctly.
5197
5198         * gnu.c, tar.c: Make filename to -G optional.
5199
5200         * {all over}: Replace some fprintf(stderr...) calls with calls
5201         to msg().
5202
5203         * port.c: Make -Dmumble_MSG option on command line override
5204         internal assumptions.
5205
5206         * Makefile: Mention -Dmumble_MSG options
5207
5208 1990-07-06  David J. MacKenzie  <djm@apple-gunkies>
5209
5210         * tar.c (options): Don't change `c' if it is 0, as getopt now
5211         handles that internally.
5212
5213 1990-07-02 Jay Fenlason <hack@ai.mit.edu>
5214
5215         * gnu.c (new file): Moved all the f_gnudump stuff here where we
5216         can keep track of it easier.  Also made -G take a file name where
5217         it stores the inode information about directories so that we can
5218         detect moved directores.
5219
5220         * create.c (dump_file): Changed slightly to work with the new
5221         f_gnudump.
5222
5223         * tar.c: Moved the f_gnudump stuff to gnu.c
5224
5225         * tar.c, extract.c: Added the +do-chown option, which forces tar
5226         to always try to chown the created files to their original owners.
5227
5228         * version.c: New version 1.09
5229
5230 1990-06-24  David J. MacKenzie  <djm@albert.ai.mit.edu>
5231
5232         * create.c: Change ifdefs for directory library header
5233         selection to be like the ones in tar.c.
5234         * Makefile [Xenix]: Link with -ldir to get the dirent.h
5235         directory library.
5236
5237 1990-06-07  David J. MacKenzie  <djm@albert.ai.mit.edu>
5238
5239         * Makefile, buffer.c, diffarch.c [HAVE_MTIO]: Instead of MTIO, as
5240         SCO Xenix defines 'MTIO' for an incompatible tape driver system in
5241         a file included by termio.h.
5242         * tar.h: Don't define size_t for Xenix.
5243
5244 1990-06-05  Jay Fenlason <hack@ai.mit.edu>
5245
5246         * create.c (dump_file): Only print the
5247         "... is on a different filesystem..." if f_verbose is on.
5248         also add a case for S_IFSOCK and treat it like a FIFO.
5249         (Not sure if that's the right thing to do or not, but it's better
5250         than all those Unknown File Type msgs.)
5251
5252 1990-05-31  Jay Fenlason <hack@ai.mit.edu>
5253
5254         * port.c [sparc]: Use instead of SPARC since the lowercase version
5255         is defined, and the uppercase one isn't.
5256
5257 1990-05-22  Jay Fenlason <hack@ai.mit.edu>
5258
5259         * port.c (ck_malloc): if size==0 pretend size=1
5260         (ck_realloc): if(!ptr) call ck_malloc instead.
5261
5262 1990-05-15  Jay Fenlason <hack@ai.mit.edu>
5263
5264         * diffarch.c (diff_archive): If not f_absolute_paths, and attempt
5265         to open a file listed in the archive fails, try /filename also.
5266         This will allow diff to open the wrong file if both /filename and
5267         filename exist, but there's nothing we can do about that.
5268
5269 1990-05-11  Jay Fenlason <hack@ai.mit.edu>
5270
5271         * Makefile: Describe new -DMTIO option.
5272
5273         * buffer.c, diffarch.c: Change ifdefs slightly, so that -DMTIO
5274         will include sys/mtio.h even if USG is defined.  This is for HPUX
5275         and similar BSD/USG crossovers.
5276
5277 1990-05-08  Jay Fenlason <hack@ai.mit.edu>
5278
5279         * update.c (update_archive): Call reset_eof() when appropriate.
5280
5281         * buffer.c (reset_eof): New function, that turns of EOF flag, and
5282         re-sets the ar_record and ar_last pointers.  This will allow
5283         'tar rf non-existant-file' to not core-dump.
5284
5285 1990-05-04  David J. MacKenzie  <djm@albert.ai.mit.edu>
5286
5287         * tar.c: Recognize the +sparse option.  It was documented, but
5288         only the short form (-S) was actually recognized.
5289
5290 1990-04-17  Jay Fenlason <hack@ai.mit.edu>
5291
5292         * create.c: Don't access location 0 if ->dir_contents is null.
5293
5294 1990-04-11  Jay Fenlason <hack@ai.mit.edu>
5295
5296         * buffer.c (flush_archive, close_archive, new_volume): Always
5297         check the return value of rmtclose(), and only give a warning msg
5298         if it is <0.  Some device drivers (including Sun floppy disk, and
5299         HP streaming tape) return -1 after an IO error (or something like
5300         that.)
5301
5302 1990-03-23  Jim Kingdon  <kingdon@mole.ai.mit.edu>
5303
5304         * tar.c (long_options): Make it so +append +extract +list +update
5305         +catenate and +delete don't take arguments.
5306
5307 1990-03-12  Jay Fenlason <hack@ai.mit.edu>
5308
5309         * buffer.c (open_archive, fl_write): Set the mtime of the volume
5310         header to the current time.
5311
5312 1990-03-07  Jay Fenlason <hack@ai.mit.edu>
5313
5314         * buffer.c  Fix +compress-block  A two character patch from
5315         Juha Sarlin.
5316         Replace #ifdef __GNU__ with #ifdef __STDC__.
5317         (new_volume): If open of new archive fails, ask again, as it
5318         probably is user error.
5319
5320         * tar.c: Replace #ifdef __GNU__ with #ifdef __STDC__
5321
5322         * port.c: Clean up #ifdef and #defines a bit.
5323         (quote_copy_string): Sometimes the malloc'd buffer would be up to
5324         two characters too short.
5325
5326         * extract.c (extract_archive): Don't declare ind static.
5327
5328         * create.c (dump_file): Don't declare index_offset static.
5329
5330         * diffarch.c: Remove diff_name variable, and always use
5331         head->header.name, which will always work, unlike diff_name, which
5332         becomes trash when the next block is read in.
5333
5334 1990-03-01  Jay Fenlason <hack@wookumz.ai.mit.edu>
5335
5336         * Makefile: Mention the -NO_REMOTE option.
5337         * port.c [i386]: Fix typo, and define WANT_FTRUNCATE.
5338
5339 1990-02-26  Jim Kingdon  <kingdon@pogo.ai.mit.edu>
5340
5341         * getdate.y: Declare yylex and yyerror as static.
5342         #define yyparse to getdate_yyparse.
5343
5344 1990-02-25  David J. MacKenzie  <djm@albert.ai.mit.edu>
5345
5346         * tar.c: Remove +old option, since it is a valid abbreviation of
5347         +old-archive, which does the same thing.
5348         (describe): A few small cleanups in message.
5349
5350 1990-02-05  Jay Fenlason        <hack@wookumz>
5351
5352         * port.c [sparc]: Define LOSING_MSG, since doprnt_msg doesn't work.
5353         [WANT_GETWD]: Fix typo.
5354 \f
5355 1990-01-26  Jay Fenlason        <hack@wookumz>
5356
5357         Version 1.08 --- Sparse file support added.  Also various other
5358         features.
5359
5360         * diffarch.c (compare_chunk): Include correct arguments in
5361         a call to fprintf() for an error msg.
5362         (compare_chunks, compare_dir): First argument is a long, not an int.
5363
5364         * tar.c (options): Use tar variable (argv[0]) as the name to print
5365         in an error msg, instead of a constant "tar".
5366         (confirm): Use external variable char TTY_NAME[] for name of file
5367         to open for confirmation input.
5368
5369         * buffer.c (new_volume): Ditto.
5370
5371         * port.c: Add declaration for TTY_NAME[].
5372
5373         * rmt.h: Add long declarations for lseek() and __rmt_lseek();
5374
5375 1990-01-23  Jay Fenlason <hack@wookumz>
5376
5377         * tar.c, create.c: Create the +newer-mtime option, which is like
5378         +newer, but only looks for files whose mtime is newer than the
5379         given date.
5380
5381         * rtape_lib.c [USG]: Make *both* instances of signal-handler stuff
5382         use void (*foo)().
5383
5384 1990-01-11  Jay Fenlason  <hack@wookumz>
5385
5386         * getdate.y : Parse European dates of the form YYMMDD.
5387         In ftime(): Init timezone by calling localtime(), and remember that
5388         timezone is in seconds, but we want timeb->timezone to be in minutes.
5389         Reported by Jörgen Haegg.
5390
5391         * rtape_lib.c (__rmt_open): Also look for /usr/bsd/rsh.
5392         Declare signal handler as returning void instead of int if USG is
5393         defined.
5394
5395         * port.c: Declare WANT_GETWD for SGI 4-D IRIS.
5396
5397         * Makefile: Include defines for SGI 4D version.
5398         Reported by Mike Muuss.
5399
5400         * buffer.c (fl_read): Work properly on broken Ultrix systems where
5401         read() returns -1 with errno==ENOSPC on end of tape.  Correctly go
5402         on to the next volume if f_multivol.
5403
5404         * list.c (list_archive, print_header): Flush msg_file after
5405         printing messages.
5406
5407         * port.c: Delete unused references to alloca().
5408         Don't crash if malloc() returns zero in quote_copy_string.
5409         Flush stderr in msg() and msg_perror().
5410
5411         * tar.c: Flush msg_file after printing confirmation msg.
5412
5413 1990-01-10  David J. MacKenzie  <djm@hobbes.ai.mit.edu>
5414
5415         * tar.c (main): Change -help option and references to it to +help,
5416         and remove suggestion to run info (which is unreleased, so not
5417         likely to be of any help).
5418
5419 1990-01-09  Jay Fenlason  <hack @wookumz>
5420
5421         * create.c (dump_file): Close file descriptor if start_header()
5422         fails.
5423         (dump_file): Change test for `./'-ness to not think that `.' {any
5424         character} is a `./'.
5425         Reported by Piercarlo Grandi.
5426
5427         * diffarch.c (diff_init): Print correct number of bytes in error
5428         message.
5429
5430 1990-01-09  David J. MacKenzie  <djm@hobbes.ai.mit.edu>
5431
5432         * Makefile: Add comment at top noting that two source files also
5433         contain #defines that might need to be changed by hand.
5434
5435         * create.c, diffarch.c, extract.c: Change L_SET to 0 in lseek
5436         calls, because only BSD defines it.
5437         * create.c (dump_file) [BSD42]: Make sparse file checking code
5438         conditional because it uses st_blocks, which the other systems lack.
5439
5440 1990-01-02  Jay Fenlason <hack@gnu>
5441
5442         * port.c (quote_copy_string): Fix so it doesn't scramble memory if
5443         the last character is non-printable.
5444         Reported by Kian-Tat Lim.
5445
5446 1989-12-19  Jim Kingdon  <kingdon@pogo>
5447
5448         * port.c [BSD42]: Define DOPRNT_MSG.
5449         tar.h [BSD42]: Do not prototype msg{,_perror}.
5450
5451 1989-12-08  Jay Fenlason <hack@gnu>
5452
5453         * create.c (dump_file): Remove typo in msg.
5454
5455 1989-12-01  David J. MacKenzie  <djm@trix>
5456
5457         * Makefile: Remove comments referring to certain systems lacking
5458         getopt, since it is now provided always and needed by all systems.
5459
5460         * port.c: Remove copy of getopt.c, as it is now linked in
5461         separately to always get the current version.
5462
5463         * tar.c: Rename +cat-tars option to +catenate or +concatenate,
5464         and +local-filesystem to +one-file-system (preferred by rms
5465         and used in GNU cp for the same purpose).
5466         (describe): Reflect changes.
5467
5468 1989-11-28  David J. MacKenzie  <djm@hobbes.ai.mit.edu>
5469
5470         * port.c: Move declaration of alloca into #else /* sparc */
5471         so it will compile on sparcs.
5472
5473 1989-11-27  David J. MacKenzie  <djm@hobbes.ai.mit.edu>
5474
5475         * tar.c (options): Remove -version option (replaced by +version).
5476         (describe): Mention long options.
5477
5478 1989-11-25  David J. MacKenzie  <djm@hobbes.ai.mit.edu>
5479
5480         * getoldopt.c (getoldopt): Make `opt_index' argument a pointer to
5481         an int, not char.
5482
5483         * tar.c: Modify long options per rms's suggestions:
5484         Make preserve-permissions an alias for same-permissions.
5485         Make preserve-order an alias for same-order.
5486         Define preserve to mean both of those combined.
5487         Make old an alias for old-archive.
5488         Make portability an alias for old-archive, also.
5489         Rename sym-links to dereference.
5490         Rename gnudump to incremental.
5491         Rename filename to file.
5492         Make compare an alias for diff.  Leave diff but prefer compare.
5493         Rename blocking-factor to block-size.
5494         Rename chdir to directory.
5495         Make uncompress an alias for compress.
5496         Rename confirm to interactive.
5497         Make get an alias for extract.
5498         Rename volume-header to volume.
5499
5500         Also make +version an alias for -version.
5501
5502         (options): Shorten code that interprets long options by using
5503         the equivalent short options' code.  This also makes it tons
5504         easier to change the long options.
5505
5506         (describe): Make usage message more internally consistent
5507         stylistically.
5508
5509 1989-11-20      hack@ai.mit.edu
5510
5511         * list.c (read_and): Call check_exclude() to see if the files
5512         should be skipped on extract or list.
5513
5514 1989-11-09  Jim Kingdon  <kingdon@hobbes.ai.mit.edu>
5515
5516         * buffer.c (fl_read): Fix typos in error message
5517         "tar EOF not on block boundary".
5518
5519 1989-10-23              <hack@ai.mit.edu>
5520
5521         * tar.c (long_options[]): Add an option for blocked compression.
5522
5523 1989-10-19              <hack@ai.mit.edu>
5524
5525         * buffer.c (writeerror): Print a more useful error msg.
5526
5527 1989-09-27              <hack@ai.mit.edu>
5528
5529         * tar.c (main): Mention "tar -help" if the luser types a non-workable
5530         set of options.
5531
5532 1989-09-11              <hack@ai.mit.edu>
5533
5534         * tar.c (options): Have -F correctly set info_script.
5535
5536 1989-08-29              <hack@ai.mit.edu>
5537
5538         * Makefile  Include ChangeLog in tar.tar and tar.tar.Z
5539
5540 1989-08-28              <hack@ai.mit.edu>
5541
5542         * tar.c (options) Made -F imply -M.
5543         Also remind tar that the -f option takes an argument!
5544
5545         * Modified -F option to make it do what (I think) it
5546         should.  e.g, if you say -F, tar won't send a msg to
5547         msg_file and wait for a <return> It'll just run the program
5548         it was given, and when the prog returns, the new tape had
5549         *better* be ready...
5550
5551         * buffer.c (open_archive): Give error message and abort if
5552         the luser didn't give an archive name.
5553
5554 1989-08-25              Joy Kendall <jak@hobbes>
5555
5556         * Added code to make a new option to run a specified script at
5557         the end of each tape in a multi-volume backup.  Changed: tar.c:
5558         made new switch, -F, and new long-named option, "info-script".
5559         Code is where you would expect.
5560         * tar.h: added flag f_run_script_at_end, and an extern char *
5561         called info_script, which optarg gets set to.
5562         * buffer.c (new_volume): if f_run_script_at_end is set, we give
5563         info_script to system(), otherwise we do what we've always done.
5564
5565 1989-08-24              Joy Kendall <jak@spiff>
5566 (These changes made over the course of 6/89 - 8/89)
5567
5568         * diffarch.c: diff_archive: Added switches for LF_SPARSE in the
5569         case statements that needed it.  Also, skip any extended headers
5570         if we need to when we skip over a file.  (need to change the bit
5571         about, if the size doesn't agree AND the file is NOT sparse,
5572         then there's a discrepancy, because I added another field to
5573         the header which should be able to deal with the sizes): If
5574         the file is sparse, call the added routine "diff_sparse_files"
5575         to compare.  Also added routine "fill_in_sparse_array".
5576
5577         * extract.c: extract_archive: added the switch LF_SPARSE to the
5578         case statement as needed, and code to treat the sparse file.
5579         At label "again_file", modified opening the file to see if we
5580         should have O_APPEND be one of the modes.  Added code at label
5581         "extract_file" to call the new routine "extract_sparse_file"
5582         when we have an LF_SPARSE flag.
5583
5584         Note: really should erase the commented-out code in there,
5585         because it's confusing.
5586
5587         * update.c: made sure that if a file needed to be "skipped"
5588         over, it would check to see if the linkflag was sparse, and if
5589         so, would then make sure to skip over any "extended headers"
5590         that might come after the header itself.  Do so by calling
5591         "skip_extended_headers".
5592
5593         * create.c: create_archive: added code to detect a sparse file
5594         when in the long case statement.  Added ways to detect extended
5595         headers, and label "extend" (ack! should get rid of that, is
5596         atrocious).  Call the new routine "finish_sparse_file" if the
5597         linkflag is LF_SPARSE to write the info to the tape.  Also added
5598         routines "init_sparsearray", "deal_with_sparse", "clear_buffer",
5599         "where_is_data", "zero_record", and "find_new_file_size".
5600
5601         * tar.h: Added the #define's SPARSE_EXT_HDR and SPARSE_IN_HDR.
5602         Added the struct sparse and the struct sp_array.  Added the
5603         linkflag LF_SPARSE. Changed the tar header in several ways:
5604         - added an array of struct sparse's SPARSE_IN_HDR long
5605         - added a char flag isextended
5606         - added a char string realsize to store the true size of a sparse file
5607         Added another choice to the union record called a struct
5608         extended_header, which is an array of 21 struct sparse's and a
5609         char isextended flag.  Added flag f_sparse_file to list of flags.
5610
5611         * tar.c: added long-named options to make tar compatible with
5612         getopt_long, changed Makefile.
5613
5614 1989-03-03  David MacKenzie  (edf at rocky2.rockefeller.edu)
5615 (I'm not completely sure all these have been integrated -- FP.)
5616
5617         * buffer.c [USG]: ifdef'd out #include <sys/file.h>.
5618         (close_archive): SysV doesn't have ftruncate, so substituted
5619         fmtwrite (just copied the code for MS-DOS).
5620         * create.c: Unos lacks <sys/sysmacros.h> so provided a substitute.
5621         (start_header): Only strip leading paths if f_relative_paths is true.
5622         * extract.c:
5623         (extract_archive): Only strip leading paths if
5624         f_relative_paths is true.  Because the Unos filesystem has
5625         only one timestamp, moved the utime call to after the chown
5626         and chmod calls.
5627         * getdate.y: Don't define ftime if Unos.
5628         * list.c: Defined size_t for Unos.  [USG]: Don't include <sys/file.h>.
5629         Define <sys/sysmacros> stuff manually for Unos.
5630         (decode_header): Add braces around switch cases; some compilers
5631         require them.
5632         (print_header): Changed UGSWIDTH from 11 to 25 because the smaller
5633         value made tape listings of files owned by more than one user
5634         gradually get wider, making them hard to read.
5635         * port.c: Don't include <sys/file.h> if SysV.  Define
5636         size_t for Unos.
5637         (mkdir): Add code to support Unos makedir sys call.
5638         (getopt): Use malloc instead of alloca, because tar doesn't
5639         use alloca anywhere else and many systems lack it.  A few other
5640         changes from the current version of getopt.c incorporated.
5641         * rtape_lib.c: Undefine RMTIOCTL.  Doesn't seem to be needed,
5642         and can't compile on Unos/SysV with it defined.  Might need to be
5643         ifdef'd.
5644         * tar.c: Alias addname to add_name and rmdir to deldir on Unos
5645         due to C library weirdness.
5646         (options): Recognize new -P option to set f_relative paths.
5647         (describe): Clean up error message and add -P description.
5648         * tar.h: Add variable, f_relative_paths, to cause tar to strip
5649         leading `/' characters in pathnames during create and extract.
5650         * tar.texinfo: Fixed a couple of typos, detected by texi2roff.
5651         * update.c: Simulate <sys/sysmacros.h> for Unos.
5652 \f
5653 Previous releases by Jay Fenlason (hack@ai.mit.edu)
5654
5655         * Version 1.07 --- New version to go on beta tape with GCC 1.35.
5656         Better USG support.  Also support for __builtin_alloca if we're
5657         compiling with GCC.
5658
5659         * diffarch.c: Include the correct header files so MTIOCTOP
5660         is defined.
5661         * tar.c:  Don't print the verbose list of options unless
5662         given -help.  The list of options is *way* too long.
5663
5664         * Version 1.06 --- [__STDC__]: Use STDC_MSG.
5665         ENXIO meand end-of-volume in archive (for the UNIX PC)
5666         Added break after volume-header case (line 440) extract.c
5667         Added patch to rtape_lib.c (reported by Arnold Robbins).
5668         Added f_absolute_paths option.
5669         Deleted refereces to UN*X manual sections (dump(8), etc)
5670         Fixed to not core-dump on illegal options
5671         Modified msg_perror to call perror("") instead of perror(0)
5672         patch so -X - works
5673         Fixed tar.c so 'tar cf - -C dir' doesn't core-dump
5674         tar.c (name_match): Fixed to chdir() to the appropriate
5675         directory if the matching name's change_dir is set.  This
5676         makes tar xv -C foo {files} work.
5677
5678         * Version 1.05 --- A fix to make confirm() work when the archive is
5679         on stdin; include 'extern FILE *msg_file;' in pr_mkdir().
5680         * tar.h [__STDC__]: Fix to work.
5681
5682         Added to port.c: mkdir() ftruncate(): Removed: lstat()
5683         Fixed -G to work with -X
5684         Another fix to tar.texinfo
5685         Changed tar.c to say argv[0]":you must specify exactly ...
5686         buffer.c: modified child_open() to keep tar from hanging when
5687         it is done reading/writing a compressed archive
5688         added fflush(msg_file) before printing error messages
5689         create.c: fixed to make link_names non-absolute
5690
5691         * Version 1.04 --- Added functions msg() and msg_perror(): Modified
5692         all the files to call them.  Also checked that all (I hope) calls
5693         to msg_perror() have a valid errno value.
5694         (modified anno() to leave errno alone), etc.
5695         Re-fixed the -X option.  This time for sure...
5696         re-modified the msg stuff.  flushed anno() completely
5697         Modified the directory stuff so it should work on sysV boxes
5698         added ftime() to getdate.y
5699         Fixed un_quote_string() so it won't wedge on \" Also fixed
5700         \ddd (like \123, etc)
5701         More fixes to tar.texinfo
5702
5703         * Version 1.03 --- Fixed buffer.c so 'tar tzf NON_EXISTENT_FILE'
5704         returns an error message instead of hanging forever.
5705         More fixes to tar.texinfo.
5706
5707         * Version 1.02 --- Fixed tar.c so 'tar -h' and 'tar -v' don't cause
5708         core dump.  Also fixed the 'usage' message to be more up-to-date.
5709         * diffarch.c [!MTIOCTOP]: Fixed so verify should compile.
5710
5711         * Version 1.01 --- Fixed typoes in tar.texinfo.
5712         Fixed a bug in the #define for rmtcreat().
5713         Fixed the -X option to not call realloc() of 0.
5714
5715         * Version 1.00 --- version.c added.  -version option added.
5716         Installed new version of the remote-tape library.
5717         Added -help option.
5718
5719
5720 ----- tests/ChangeLog -----
5721
5722 1997-04-25  François Pinard  <pinard@iro.umontreal.ca>
5723
5724         * Release 1.12.
5725
5726         * gzip.sh, ignfail.sh: Adjust to new delayed error exit message.
5727
5728         * Makefile.am (BUILT_SOURCES): Define as preset, so preset is
5729         regenerated if configuration changes.
5730
5731         * Makefile.am (TESTS): Nevertheless include delete01.sh.
5732         (POSTPONED_TESTS): Adjusted.
5733         Reported by Andreas Schwab.
5734
5735         * delete02.sh: Mention f - explicitly, do not assume it, in case
5736         $TAPE is defined or the default archive has been overridden.
5737         Reported by Andreas Schwab.
5738
5739 1997-04-24  François Pinard  <pinard@iro.umontreal.ca>
5740
5741         * after: Unredirect stdout and stderr before removing the files.
5742         If redirections are to NFS files, removing them while they are
5743         still opened may have strange effects, failing almost all tests.
5744         Reported by Kaveh R. Ghazi.
5745
5746 1997-04-22  François Pinard  <pinard@iro.umontreal.ca>
5747
5748         * Prerelease 1.11q.
5749
5750         * extrac03.sh: New file.
5751         * Makefile.am (TESTS): Adjusted.
5752         Reported by Marc Boucher.
5753
5754         * preset.in (LC_MESSAGES): Clear value before tests.
5755         Reported by Sven Verdoolaege.
5756
5757         * Makefile.am (INCLUDES): Adjust so config.h gets found.
5758
5759         * genfile.c (usage): Corrected.
5760
5761         * delete01.sh: New name for delete.sh.
5762         * delete02.sh: New file.
5763         * Makefile.am (TESTS): Adjusted.
5764         Reported by Vince Del Vecchio.
5765
5766         * Makefile.am (POSTPONED_TESTS): To contain the --delete tests.
5767         (TESTS): Adjusted.
5768         (EXTRA_DIST): Include $(POSTPONED_TESTS).  The purpose is getting
5769         the tests distributed, but not executed.  These flaky tests are to
5770         be addressed only after 1.12 is released.
5771
5772 1997-04-19  François Pinard  <pinard@iro.umontreal.ca>
5773
5774         * Makefile.am (AUTOMAKE_OPTIONS): Declare ../src/ansi2knr.
5775         * (DEFS): New, for defining LOCALEDIR.
5776         * (genfile.o): Deleted, will be implied from DEFS above.
5777         Reported by Bruno Haible and Kaveh R. Ghazi.
5778
5779 1997-04-17  François Pinard  <pinard@iro.umontreal.ca>
5780
5781         * Prerelease 1.11p.
5782
5783         * genfile.c (usage): Add a program description.
5784         (main): Output --version according to recent GNU standards.
5785
5786 1997-04-15  François Pinard  <pinard@iro.umontreal.ca>
5787
5788         * ignfail.sh: Ensure the test does not fail if run as super-user.
5789         Reported by John David Anglin.
5790
5791 1997-04-12  François Pinard  <pinard@iro.umontreal.ca>
5792
5793         * genfile.c (pattern): Remove trailing comma for last enum item.
5794         Reported by Bruno Haible.
5795
5796 1997-04-11  François Pinard  <pinard@iro.umontreal.ca>
5797
5798         * Prerelease 1.11o.
5799
5800 1997-03-29  François Pinard  <pinard@iro.umontreal.ca>
5801
5802         * ignfail.sh: New file.
5803         * Makefile.am (TESTS): Adjusted.
5804         Reported by Ralph Schleicher.
5805
5806 1997-03-24  François Pinard  <pinard@iro.umontreal.ca>
5807
5808         * genfile.c: Implement --pattern=default/zeros.
5809
5810 1997-02-25  François Pinard  <pinard@iro.umontreal.ca>
5811
5812         * old.sh: New file.
5813         * Makefile.am (TESTS): Adjusted.
5814         Reported by Daniel Trinkle.
5815
5816 1997-01-21  François Pinard  <pinard@iro.umontreal.ca>
5817
5818         * extrac01.sh: New name for extract.sh.
5819         * extrac02.sh: New file.
5820         * Makefile.am (TESTS): Adjusted.
5821         Reported by Axel Boldt.
5822
5823 1996-11-25  François Pinard  <pinard@iro.umontreal.ca>
5824
5825         * genfile.c (usage): Typo in message.
5826         Reported by Christian Kirsch.
5827
5828 1996-11-22  François Pinard  <pinard@iro.umontreal.ca>
5829
5830         * incremen.sh: New file.
5831         Reported by Wolfram Wagner.
5832
5833         * append.sh, delete.sh: New files.
5834         * Makefile.am (TESTS): Adjusted.
5835         Reported by Andreas Schwab.
5836
5837         * before: Ensure .. on PATH, so genfile may be found.
5838         * Makefile.am ($(TESTS)): Depend on genfile, waiting for Automake
5839         to be adjusted to do the proper thing for parallel make.
5840
5841         * gzip.sh: New name for childerr.sh.
5842         * extract.sh: New name for direxist.sh.
5843         * volume.sh: New name for volcheck.sh.
5844         * Makefile.am: Adjusted.
5845
5846         * All tests: Use set -e whenever appropriate.  Use "" instead of
5847         '' for out and err, so allowing us to use escaped newlines.  In
5848         case of multiple output in a single test, ensure separator lines.
5849
5850 1996-11-06  François Pinard  <pinard@iro.umontreal.ca>
5851
5852         * Prerelease 1.11.13.
5853
5854         * childerr.sh, direxist.sh, volcheck.sh: Use sh, not bash.
5855         Reported by John David Anglin.
5856
5857 1996-09-20  François Pinard  <pinard@iro.umontreal.ca>
5858
5859         * volcheck.sh: New.
5860         * Makefile.am (TESTS): Adjusted.
5861
5862 1996-09-19  François Pinard  <pinard@iro.umontreal.ca>
5863
5864         * Prerelease 1.11.12.
5865
5866         * Makefile.am ($(TESTS)): Depend on preset.
5867         * version.sh (PATH): Adjust for multi-line --version output.
5868         * preset.in (LANG, LANGUAGE): Export them, so gzip does not
5869         localise its own output.
5870         (echo_n, echo_c): Define from the result of echo configuration.
5871         * after: Handle echo with newline suppressed.
5872
5873 1996-09-09  François Pinard  <pinard@iro.umontreal.ca>
5874
5875         * childerr.sh, direxist.sh, before, after: New files.
5876         * Makefile.am: Adjusted.
5877
5878 1996-09-04  François Pinard  <pinard@iro.umontreal.ca>
5879
5880         * ChangeLog, Makefile.am, pretest.in, version.sh: New files.
5881         * checktar.sh, genfile.c: New files, moved from src/.
5882
5883         A regression test is an old dream for GNU tar.
5884         Reported by Tom Tromey and Robert Bernstein.