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