*** empty log message ***
[gnulib.git] / lib / ChangeLog
1 2002-06-15  Jim Meyering  <meyering@lucent.com>
2
3         * file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
4         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
5         have been included before this file.
6
7 2002-06-13  Richard Dawe  <richdawe@bigfoot.com>
8
9         * Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than $@-t,
10         so that each temporary file name is unique and valid in the first
11         8 characters, for operation under DOS.
12
13 2002-06-15  Jim Meyering  <meyering@lucent.com>
14
15         Work even with DJGPP 2.03, which lacks support for symlinks.
16         From Richard Dawe.
17         * xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
18         is defined.
19         * lchown.c (S_ISLNK): Likewise.
20
21 2002-06-14  Jim Meyering  <meyering@lucent.com>
22
23         * file-type.h: Use the version from diffutils-2.8.2.
24         * file-type.c: Likewise.
25
26 2002-05-27  Jim Meyering  <meyering@lucent.com>
27
28         Fix a problem seen only on nonconforming systems whereby ls.c's
29         use of localtime, and then of gettimeofday would cause trouble:
30         the localtime call used to initialize rpl_gettimeofday's save
31         mechanism would clobber ls's current local time information so
32         that in any long listing the first file would always be listed
33         with date 1970-01-01.  Analysis by Volker Borchert.
34
35         * gettimeofday.c (localtime): Undefine.
36         (rpl_localtime): New function.
37
38 2002-05-22  Jim Meyering  <meyering@lucent.com>
39
40         * Makefile.am (libfetish_a_SOURCES): Add file-type.c and file-type.h.
41         * file-type.h: New file.
42         * file-type.c (file_type): New file/function.  Extracted from diffutils.
43
44 2002-04-29  Paul Eggert  <eggert@twinsun.com>
45
46         * hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
47
48 2002-04-28  Paul Eggert  <eggert@twinsun.com>
49
50         * sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
51         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
52         of 127, since 64 is the largest conceivable number for ancient
53         nonstandard hosts.
54         * sig2str.c: Do not include <sys/wait.h>; no longer needed.
55
56 2002-04-28  Jim Meyering  <meyering@lucent.com>
57
58         * sig2str.c (WTERMSIG): Remove definition (unused).
59
60 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61
62         * sig2str.h, sig2str.c: New files.
63         * Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
64
65 2002-04-24  Jim Meyering  <meyering@lucent.com>
66
67         * gettext.h: New file, from Gettext.
68         * Makefile.am (INCLUDES): Remove -I../intl.
69         (libfetish_a_SOURCES): Add gettext.h.
70
71 2002-04-16  Jim Meyering  <meyering@lucent.com>
72
73         * readutmp.h (UT_TYPE): Remove definition (now in who.c).
74         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
75         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
76
77 2002-04-12  Jim Meyering  <meyering@lucent.com>
78
79         * dirfd.h (dirfd): Elide prototype if dirfd is a macro.
80
81 2002-03-10  Jim Meyering  <meyering@lucent.com>
82
83         * makepath.c (make_path): Remove a comma from a diagnostic.
84         Suggestion from Santiago Vila.
85
86 2002-03-08  Jim Meyering  <meyering@lucent.com>
87
88         * rename.c: Mention that this wrapper is needed also on
89         mips-dec-ultrix4.4 systems.
90
91 2002-03-02  Jim Meyering  <meyering@lucent.com>
92
93         * gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
94         not HAVE_CLOCK_SETTIME.
95
96 2002-02-27  Paul Eggert  <eggert@twinsun.com>
97
98         * nanosleep.h: Rename to....
99         * timespec.h: New name for nanosleep.h.  All uses changed.
100
101         * gettime.c: New file.
102         * settime.c: New file.
103         * stime.c: Remove.
104
105         * Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
106         timespec.h.  Remove nanosleep.h.
107
108 2002-02-25  Paul Eggert  <eggert@twinsun.com>
109
110         * acl.c, acl.h: New files.
111         * Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
112
113 2002-02-24  Jim Meyering  <meyering@lucent.com>
114
115         * strnlen.c (strnlen): Define-away/undef so that an inconsistent
116         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
117         cause trouble.  Reported by Nelson Beebe.
118
119 2002-02-23  Paul Eggert  <eggert@twinsun.com>
120
121         * path-concat.c (xpath_concat): Reorder code to pacify
122         compilers that don't know that xalloc_die never returns.
123
124 2002-02-20  Jim Meyering  <meyering@lucent.com>
125
126         * getdate.c: Regenerate using bison-1.33.
127
128 2002-02-15  Paul Eggert  <eggert@twinsun.com>
129
130         * posixver.c, posixver.h: New files.
131         * Makefile.am (libfetish_a_SOURCES): Add them.
132
133 2002-02-02  Paul Eggert  <eggert@twinsun.com>
134             Bruno Haible  <bruno@clisp.org>
135
136         * unicodeio.h (print_unicode_char): Add exit_on_error argument.
137         (fwrite_success_callback): New declaration.
138         * unicodeio.c (unicode_to_mb): New function, extracted from
139         print_unicode_char. Call failure callback instead of error.
140         (fwrite_success_callback): New function.
141         (exit_failure_callback): New function.
142         (fallback_failure_callback): New function.
143         (print_unicode_char): Call unicode_to_mb.
144
145 2002-01-26  Jim Meyering  <meyering@lucent.com>
146
147         * Makefile.am (getdate$U.o): Depend on unlocked-io.h.
148
149 2002-01-22  Jim Meyering  <meyering@lucent.com>
150
151         * Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
152         Otherwise, some versions of automake would omit the rule that makes
153         Makefile from Makefile.in.
154
155 2001-01-21  Paul Eggert  <eggert@twinsun.com>
156
157         * xmemcoll.h, xmemcoll.c: New files.
158         * Makefile.am (libfetish_a_SOURCES): Add them.
159         * memcoll.c: Include errno.h, and declare errno if not defined.
160         (memcoll): Set errno to zero if there is no error.
161
162         * quotearg.c (quotearg_buffer_restyled):
163         Fix bug with quoting buffers containing NUL when backslashing escapes.
164         This bug was exposed by the other changes in this patch.
165         (quotearg_n_options): New arg ARGSIZE.
166         All callers changed.
167         (quoting_options_from_style): New function.
168         (quotearg_n_style): Use it.
169         (quotearg_n_style_mem): New function.
170
171         * quotearg.h (quotearg_n_style_mem): New function.
172
173 2002-01-16  Jim Meyering  <meyering@lucent.com>
174
175         * getdate.y: Add three semicolons, each just before a closing brace.
176         Bison (as of version 1.31) no longer papers over that mistake.
177
178 2002-02-14  Paul Eggert  <eggert@twinsun.com>
179
180         * backupfile.c (ISDIGIT): Comment fix.
181         * getdate.y (ISDIGIT): Likewise.
182         * posixtm.c (ISDIGIT, year): Likewise.
183         * strverscmp.c (ISDIGIT): Likewise.
184         * userspec.c (ISDIGIT): Likewise.
185
186 2002-01-05  Jim Meyering  <meyering@lucent.com>
187
188         * version-etc.c (version_etc_copyright): Update copyright year.
189
190 2001-01-19  Paul Eggert  <eggert@twinsun.com>
191
192         * closeout.c (close_stdout_status): If ferror (stdout), do
193         not silently exit merely because the output buffer happens to
194         have nothing pending.
195
196 2001-12-18  Paul Eggert  <eggert@twinsun.com>
197
198         See the big note in ../ChangeLog.
199         * human.c (suffixes): Prefer K to k for 1024.
200         (generate_suffix_backwards): New function.
201         (human_readable_inexact): Use it.
202         * xstrtol.c (__xstrtol): If there is no number but there
203         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
204         Accept 'K' as well as 'k'.
205
206 2001-12-15  Jim Meyering  <meyering@lucent.com>
207
208         * regex.h (__restrict_arr): Update from libc.
209
210         * mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
211         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
212         (STREQ): Define.
213
214 2001-12-10  Jim Meyering  <meyering@lucent.com>
215
216         * linebuffer.c: Remove explicit declarations of xmalloc and xrealloc,
217         Instead, include "xalloc.h".
218         (initbuffer): Don't cast xmalloc return value to char*.
219         (readline): Reword comment.
220         Don't cast xrealloc return value to char*
221         Return NULL, not 0.
222
223 2001-12-09  Jim Meyering  <meyering@lucent.com>
224
225         * modechange.c (mode_compile): Add cast to avoid pedantic warning about
226         `signed and unsigned type in conditional expression'.
227         * posixtm.c (posix_time_parse): Likewise.
228
229         * xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
230
231         * readtokens.c (readtoken): Declare an index to be of type unsigned
232         to avoid a pedantic warning.
233
234         * getstr.c: Don't include assert.h.
235         (getstr): Remove warning-evoking assertions.
236         Return -1 if offset parameter is out of bounds.
237         Change the type of a local from int to size_t.
238
239         * strftime.c (my_strftime_localtime_r): Include this function
240         definition in the `#if ! HAVE_TM_GMTOFF' block.
241
242         * xgethostname.c: Remove declarations of xmalloc and xrealloc.
243         Include xalloc.h instead.
244
245 2001-12-02  Jim Meyering  <meyering@lucent.com>
246
247         * tempname.c: Don't declare getenv, thus reverting the change of
248         2001-11-18.  It's no longer necessary, now that stdlib.h is always
249         included.
250
251         * regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
252         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
253
254 2001-11-30  Akim Demaille  <akim@epita.fr>
255
256         * xstrdup.c: Include xalloc.h, so that xstrdup is declared
257         before being defined.
258
259 2001-11-27  Paul Eggert  <eggert@twinsun.com>
260
261         * quotearg.h (quotearg_n, quotearg_n_style):
262         First arg is int, not unsigned.
263         * quotearg.c (quotearg_n, quotearg_n_style): Likewise.
264         (SIZE_MAX, UINT_MAX): New macros.
265         (quotearg_n_options): Abort if N is negative.
266         Avoid overflow check on hosts where size_t is 64 bits and int
267         is 32 bits, as overflow is impossible there.
268         Fix off-by-one typo that caused unnecessary reallocation.
269
270 2001-11-27  Jim Meyering  <meyering@lucent.com>
271
272         * tempname.c: Merge with version from libc.
273         * regex.c: Likewise.
274
275         * tempname.c: Include stdlib.h unconditionally.  On some old systems
276         for which STDC_HEADERS is 0, it was not included, resulting in a
277         warning about an integer-to-pointer conversion problem with getenv.
278         Reported by Volker Borchert.
279
280 2001-11-26  Jim Meyering  <meyering@lucent.com>
281
282         * gtod.h: Remove file.
283         * Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
284         * gettimeofday.c: Don't include gtod.h.
285         (GTOD_init): Remove function.
286         (rpl_gettimeofday): Do its job here instead, rather than aborting.
287         Suggestion from Volker Borchert.
288
289 2001-11-23  Jim Meyering  <meyering@lucent.com>
290
291         * hash.h (struct hash_table): Don't define here.  Merely declare it.
292         * hash.c (struct hash_table): Define it here instead.
293
294 2001-11-22  Jim Meyering  <meyering@lucent.com>
295
296         * hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
297
298 2001-11-18  Paul Eggert  <eggert@twinsun.com>
299
300         * tempname.c (TMP_MAX): Remove; no longer needed.
301         (TEMPORARIES): New macro.
302         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
303         removes an artificial limitation (e.g. HP-UX 10.20, where
304         TMP_MAX is 17576).
305
306 2001-11-18  Jim Meyering  <meyering@lucent.com>
307
308         * tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
309         on SunOS4.
310
311         * Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
312         files will be created before anything else.
313
314 2001-11-17  Jim Meyering  <meyering@lucent.com>
315
316         * modechange.c (mode_adjust): Fix error introduced on 1999-04-26
317         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
318         rather than group writable.  Patch by Juan F. Codagnone.
319
320         * readtokens.c: Remove explicit declarations of xmalloc and xrealloc,
321         Instead, include "xalloc.h".
322
323         * mountlist.c: Include unlocked-io.h after all system headers.
324         Remove explicit declarations of xmalloc, xrealloc,
325         and xstrdup.  Instead, include "xalloc.h".
326
327         * argmatch.c, closeout.c, error.c, exclude.c: Include unlocked-io.h.
328         * fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c: Likewise.
329         * mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
330
331         * regex.c, sha.c, version-etc.c, yesno.c: Likewise.
332         Reported by Padraig Brady.
333
334         * mkstemp.c: #undef mkstemp.
335         Include config.h.
336         (rpl_mkstemp): Rename from mkstemp.
337         Protoize.
338
339 2001-11-16  Jim Meyering  <meyering@lucent.com>
340
341         * physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
342         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
343         determine the amount of total physical memory, use pstat_getstatic.
344         HPUX-11 doesn't define _SC_PHYS_PAGES.
345         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
346         If sysconf couldn't be used to determine the amount of available
347         physical memory, use both pstat_getstatic and pstat_getdynamic.
348         Based on a patch from Bob Proulx.
349
350 2001-11-05  Jim Meyering  <meyering@lucent.com>
351
352         * xstat.in (slash_aware_lstat): Correct a misleading comment.
353
354 2001-11-03  Jim Meyering  <meyering@lucent.com>
355
356         * argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
357         in argmatch_to_argument call.
358
359         * dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
360         argument.
361
362         * hash.c (hash_clear): Fix a bug that could lead to an infloop or
363         e.g., a fault due to an attempt to free a NULL pointer.
364
365 2001-11-01  Jim Meyering  <meyering@lucent.com>
366
367         * dirfd.c, dirfd.h: New files.
368         * Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
369
370         * hash.c (hash_print) [TESTING]: Clean up.
371
372 2001-10-22  Paul Eggert  <eggert@twinsun.com>
373
374         * hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
375         to avoid a warning if -Wall.
376
377 2001-10-21  Paul Eggert  <eggert@twinsun.com>
378
379         * regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
380
381 2001-10-21  Jim Meyering  <meyering@lucent.com>
382
383         * obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
384         this code would end up calling gettext even in packages built
385         with --disable-nls.
386         * getopt.c (_): Likewise.
387         * regex.c (_): Likewise.
388
389 2001-10-20  Paul Eggert  <eggert@twinsun.com>
390
391         * error.c (strerror_r): Do not declare unless !_LIBC.
392         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
393         Use strerror_r that is only a macro, even if it is not a function.
394         (strerror): Check for HAVE_DECL_STRERROR before declaring.
395         (private_strerror): Use prototypes, not old-style function definition.
396         (print_errno_message): New function.
397         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
398         char*-flavored one.
399         (error_tail, error, error_at_line): Use it.
400
401 2001-10-11  Jim Meyering  <meyering@lucent.com>
402
403         * argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
404         and quote_n (1, ... to avoid clobbering a buffer.
405
406 2001-10-05  Jim Meyering  <meyering@lucent.com>
407
408         * Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and hash-pjw.h.
409         * hash-pjw.c: New file (factored out of fileutils' remove.c).
410         * hash-pjw.h: New file.
411
412 2001-09-30  Jim Meyering  <meyering@lucent.com>
413
414         * mountlist.c [MOUNTED_GETFSSTAT]:
415         Include <sys/ucred.h>, for Apple Darwin.
416         Include sys/mount.h and sys/fs_types.h only if available.
417         (FS_TYPE): Define.
418         (read_filesystem_list): Use FS_TYPE.
419
420 2001-09-29  Paul Eggert  <eggert@twinsun.com>
421
422         * exclude.c (excluded_filename): 0 -> false, since it's
423         a boolean context.
424
425 2001-09-28  Paul Eggert  <eggert@twinsun.com>
426
427         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
428         #defines strtoimax.  Also treat the other strto* functions
429         like strtoimax.
430
431         * xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
432         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
433         (strtoimax, strtoumax): Do not declare if already defined as a macro.
434
435 2001-09-26  Jim Meyering  <meyering@lucent.com>
436
437         Most macros in unlocked-io.h had the wrong number of arguments.
438         * gen-uio: New script.
439         (USE_UNLOCKED_IO): Define to 1 if not already defined.
440         * unlocked-io.hin: Remove file.
441         * Makefile.am (unlocked-io.h): Rewrite to use a separate script,
442         rather than trying to embed it here.
443         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
444         Reported by Padraig Brady.
445
446 2001-09-25  Volker Borchert  <bt@teknon.de>
447
448         * gettimeofday.c (rpl_gettimeofday): Declare local variable `result'.
449
450 2001-09-23  Jim Meyering  <meyering@lucent.com>
451
452         * mountlist.c: Remove useless parentheses in #if directives.
453         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
454         the deprecated MOUNTED symbol is no longer defined in mntent.h.
455
456 2001-09-22  Jim Meyering  <meyering@lucent.com>
457
458         * localcharset.c: Update from latest gettext.
459         * config.charset: Likewise.
460
461 2001-09-20  Jim Meyering  <meyering@lucent.com>
462
463         * xstrtol.c (strtoimax): Guard declaration with
464         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
465         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
466         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
467         (strtoumax): Likewise, for completeness (it wasn't necessary).
468
469 2001-09-06  Paul Eggert  <eggert@twinsun.com>
470
471         * strtoimax.c (HAVE_LONG_LONG):
472         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
473         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
474         to work around bug in IBM C compiler.
475
476 2001-09-16  Jim Meyering  <meyering@lucent.com>
477
478         * mkdir.c: New file.
479
480 2001-09-04  Paul Eggert  <eggert@twinsun.com>
481
482         * xgetcwd.c: Revert some of the previous change; intead,
483         fix the HAVE_GETCWD_NULL code to behave more like the
484         !HAVE_GETCWD_NULL code used to.
485
486         Include "xalloc.h".
487         (xgetcwd): Do not return NULL when memory is exhausted; instead,
488         invoke xalloc_die.
489
490 2001-09-04  Paul Eggert  <eggert@twinsun.com>
491
492         * xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
493         Use ssize_t, not int, to store result of readlink.
494         Check for ssize_t overflow as well as size_t overflow,
495         as POSIX says the result of readlink is implementation-defined
496         when ssize_t overflows.
497         Remove unnecessary cast to char*.
498         Use free+malloc instead of realloc, as the storage doesn't need
499         to be preserved and it's clearer and can be more efficient that way.
500         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
501         * xreadlink.h (xreadlink): Update prototype.
502
503 2001-09-03  Paul Eggert  <eggert@twinsun.com>
504
505         * exclude.c (fnmatch_no_wildcards): Fix confusion between
506         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
507         spotted by Jim Meyering.
508
509 2001-09-03  Jim Meyering  <meyering@lucent.com>
510
511         * xreadlink.c (xreadlink): Preserve errno around `free' during failure.
512
513 2001-09-03  Paul Eggert  <eggert@twinsun.com>
514
515         * xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
516         like the HAVE_GETCWD_NULL code.
517         Include pathmax.h if not HAVE_GETCWD.
518         Do not include xalloc.h.
519         (INITIAL_BUFFER_SIZE): New symbol.
520         Do not use xmalloc / xrealloc, since the caller is responsible for
521         handling errors.  Preserve errno around `free' during failure.
522         Do not overrun buffer when using getwd.
523
524 2001-09-03  Paul Eggert  <eggert@twinsun.com>
525
526         * xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
527         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use getcwd (NULL, 0).
528
529 2001-09-02  Jim Meyering  <meyering@lucent.com>
530
531         * error.c: Update from GNU libc.
532
533 2001-09-01  Jim Meyering  <meyering@lucent.com>
534
535         * xreadlink.c: New file.
536         * xreadlink.h: New file.
537         * Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and xreadlink.h.
538
539         * regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
540         doesn't conflict with sparc-sun-solaris2.7's definition in
541         /usr/include/sys/int_types.h.
542
543         * exclude.c: Use `""', not `<>' to #include non-system header files.
544         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
545         and strncasecmp as r-values.  Unixware didn't have declarations.
546
547 2001-08-31  Jim Meyering  <meyering@lucent.com>
548
549         * xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
550         Use an initial, malloc'd, buffer of length 128 rather than
551         a statically allocated one of length 1024.
552
553 2001-08-30  Paul Eggert  <eggert@twinsun.com>
554
555         * xgetcwd.c: Don't include pathmax.h.
556         Include stdlib.h and unistd.h if available.
557         Include xalloc.h.
558         (xmalloc, xstrdup, free): Remove decls.
559         (xgetcwd): Don't assume sizes fit in unsigned.
560         Check for overflow when computing sizes.
561         Simplify reallocation code.
562
563 2001-08-28  Paul Eggert  <eggert@twinsun.com>
564
565         * Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
566
567         * strtoimax.c: Renamed from strtoxmax.c, removing the
568         old strtoimax.c.
569
570         Also, make the following further changes to make this file's
571         configuration more similar to that of strtol.c:
572         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
573         (strtoumax, uintmax_t, strtoull, strtol): Remove.
574         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
575         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
576         changed to signed values.
577
578         And make the following changes as well:
579         Fix copyright notice, as 1999 was missing.
580         (verify): New macro.
581         (strtoimax): Check sizes at compile-time, not run-time.
582         Prefer strtol to strtoll if both work.
583         (main): Remove; it was not that useful and was a pain to maintain.
584
585         * strtoumax.c: Include strtoimax.c, not strtouxmax.c.
586
587 2001-08-30  Paul Eggert  <eggert@twinsun.com>
588
589         * savedir.c (savedir): Remove size parameter, as POSIX says that
590         a directory's st_size can have an arbitrary value, so the old
591         usage could waste an arbitrary amount of memory.  All uses
592         changed.
593         * savedir.h: Update prototype.
594
595 2001-08-30  Paul Eggert  <eggert@twinsun.com>
596
597         * xstrtol.c (strtoimax): New decl.
598
599 2001-08-28  Paul Eggert  <eggert@twinsun.com>
600
601         * xstrtol.h: Add copyright notice.
602         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
603         LONGINT_INVALID_SUFFIX_CHAR.
604
605 2001-08-30  Paul Eggert  <eggert@twinsun.com>
606
607         * quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
608         tm to be declared.
609
610 2001-08-30  Paul Eggert  <eggert@twinsun.com>
611
612         * hash.c: Remove '2001' from copyright notice.
613
614 2001-08-30  Paul Eggert  <eggert@twinsun.com>
615
616         * full-write.h: New file.
617         * Makefile.am (libfetish_a_SOURCES): Add full-write.h.
618         * full-write.c: Correct credits, as cccp.c no longer
619         exists and anyway it was so heavily changed from the old cccp
620         code as to be unrecognizable.  Include full-write.h.
621         (full_write) Return size_t, with short writes meaning failure.
622         All callers changed.  This fixes a bug with large buffers
623         on 64-bit hosts.
624         * utime.c: Include full-write.h.
625
626 2001-08-30  Paul Eggert  <eggert@twinsun.com>
627
628         Merge 'exclude' changes from tar 1.13.22.
629         This fixes one or two unlikely storage allocation overflow bugs,
630         but doesn't change user-visible behavior otherwise.
631
632 2001-08-30  Paul Eggert  <eggert@twinsun.com>
633
634         * exclude.c (bool): Declare, perhaps by including stdbool.h.
635         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
636         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
637         Include if available.
638         (<xalloc.h>): Include
639         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
640         (verify): New macro.  Use it to verify that EXCLUDE macros do not
641         collide with FNM macros.
642         (struct patopts): New struct.
643         (struct exclude): Use it, as exclude patterns now come with options.
644         (new_exclude): Support above changes.
645         (new_exclude, add_exclude_file):
646         Initial size must now be a power of two to simplify overflow checking.
647         (free_exclude, fnmatch_no_wildcards): New function.
648         (excluded_filename): No longer requires options arg, as the options
649         are determined by add_exclude.  Now returns bool, not int.
650         (excluded_filename, add_exclude):
651         Add support for the fancy new exclusion options.
652         (add_exclude, add_exclude_file): Now takes int options arg.
653         Check for arithmetic overflow when computing sizes.
654         (add_exclude_file): xrealloc might modify errno, so don't
655         realloc until after errno might be used.
656
657         * exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
658         New macros.
659         (free_exclude): New decl.
660         (add_exclude, add_exclude_file): Now takes int options arg.
661         (excluded_filename): No longer requires options arg, as the options
662         are determined by add_exclude.  Now returns bool, not int.
663
664 2001-08-30  Paul Eggert  <eggert@twinsun.com>
665
666         * alloca.c (alloca): Arg is of type size_t, not unsigned.
667
668 2001-08-27  Jim Meyering  <meyering@lucent.com>
669
670         * Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
671
672         * version-etc.c (N_): Remove definition.
673         Revert most of last change.
674         Instead, simply don't mark the `Copyright...' string for translation.
675         Based on advice from Paul Eggert.
676
677         * strtoxmax.c: Tweak comment.
678
679 2001-08-26  Jim Meyering  <meyering@lucent.com>
680
681         * version-etc.c (version_etc_copyright_fmt): Replace literal year
682         of copyright with `%s' so translators don't get an untranslated
683         message in 2002.
684         (COPYRIGHT_YEAR): Define.
685         (version_etc): Use fprintf rather than fputs.
686         Suggestion from Ulrich Drepper.
687
688         * Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
689
690         * strtoll.c: New file, from GNU libc.
691         * xstrtoimax.c: New file.
692
693         * xstrtol.h: Add xstrtoimax.
694         * strtoumax.c: New file.  Simply include "strtoumax.c".
695         * strtoimax.c: New file.  Likewise, but first define STRTOUXMAX_SIGNED.
696
697         * strtoumax.c: Factor to work both for unsigned and signed types, ...
698         * strtoxmax.c: ... then renamed to this.
699
700 2001-08-13  Paul Eggert  <eggert@twinsun.com>
701
702         * Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
703         Port to Solaris 8, where 'sed' requires a space after the 'r'
704         command, and where sh dislikes "$/".  Clean up the spacing a bit.
705         Redirect output to $tmp just once.
706
707 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
708
709         * addext.c (<errno.h>): Include.
710         (errno): Declare if not defined.
711         (addext): Work correctly when pathconf returns -1 and leaves
712         errno alone because there is no limit.  Also, work even if
713         pathconf returns a value greater than SIZE_MAX.
714
715 2001-08-12  Jim Meyering  <meyering@lucent.com>
716
717         * xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
718         Simply `return getcwd (NULL, 0);'.
719         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
720         Use 1300 as initial value for length, not PATH_MAX.
721
722         * pathmax.h: Clean up cpp syntax.
723
724 2001-08-12  Jim Meyering  <meyering@lucent.com>
725
726         * gettimeofday.c: New file.
727         * gtod.h: New file.
728         * Makefile.am (libfetish_a_SOURCES): Add gtod.h.
729
730 2001-08-04  Jim Meyering  <meyering@lucent.com>
731
732         * error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if stmt,
733         to get in sync with glibc.
734
735 2001-08-03  Paul Eggert  <eggert@twinsun.com>
736
737         The following changes are from gettext 0.10.39 as maintained by
738         Bruno Haible.
739
740         * mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
741         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
742         with inverted sense.  All uses changed.
743
744         * mbswidth.c: Don't include <limits.h>.
745         Include <stdlib.h> and <string.h> unconditionally.
746         (iswcntrl, mbsinit, ISCNTRL): New macros.
747         (mbsnwidth): Use K&R style function declarations.
748         Don't bother checking for MB_LEN_MAX == 1, since the compiler
749         can optimize it when MB_CUR_MAX == 1.
750         The width of control characters is zero, not 1.
751
752 2001-07-15  Jim Meyering  <meyering@lucent.com>
753
754         * Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
755         (BUILT_SOURCES): Add unlocked-io.h.
756         (io_functions): Define.
757         (unlocked-io.h): New rule.
758         (DISTCLEANFILES): Add unlocked-io.h.
759         (all-local): Depend on unlocked-io.h, to ensure it is created.
760
761         * unlocked-io.hin: New file
762
763         * regex.c: Update from glibc.
764
765 2001-07-05  Jim Meyering  <meyering@lucent.com>
766
767         * Makefile.am (noinst_HEADERS): Remove definition, per new automake
768         recommendation.
769         (libfetish_a_SOURCES): Put all .h files here instead.
770         Remove a thus-exposed (better checks in automake) duplicate and
771         two unnecessary .h files.
772
773 2001-06-11  Jim Meyering  <meyering@lucent.com>
774
775         * regex.c: Update from GNU libc.
776
777 2001-05-27  Jim Meyering  <meyering@lucent.com>
778
779         * readutmp.h (UT_TYPE): Define.
780
781 2001-05-24  Jim Meyering  <meyering@lucent.com>
782
783         * argmatch.c: Include "quote.h".
784         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
785         quote function.  Reported by Göran Uddeborg.
786
787 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
788
789         * dirname.c (dir_name): Compute append_dot using path, not newpath
790         which is not yet declared.
791
792 2001-05-11  Paul Eggert  <eggert@twinsun.com>
793
794         * Makefile.am (libfetish_a_SOURCES):
795         Add strftime.c, since we now compile it on all hosts.
796
797         * strftime.c (my_strftime):
798         Define to nstrftime if emacs, but only if my_strftime is not defined.
799         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
800         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
801         Add one more extra argument: a nanoseconds value.
802         All uses changed.
803         (ns): New macro.
804         (my_strftime function): Add %N format.
805         (emacs_strftimeu): Renamed from emacs_strftime,
806         with extra ut argument.
807
808 2001-05-11  Paul Eggert  <eggert@twinsun.com>
809
810         dirname code cleanup.  base_name now behaves more compatibly
811         with POSIX basename when given file names that have trailing
812         slashes, and similarly for dir_name.  Add new primitives
813         base_len and dir_len.  Put the directory-name-related decls
814         into dirname.h.
815
816         * addext.c (ISSLASH, base_name): Remove; now in dirname.h.
817         * backupfile.c (base_name): Likewise.
818         * basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
819         * dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
820         * makepath.c (strip_trailing_slashes): Likewise.
821         * path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, ISSLASH):
822         Likewise.
823         * rename.c (strip_trailing_slashes): Likewise.
824         * same.c (base_name): Likewise.
825         * stripslash.c (ISSLASH): Likewise.
826
827         * addext.c: Include <dirname.h> after size_t is defined.
828         * backupfile.c: Likewise.
829
830         * addext.c (addext): Use base_len to trim redundant
831         trailing slashes instead of doing it ourselves.
832         But do not trim the last slash if it is not redundant.
833
834         * backupfile.c (find_backup_file_name,
835         max_backup_version): Use base_len instead of rolling it ourselves.
836         Handle the case of "" and (on DOS) "C:" correctly.
837
838         * basename.c: Do not include <stdio.h>, <assert.h>; no longer needed.
839         Include <string.h>, <dirname.h>.
840         (base_name): Allow file names ending in slashes, other than names
841         that are all slashes.  In this case, return the basename followed
842         by the slashes.  This is more general, and can be used in places
843         where the original base_name purposely had an assertion failure.
844         (base_len): New function.
845
846         * dirname.c: Include <string.h> instead of <stdlib.h>.
847         Do not include <assert.h>; no longer needed.
848         Include xalloc.h.
849         (memrchr): Remove decl.
850         (dir_name_r): Remove.
851         (dir_len): Renamed from dirlen.  All callers changed.
852         Rewrite in terms of base_name, for simplicity and consistency.
853         (dir_name): Never return NULL.  All callers changed.
854         Do not include <stdlib.h> in test program; no longer needed.
855         return 0; is fine for test program.
856
857         * dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
858         New macros.
859         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
860
861         * path-concat.c (path_concat): Use base_len to compute
862         base length, not strlen; this means we cannot rely on memcpy
863         to null-terminate.
864
865         * same.c (STREQ): Remove.
866         (same_name): Handle the case where the basename ends in trailing '/'.
867
868         * stripslash.c (strip_trailing_slashes): Return nonzero if
869         a slash was stripped.  Do not strip the last slash after a
870         file system prefix.
871
872 2001-04-08  Jim Meyering  <meyering@lucent.com>
873
874         * getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
875         recomputed; that's necessary when the offset spans a DST transition.
876         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
877
878 2001-04-02  Jim Meyering  <meyering@lucent.com>
879
880         * regex.h, regex.c: Update from GNU libc.
881
882 2001-03-19  Paul Eggert  <eggert@twinsun.com>
883
884         * version-etc.c (version_etc_copyright): Update to 2001.
885
886 2001-03-16  Paul Eggert  <eggert@twinsun.com>
887
888         * tempname.c (uint64_t): Define to uintmax_t if
889         not defined, and if UINT64_MAX is not defined.
890         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
891         Reported by John David Anglin.
892
893 2001-03-10  Bruno Haible  <haible@clisp.cons.org>
894
895         * localcharset.c (locale_charset): Allow wildcard syntax. Also resolve
896         alias if codeset is empty.
897         * config.charset (BeOS): Use wildcard syntax.
898
899 2001-03-13  Jim Meyering  <meyering@lucent.com>
900
901         * path-concat.c (path_concat) [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]:
902         Don't insert a backslash when concatenating e.g., `C:' and `foo'.
903         From Bruno Haible.
904
905 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
906
907         * localcharset.c (locale_charset): Don't use setlocale(LC_CTYPE,NULL).
908         Don't return NULL.
909         * unicodeio.c (print_unicode_char): Simplify accordingly.
910
911 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
912
913         * config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
914         support for DOS/DJGPP.
915
916 2001-02-28  Paul Eggert  <eggert@twinsun.com>
917
918         * Makefile.am (libfetish_a_SOURCES):
919         Add dup-safer.c, fopen-safer.c.
920         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
921
922         * dup-safer.c, fopen-safer.c, stdio-safer.h, unistd-safer.h: New files.
923
924 2001-02-25  Paul Eggert  <eggert@twinsun.com>
925
926         The mkstemp replacement is taken from glibc 2.2.2, with some
927         portability fixes for use outside glibc, as follows:
928
929         * tempname.c (struct_stat64): New macro.
930         (direxists, __gen_tempname): Use it.
931         This avoids a portability problem with Solaris 8.
932
933         * tempname.c (<config.h>): Include if HAVE_CONFIG_H.
934         (<stddef.h>, <stdint.h>, <string.h>):
935         Include only if STDC_HEADERS || _LIBC.
936         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
937         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
938         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
939         (__set_errno): Define this macro if <errno.h> doesn't.
940         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
941         Define these macros if <stdio.h> doesn't.
942         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
943         Define these macros if <sys/stat.h>
944         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
945         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
946         __xstat64): Define if not _LIBC.
947         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
948         (__gen_tempname): Invoke gettimeofday only if
949         HAVE_GETTIMEOFDAY || _LIBC;
950         otherwise, fall back on plain "time".
951         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
952
953         * mkstemp.c (__GT_FILE): Define to zero if not defined.
954
955         * mkstemp.c, tempname.c: New files, taken from glibc 2.2.2.
956
957 2001-02-17  Jim Meyering  <meyering@lucent.com>
958
959         * strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
960         around included file name.
961
962         * strnlen.c (__strnlen): Merge in a change from GNU libc.
963
964         * strftime.c: Update from GNU libc (the only changes were to comments).
965
966 2001-02-13  Bruno Haible  <haible@clisp.cons.org>
967
968         * mbswidth.h (mbswidth): Also define as macro, to avoid prototype clash.
969
970 2001-02-17  Paul Eggert  <eggert@twinsun.com>
971
972         * mbswidth.c, quotearg.c (mbrtowc, mbsinit):
973         Remove workaround macros for hosts that have mbrtowc but not
974         mbstate_t, as we now insist on proper declarations for both
975         before using mbrtowc.
976
977 2001-02-17  Jim Meyering  <meyering@lucent.com>
978
979         * regex.c: Update from libc.
980
981 2001-02-16  Paul Eggert  <eggert@twinsun.com>
982
983         * alloca.c (malloc): Undef before defining, since stdlib.h
984         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
985         Reported by Mark Hounschell via Paul Eggert.
986
987 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
988
989         * config.charset: Update for FreeBSD 4.2.
990
991 2001-01-26  Jim Meyering  <meyering@lucent.com>
992
993         * quotearg.c: Include stddef.h.
994         * quote.c: Include stddef.h.
995         Reported by Axel Kittenberger.
996
997         * xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
998         line in double quotes so that it evokes a better diagnostic.
999         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
1000         Reported by Axel Kittenberger.
1001
1002 2001-01-15  Bruno Haible  <haible@clisp.cons.org>
1003
1004         * unicodeio.c (print_unicode_char): Cast the second iconv() arg,
1005         to avoid a warning.  Add back 'const' to inptr.
1006
1007 2001-01-16  Jim Meyering  <meyering@lucent.com>
1008
1009         * basename.c: Include <stdio.h>, needed by assert on SunOS4.
1010         From Bruno Haible.
1011
1012 2001-01-14  Jim Meyering  <meyering@lucent.com>
1013
1014         * rename.c: New file.  From Volker Borchert.
1015         Include stdlib.h, string.h or strings.h, and xalloc.h.
1016         Use strip_trailing_slashes rather than open-coding it.
1017
1018 2001-01-03  Paul Eggert  <eggert@twinsun.com>
1019
1020         * strftime.c: Sync with glibc time/strftime.c 1.81.
1021
1022 2001-01-03  Jim Meyering  <meyering@lucent.com>
1023
1024         * unicodeio.c (print_unicode_char): Remove `const' from declaration of
1025         local `inptr' to avoid warning with some system declarations of iconv.
1026
1027 2000-12-29  Paul Eggert  <eggert@twinsun.com>
1028
1029         * modechange.c: Do not assume that mode_t uses the
1030         traditional octal encoding.  E.g. "chmod 1 FOO" should set
1031         the other-execute bit of FOO even if S_IXOTH != 1.
1032
1033         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
1034         WOTH, XOTH, ALLM): New macros.
1035         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
1036          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
1037         Use them.
1038         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
1039         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
1040         (mode_compile):
1041         No need to use uintmax_t; unsigned long is long enough.
1042         Don't bother to get suffix since we don't use it.
1043
1044 2000-12-24  Jim Meyering  <meyering@lucent.com>
1045
1046         * hash.c (is_prime): Return explicit boolean values.
1047         (hash_get_first): Return NULL to appease Irix5.6's 89.
1048         Reported by Nelson Beebe.
1049
1050 2000-10-31  Bruno Haible  <haible@clisp.cons.org>
1051
1052         * localcharset.c (locale_charset): Add support for Win32.
1053
1054 2000-12-18  Paul Eggert  <eggert@twinsun.com>
1055
1056         * physmem.h, physmem.c: New files.
1057
1058         * Makefile.am (libfetish_a_SOURCES): Add physmem.c.
1059         (noinst_HEADERS): Add physmem.h.
1060
1061         * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
1062         't' for compatibility with Solaris 8 sort.
1063
1064 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
1065
1066         * config.charset: Add support for BeOS.
1067
1068 2000-12-16  Jim Meyering  <meyering@lucent.com>
1069
1070         * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
1071         SHELLS_FILE to a file name that's useful on djgpp systems.
1072         Include stdlib.h.
1073         (ADDITIONAL_DEFAULT_SHELLS): Define.
1074         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
1075         Based mostly on a patch from Prashant TR.
1076
1077 2000-12-16  Jim Meyering  <meyering@lucent.com>
1078
1079         This bug had a serious impact on chown: `chown N:M FILE' (for integer
1080         N and M) would have treated it like `chown N:N FILE'.
1081
1082         * userspec.c (parse_user_spec): Fix typo: s/u/g/.
1083
1084 2000-10-31  Bruno Haible  <haible@clisp.cons.org>
1085
1086         * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
1087         CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
1088         to the list of canonical encodings. Rename EUC-CN to GB2312.
1089
1090 2000-12-08  Andreas Schwab  <schwab@suse.de>
1091
1092         * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
1093         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
1094
1095 2000-12-07  Jim Meyering  <meyering@lucent.com>
1096
1097         * stripslash.c (ISSLASH): Define.
1098         (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
1099         From Prashant TR.
1100
1101         * dirname.c (FILESYSTEM_PREFIX_LEN): Define.
1102         (dir_name_r): Declare this function as static.
1103         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
1104         manifest itself on a name containing a mix of slashes and
1105         backslashes.
1106         Make this function work with names starting with a DOS-style
1107         drive letter and colon prefix.
1108         (dir_name): Append `.' if necessary.
1109         Based mostly on patches from Prashant TR and Eli Zaretskii.
1110
1111         * dirname.h (dir_name_r): Remove prototype.
1112
1113 2000-12-05  Jim Meyering  <meyering@lucent.com>
1114
1115         * dirname.c (dir_name_r): Add `const' in a few local declarations.
1116
1117 2000-12-04  Jim Meyering  <meyering@lucent.com>
1118
1119         * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
1120         Also include memory.h, stdlib.h, unistd.h if appropriate.
1121         Reported by Andreas Jaeger (conflicting declaration of malloc).
1122
1123 2000-12-02  Jim Meyering  <meyering@lucent.com>
1124
1125         * closeout.h: Make idempotent, to avoid some obscure warnings.
1126
1127 2000-12-01  Paul Eggert  <eggert@twinsun.com>
1128
1129         * memrchr.c: Include <config.h> before any system include file.
1130
1131 2000-11-29  Paul Eggert  <eggert@twinsun.com>
1132
1133         * dirname.c (dir_name_r): Fix typo: int -> size_t.
1134
1135 2000-11-26  Jim Meyering  <meyering@lucent.com>
1136
1137         * memcoll.c: Include sys/types.h.  From Werner Almesberger.
1138
1139 2000-11-22  Paul Eggert  <eggert@twinsun.com>
1140
1141         * strftime.c (my_strftime): Do not invoke mbrlen with a
1142         size of (size_t) -1; it's not portable.
1143
1144 2000-11-17  Akim Demaille  <akim@epita.fr>
1145
1146         * obstack.h: Formatting changes.
1147         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
1148         prevent type checking.
1149         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
1150         cast the value to (void *): assigning a `foo *' to a `void *'
1151         variable is valid.
1152         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
1153
1154 2000-11-17  Jim Meyering  <meyering@lucent.com>
1155
1156         * strstr.c: Update from GNU libc.
1157
1158 2000-11-16  Jim Meyering  <meyering@lucent.com>
1159
1160         * strverscmp.c: Incorporate weak-alias-related changes from glibc.
1161
1162 2000-11-11  Jim Meyering  <meyering@lucent.com>
1163
1164         * error.c: Add a couple #includes, merging from GNU libc version.
1165
1166 2000-11-10  Jim Meyering  <meyering@lucent.com>
1167
1168         * obstack.h: Update from GNU libc.
1169         * obstack.c: Likewise.
1170
1171 2000-11-06  Paul Eggert  <eggert@twinsun.com>
1172
1173         * getusershell.c (setusershell): Use rewind rather than
1174         fseek/fseeko, to avoid configuration hassles with fseeko.
1175         Don't bother opening SHELLS_FILE if shellstream is NULL;
1176         it's not necessary.
1177
1178 2000-11-05  Jim Meyering  <meyering@lucent.com>
1179
1180         * makepath.h (make_dir): Declare.
1181         * makepath.c (make_dir): Remove `static' attribute.
1182         Tweak a comment.
1183
1184 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
1185
1186         * hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
1187         last one in a bucket, advance to the next bucket.
1188
1189 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
1190
1191         * fnmatch.c: Do not comment out all the code if we are using
1192         the GNU C library, because in some cases we are replacing buggy
1193         code in the GNU C library itself.
1194
1195 2000-10-30  Paul Eggert  <eggert@twinsun.com>
1196
1197         * error.h, getline.h, modechange.h:
1198         Remove "2000" from Copyright line, as the file hasn't been
1199         changed this year other than in the copyright notice.
1200
1201         * xalloc.h: Add "2000" to Copyright line, as this file
1202         was changed this year.
1203
1204 2000-10-30  Paul Eggert  <eggert@twinsun.com>
1205
1206         * fnmatch.c (FOLD): Do not assume that characters are unsigned.
1207         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
1208         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
1209
1210 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
1211
1212         * regex.h (__restrict_arr): Move definition out of #ifndef block.
1213         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
1214         doesn't define __restrict_arr.
1215
1216 2000-10-29  Jim Meyering  <meyering@lucent.com>
1217
1218         * xstat.in: Fix grammar in comment.
1219
1220 2000-10-28  Jim Meyering  <meyering@lucent.com>
1221
1222         * memchr.c: Update from libc.
1223         Adjust for portability:
1224         [HAVE_STDLIB_H]: Include stdlib.h.
1225         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
1226         Undef __memchr, too.
1227         [!weak_alias]: Define __memchr to memchr.
1228
1229         * regex.c: Update from libc.
1230         * regex.h: Likewise.
1231         * getopt1.c: Likewise.
1232         * memcmp.c: Likewise.
1233
1234         * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
1235         Avoid using fseek, when possible -- it's broken by design.
1236         Patch by Ulrich Drepper.
1237
1238 2000-10-26  Jim Meyering  <meyering@lucent.com>
1239
1240         * strftime.c: Update from libc.
1241
1242 2000-10-25  Jim Meyering  <meyering@lucent.com>
1243
1244         * obstack.c: Update from libc.
1245
1246 2000-10-23  Jim Meyering  <meyering@lucent.com>
1247
1248         * hard-locale.c (hard_locale): Revert last change -- it was simply
1249         wrong.  That set_locale call must not have any side effects.
1250         From Paul Eggert.
1251
1252 2000-10-22  Jim Meyering  <meyering@lucent.com>
1253
1254         * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
1255         [CYCLIC]: Remove now-unused definition.
1256
1257         * save-cwd.c (O_DIRECTORY): Define, if needed.
1258         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
1259         Suggestion from Ulrich Drepper.
1260
1261 2000-10-21  Jim Meyering  <meyering@lucent.com>
1262
1263         * dirname.c (dir_name_r): New function, factored out of dir_name.
1264         (dir_name): Use dir_name_r.
1265         * dirname.h (dir_name_r): Declare it.
1266
1267 2000-10-21  Jim Meyering  <meyering@lucent.com>
1268
1269         * dirname.c (memrchr): Declare if necessary.
1270         (dir_name): Remove the restriction that there be no
1271         trailing slashes.  Now, this code skips past them, effectively
1272         ignoring them.
1273         [TEST_DIRNAME] (main): New unit tests.
1274
1275         * memrchr.c: New file from GNU libc.
1276         Undef __memrchr, too.
1277         [!weak_alias]: Define __memrchr to memrchr.
1278         Guard weak_alias use with `#ifdef weak_alias'.
1279
1280 2000-10-17  Jim Meyering  <meyering@lucent.com>
1281
1282         * quote.h (PARAMS): Define and use.
1283         Reported by Akim Demaille.
1284
1285         * getopt.c: Update from libc.
1286
1287 2000-10-16  Jim Meyering  <meyering@lucent.com>
1288
1289         * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
1290         From Jan Fedak.
1291
1292 2000-09-25  Jim Meyering  <meyering@lucent.com>
1293
1294         * md5.h (rol): Define (from GnuPG).
1295
1296         * sha.c: Give credit (GnuPG) where due.
1297         (M): Use rol rather than open-coding it.
1298         Add a FIXME comment.
1299
1300 2000-09-21  Jim Meyering  <meyering@lucent.com>
1301
1302         * userspec.c (parse_user_spec): Remove debugging printf I'd added.
1303         Reported by Michael Stone.
1304
1305 2000-09-20  Jim Meyering  <meyering@lucent.com>
1306
1307         * Makefile.am (libfetish_a_SOURCES): Add sha.c.
1308         (noinst_HEADERS): Add sha.h.
1309         Based on code from Scott G. Miller and from GnuPG.
1310
1311 2000-09-15  Jim Meyering  <meyering@lucent.com>
1312
1313         * regex.c: Update from libc.
1314
1315 2000-09-10  Jim Meyering  <meyering@lucent.com>
1316
1317         * getopt.c (_getopt_internal): Update from glibc.
1318
1319 2000-09-09  Jim Meyering  <meyering@lucent.com>
1320
1321         * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
1322         think it should be used as a general replacement for isascii.
1323         * fnmatch.c: Likewise.
1324         * mbswidth.c: Likewise
1325         * regex.c: Likewise.
1326
1327         Don't use atoi.
1328         * userspec.c: Include sys/param.h and limits.h.
1329         Include xstrtol.h.
1330         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
1331         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
1332         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
1333         UID, GID.  Check range.
1334
1335 2000-09-06  Jim Meyering  <meyering@lucent.com>
1336
1337         * getopt.c (_getopt_internal): Update from glibc.
1338
1339 2000-08-30  Jim Meyering  <meyering@lucent.com>
1340
1341         * strftime.c: Merge in changes from GNU libc.
1342
1343 2000-08-26  Jim Meyering  <meyering@lucent.com>
1344
1345         * closeout.c: Include "__fpending.h".
1346         (close_stdout_status): Return right away if there's nothing to flush.
1347
1348         * Makefile.am (noinst_HEADERS): Add __fpending.h.
1349         * __fpending.c: New file.
1350         * __fpending.h: New file.
1351
1352 2000-08-07  Paul Eggert  <eggert@twinsun.com>
1353
1354         Standardize on "memory exhausted" instead of "Memory exhausted"
1355         or "virtual memory exhausted".
1356         * obstack.c (print_and_abort): Use "memory exhausted", not
1357         "virtual memory exhausted".
1358         * same.c (same_name): Invoke xalloc_die instead of printing
1359         our own message.
1360         * userspec.c (parse_user_spec): Likewise.
1361         * bumpalloc.h: comment fix
1362         * same.c, userspec.c: Include xalloc.h.
1363
1364         * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
1365         not char *const and pointing to a constant array.
1366         * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
1367         (xrealloc): Comment fix.
1368
1369         * userspec.c (parse_user_spec):
1370         Don't translate a message until just before returning,
1371         to avoid unnecessary translation.
1372
1373 2000-08-07  Jim Meyering  <meyering@lucent.com>
1374
1375         * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
1376         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
1377         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
1378         getgroups.c, gethostname.c, getopt.h, group-member.c,
1379         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
1380         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
1381         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
1382         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
1383         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
1384         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
1385         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
1386         yesno.c: Back out Copyright date changes for each file with no change
1387         this year.  This eases coordination with other programs using the same
1388         source code modules.  From Paul Eggert.
1389
1390 2000-08-03  Greg McGary  <greg@mcgary.org>
1391
1392         * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
1393         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
1394         (EXTEND_BUFFER): Use them.
1395
1396 2000-08-01  Jim Meyering  <meyering@lucent.com>
1397
1398         * dirname.c (ISSLASH): Define.
1399         (BACKSLASH_IS_PATH_SEPARATOR): Define.
1400         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
1401         both `\' and `/' may be use as path separators.
1402         Based on a patch from Prashant TR.
1403
1404 2000-07-31  Paul Eggert  <eggert@twinsun.com>
1405
1406         * quotearg.c (quotearg_n_options): Don't make the initial
1407         slot vector a constant, since it might get modified.
1408
1409 2000-07-31  Jim Meyering  <meyering@lucent.com>
1410
1411         * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
1412         * obstack.c (print_and_abort): Likewise.
1413
1414 2000-07-30  Paul Eggert  <eggert@twinsun.com>
1415
1416         * quotearg.c (quotearg_n_options): Preallocate a slot 0
1417         buffer, so that the caller can always quote one small
1418         component of a "memory exhausted" message in slot 0.
1419         From a suggestion by Jim Meyering.
1420
1421 2000-07-30  Jim Meyering  <meyering@lucent.com>
1422
1423         * makepath.c (make_path): Quote the other instance, too.
1424
1425         * quotearg.c (N_STATIC_SLOTVECS): Define.
1426         (STATIC_BUF_SIZE): Define.
1427         (quotearg_n_options): Use only statically allocated storage when
1428         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
1429         than STATIC_BUF_SIZE.
1430
1431 2000-07-29  Jim Meyering  <meyering@lucent.com>
1432
1433         * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
1434         * dirname.c (dir_name): Likewise.
1435
1436         * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
1437
1438         * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
1439         (dir_name): Assert that there are no trailing slashes.
1440
1441 2000-07-18  Bruno Haible  <haible@clisp.cons.org>
1442
1443         * mbswidth.h (mbswidth): Add a flags argument.
1444         (mbswidth): New declaration.
1445         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
1446         * mbswidth.c (mbswidth): Add a flags argument.
1447         (mbsnwidth): New function.
1448
1449 2000-07-24  Jim Meyering  <meyering@lucent.com>
1450
1451         * mbswidth.c: Remove useless #else.  From Bruno Haible.
1452
1453 2000-07-23  Paul Eggert  <eggert@twinsun.com>
1454
1455         * mbswidth.c (_XOPEN_SOURCE):
1456         Don't define; this causes problems on Solaris 7.
1457         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
1458
1459 2000-07-23  Paul Eggert  <eggert@twinsun.com>
1460
1461         * quotearg.c:
1462         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
1463         so that mbstate_t is always defined.
1464
1465         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
1466         be 1 in at least one GCC installation, and this configuration
1467         error is likely to be common.  Ignoring MB_LEN_MAX hurts
1468         performance on hosts that have mbrtowc but have only unibyte
1469         locales, but I assume these hosts are rare.
1470
1471 2000-07-23  Paul Eggert  <eggert@twinsun.com>
1472
1473         * quotearg.c: Streamline by invoking multibyte code only if needed.
1474         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
1475         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
1476         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
1477         invoke multibyte primitives.
1478
1479 2000-07-23  Jim Meyering  <meyering@lucent.com>
1480
1481         * basename.c (base_name): Add an assertion.
1482
1483 2000-07-15  Bruno Haible  <clisp.cons.org>
1484
1485         * quotearg.c: When the system forces us to redefine mbstate_t,
1486         shadow its mbsinit function.
1487
1488 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
1489
1490         * mbswidth.h: New file.
1491         * mbswidth.c: New file.
1492         * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
1493         (noinst_HEADERS): Add mbswidth.h.
1494
1495 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
1496
1497         * config.charset: Add support for FreeBSD. Improve support for HP-UX
1498         and IRIX 6.
1499
1500 2000-07-15  Jim Meyering  <meyering@lucent.com>
1501
1502         * makepath.c: Include quote.h.
1503         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
1504         corresponding argument in a `quote (...)' call.
1505         Give better diagnostics.
1506
1507         * Makefile.am (libfetish_a_SOURCES): Add quote.c.
1508         (noinst_HEADERS): Add quote.h.
1509
1510         * quote.c (quote, quote_n): New file.  Two functions taken verbatim
1511         from tar's src/misc.c.
1512         * quote.h: New file.  Prototypes for same.
1513
1514 2000-07-10  Paul Eggert  <eggert@twinsun.com>
1515
1516         From a suggestion by Bruno Haible.
1517         * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
1518         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
1519         to decide whether to define the BeOS workaround macro;
1520         this adjusts to the change to AC_MBSTATE_T.
1521
1522 2000-07-13  Paul Eggert  <eggert@twinsun.com>
1523
1524         * quotearg.h (enum quoting style): New enum clocale_quoting_style.
1525
1526         * quotearg.c (quoting_style_args, quoting_style_vals,
1527         quotearg_buffer_restyled): Add support for
1528         clocale_quoting_style.  Undo previous change to
1529         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
1530         and "{RIGHT QUOTATION MARK}" msgids.
1531
1532 2000-07-05  Paul Eggert  <eggert@twinsun.com>
1533
1534         The old behavior of quoting `like this' doesn't look good with
1535         newer, ISO-style fonts.  See:
1536         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
1537
1538         Instead, quote "like this" by default.  Let the translator
1539         tailor the locale-specific quoting behavior by providing
1540         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
1541
1542         * quotearg.c (N_): New macro.
1543         (gettext_default): New function.
1544         (quotearg_buffer_restyled): Use
1545         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
1546         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
1547
1548 2000-07-09  Jim Meyering  <meyering@lucent.com>
1549
1550         * Most files: Update copyright dates to include 2000.
1551
1552 2000-07-08  Jim Meyering  <meyering@lucent.com>
1553
1554         * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
1555         if not defined.
1556         (xgethostname): Remove now-unnecessary #ifdef.
1557         Move declaration of `err' into loop where it's used.
1558
1559 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
1560
1561         * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
1562         by allocating a larger buffer. Test the gethostname return value for
1563         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
1564         returns an error and ENAMETOOLONG isn't defined.
1565
1566 2000-07-05  Paul Eggert  <eggert@twinsun.com>
1567         and Bruno Haible  <haible@clisp.cons.org>
1568
1569         * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
1570
1571 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
1572
1573         * quotearg.c (struct quoting_options): Simplify quote_these_too
1574         dimension.
1575
1576 2000-07-03  Jim Meyering  <meyering@lucent.com>
1577
1578         * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
1579         Reported by Bruno Haible.
1580
1581 2000-07-04  Jim Meyering  <meyering@lucent.com>
1582
1583         * quotearg.c: Make inclusion of <wchar.h> independent of whether
1584         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
1585         lacks mbrtowc.
1586
1587 2000-07-03  Paul Eggert  <eggert@twinsun.com>
1588         and Bruno Haible  <haible@clisp.cons.org>
1589
1590         * quotearg.c (mbrtowc):
1591         Assign to *pwc, and return 1 only if result is nonzero.
1592         (iswprint): Use ISPRINT when substituting our own mbrtowc.
1593
1594 2000-07-03  Jim Meyering  <meyering@lucent.com>
1595
1596         * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
1597         This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
1598         From Bob Proulx.
1599
1600 2000-07-02  Jim Meyering  <meyering@lucent.com>
1601
1602         * quotearg.c (mbstate_t): Don't define here.
1603
1604 2000-07-02  Jim Meyering  <meyering@lucent.com>
1605
1606         * nanosleep.c (SIGCONT): Define if not already defined.
1607
1608 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1609
1610         * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
1611         per change in ../m4/ls-mntd-fs.m4.
1612         (read_filesystem_list): Ignore symbolic links.
1613
1614 2000-06-29  Jim Meyering  <meyering@lucent.com>
1615
1616         * same.c: Include <string.h> or <strings.h>, as appropriate,
1617         for declaration of strcmp.
1618
1619         * long-options.c: Include <stdlib.h>, for declaration of exit.
1620
1621         * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
1622         Avoid warning by casting result to `char *' to remove `const'.
1623
1624 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1625
1626         * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
1627
1628 2000-06-26  Paul Eggert  <eggert@twinsun.com>
1629
1630         savedir now sets errno on failure and invokes xmalloc to get memory.
1631         Fix a couple of other minor bugs while we're at it.
1632
1633         * savedir.c (<unistd.h>): Do not include; there's no need.
1634         (NAMLEN): Remove macro.
1635         (malloc, realloc): Remove decls.
1636         (stpcpy): Likewise.
1637         ("xalloc.h"): Include.
1638         (NAME_SIZE_DEFAULT): New macro.
1639         (savedir): Use xmalloc / xrealloc to allocate memory.
1640         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
1641         Skip "" directory entries.
1642         Use strlen to calculate directory entry length, since the old method
1643         is rarely used these days and isn't worth supporting.
1644         Don't use a pointer after freeing it.
1645         Check for integer overflow when calculating allocation size.
1646         Use memcpy to copy entries, instead of stpcpy.
1647         Set errno properly when returning NULL.
1648         Check for readdir error.
1649
1650 2000-06-26  Jim Meyering  <meyering@lucent.com>
1651
1652         * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
1653
1654 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1655
1656         * getusershell.c (xmalloc, xrealloc): Remove functions.
1657         Include xalloc.h.
1658         Don't include <stdlib.h>.  Don't declare malloc, realloc.
1659
1660 2000-06-23  Bruno Haible  <haible@clisp.cons.org>
1661
1662         * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
1663
1664 2000-06-24  Jim Meyering  <meyering@lucent.com>
1665
1666         * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
1667
1668 2000-06-21  Jim Meyering  <meyering@lucent.com>
1669
1670         * getpass.c: New file, from Bruno Haible.  Required for BeOS.
1671
1672 2000-06-19  Paul Eggert  <eggert@twinsun.com>
1673
1674         * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
1675         (mbrtowc, mbstate_t): Define substitutes if
1676         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
1677         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
1678         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
1679
1680 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1681
1682         * xgetcwd.c (xgetcwd): If the required pathname length is smaller
1683         than 1024, return a memory chunk of least possible size, instead
1684         of size PATH_MAX + 2. In the loop, increment the size proportionally.
1685         Use free/xmalloc instead of xrealloc to avoid copying for very long
1686         paths.
1687
1688 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1689
1690         * canon-host.c (canon_host): Use malloc and memcpy to copy an
1691         address, not strdup.  Include <stdlib.h> and don't declare free().
1692
1693 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1694
1695         * path-concat.c (path_concat): Don't access dir[-1] if dir is
1696         the empty string.
1697
1698 2000-06-21  Jim Meyering  <meyering@lucent.com>
1699
1700         * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
1701         (noinst_HEADERS): Add getstr.h.
1702
1703         * getline.c (getstr): Move into a separate file.
1704         * getstr.c (getstr): New file, extracted from getline.c, with
1705         the following changes: new parameter, delim2; both delim[12]
1706         parameters have type `int', not `char'.  The latter would lose
1707         with 8-bit delimiters.
1708         * getstr.h: New file.
1709
1710 2000-06-19  Jim Meyering  <meyering@lucent.com>
1711
1712         * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
1713
1714 2000-06-18  Jim Meyering  <meyering@lucent.com>
1715
1716         * mkdir.c: Remove file, due mainly to copyright incompatibility.
1717         Besides, these days every porting target provides a mkdir function.
1718
1719         * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
1720         (this snippet comes from src/system.h).
1721
1722 2000-06-15  Paul Eggert  <eggert@twinsun.com>
1723
1724         * human.c (adjust_value): New function.
1725         (human_readable_inexact): Apply rounding style even when
1726         printing approximate values.
1727
1728 2000-06-14  Paul Eggert  <eggert@twinsun.com>
1729
1730         * human.c (human_readable_inexact): Allow an input block
1731         size that is not a multiple of the output block size, and vice versa.
1732         Reported by Piergiorgio Sartor.
1733
1734 2000-06-14  Paul Eggert  <eggert@twinsun.com>
1735
1736         * getdate.y (get_date): Apply relative times after time
1737         zone indicator, not before.  Reported by Todd A. Jacobs.
1738
1739 2000-06-13  Jim Meyering  <meyering@lucent.com>
1740
1741         * Makefile.am (all-local): Depend on lstat.c and stat.c.
1742
1743         * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
1744
1745 2000-06-12  Paul Eggert  <eggert@twinsun.com>
1746
1747         * xstat.in: Include <stdlib.h> in lstat, to declare "free".
1748
1749 2000-06-04  Paul Eggert  <eggert@twinsun.com>
1750
1751         * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
1752
1753 2000-06-04  Jim Meyering  <meyering@lucent.com>
1754
1755         * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
1756         SunOS4.1.4 for which gid_t is an unsigned type.
1757
1758 2000-06-03  Jim Meyering  <meyering@lucent.com>
1759
1760         * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
1761
1762 2000-05-26  Bruno Haible  <haible@clisp.cons.org>
1763
1764         * Makefile.am (install-exec-local): On systems with glibc-2.1 or
1765         newer, don't install charset.alias.
1766         * config.charset: Change the Linux/glibc rules so they become empty
1767         on glibc-2.1 or newer.
1768
1769 2000-06-02  Jim Meyering  <meyering@lucent.com>
1770
1771         * mountlist.c: Back out last change.  Instead, do this...
1772         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
1773         member using the same `ignore'-testing code.
1774         * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
1775         fs_type strings.
1776         From Mark D. Roth.
1777
1778 2000-05-29  Jim Meyering  <meyering@lucent.com>
1779
1780         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
1781         with the `ignore' attribute.  Based on a patch from Mark D. Roth.
1782
1783 2000-05-22  Jim Meyering  <meyering@lucent.com>
1784
1785         * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
1786
1787 2000-05-18  Jim Meyering  <meyering@lucent.com>
1788
1789         * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
1790         back, too, since it may have been modified by allocate_entry.
1791         (hash_delete): Rewrite to use neither the assignment operator
1792         nor the comma operator in an if-expression.
1793
1794 2000-05-15  Paul Eggert  <eggert@twinsun.com>
1795
1796         * closeout.c:
1797         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
1798         Remove; no longer needed.
1799         "quotearg.h": Add include.
1800         (file_name): Do not bother to explicitly initialize to NULL; it's less
1801         efficient on some hosts.
1802         (close_stdout_status): Remove test as to whether stdout was already
1803         closed; it breaks for the case "echo x | sort >&-".
1804         Quote file name colons.
1805         Do not assume that _("write error") lacks format strings.
1806
1807 2000-05-15  Jim Meyering  <meyering@lucent.com>
1808
1809         * version-etc.c (version_etc_copyright): Update the copyright string
1810         used in all --version output.
1811
1812 2000-05-14  Jim Meyering  <meyering@lucent.com>
1813
1814         * closeout.c (close_stdout_set_file_name): New function.
1815         (close_stdout_status): Use new file-scoped global.
1816         Return right away if fstat says the stdout file descriptor is invalid.
1817         * closeout.h (close_stdout_set_file_name): Declare.
1818
1819 2000-05-10  Jim Meyering  <meyering@lucent.com>
1820
1821         * closeout.c [default_exit_status]: New file-scoped variable.
1822         (close_stdout_set_status): New function.
1823         * closeout.h (close_stdout_set_status): Declare.
1824
1825 2000-05-08  Jim Meyering  <meyering@lucent.com>
1826
1827         * long-options.c: Don't include closeout.h.
1828         (parse_long_options): Don't call close_stdout for --version.
1829
1830 2000-05-06  Jim Meyering  <meyering@lucent.com>
1831
1832         * strnlen.c: Undefine __strnlen and strnlen.
1833         [!weak_alias]: Define __strnlen to strnlen.
1834
1835         * atexit.c: New file, from libiberty.
1836
1837 2000-05-06  Jim Meyering  <meyering@lucent.com>
1838
1839         * closeout.c (close_stdout_status): Also check for errors on the
1840         stderr stream.
1841
1842 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
1843
1844         * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
1845         instead of xmalloc, xrealloc, path_concat.
1846         (locale_charset): Treat empty environment variables as absent.
1847         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
1848
1849 2000-05-04  Jim Meyering  <meyering@lucent.com>
1850
1851         * getopt.c: Update from glibc.
1852         * obstack.c: Likewise.
1853         * obstack.h: Likewise.
1854         * regex.c: Likewise.  NB: K&R compiler support is dropped for this file
1855
1856         * regex.h: Likewise.
1857         * strndup.c: Likewise.
1858         * strnlen.c: New file, from glibc.
1859
1860 2000-05-01  Jim Meyering  <meyering@lucent.com>
1861
1862         * full-write.c (full_write): Remove `FIXME' part of comment.
1863
1864 2000-04-29  Jim Meyering  <meyering@lucent.com>
1865
1866         * path-concat.c: Declare strdup only if it's not defined.
1867         * canon-host.c: Likewise.
1868
1869 2000-04-28  Jim Meyering  <meyering@lucent.com>
1870
1871         * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
1872         redefinition warning on some systems (HPUX).  Otherwise, regex.h is
1873         included first, then limits.h is included by locale.h by libintl.h.
1874         From John David Anglin.
1875
1876 2000-04-25  Jim Meyering  <meyering@lucent.com>
1877
1878         * makepath.c (S_IRWXUGO): Define.
1879         (make_path): Always perform explicit chmod if MODE specifies any
1880         of the `special' permission bits.  Prompted by a bug report against
1881         install from Mate Wierdl and Joost van Baal.
1882
1883 2000-04-18  Jim Meyering  <meyering@lucent.com>
1884
1885         * README: New file.
1886
1887         * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
1888         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
1889
1890 2000-04-17  Jim Meyering  <meyering@lucent.com>
1891
1892         * strftime.c (my_strftime) [strftime]: Declare strftime here, since
1893         the definition of it to rpl_strftime also defined-away the system's
1894         declaration.
1895
1896 2000-04-15  Jim Meyering  <meyering@lucent.com>
1897
1898         Use `C' to denote so-called `contiguous' files, the same way
1899         that tar does.
1900         * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
1901         (ftypelet): Use S_ISCTG.
1902         From Michael Deutschmann.
1903
1904 2000-04-14  Jim Meyering  <meyering@lucent.com>
1905
1906         * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
1907
1908 2000-04-08  Jim Meyering  <meyering@lucent.com>
1909
1910         * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
1911         names don't conflict.  Reported by Eli Zaretskii.
1912
1913 2000-03-28  Bruno Haible  <haible@clisp.cons.org>
1914
1915         * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
1916         bug.  Deal with the different error behavior of Irix iconv.
1917
1918 2000-04-07  Jim Meyering  <meyering@lucent.com>
1919
1920         * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
1921         to work around system header problems on AIX 3.2.5.  From Bruno Haible.
1922
1923 2000-04-05  Jim Meyering  <meyering@lucent.com>
1924
1925         Portability tweaks required for ultrix4.3.
1926         * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
1927         * readutmp.c: Include sys/types.h before sys/stat.h.
1928         * canon-host.c: Declare strdup.
1929         * path-concat.c: Likewise.
1930         From John David Anglin.
1931
1932 2000-04-04  Jim Meyering  <meyering@lucent.com>
1933
1934         Be more DOS 8.3-friendly.
1935         * ref-add.sin: Renamed from ref-add.sed.in.
1936         * ref-del.sin: Renamed from ref-del.sed.in.
1937         * Makefile.am: Reflect renaming.
1938         Reported by Eli Zaretskii.
1939
1940         Use a temporary file name that won't clash with `charset.alias'
1941         in the DOS 8.3 name space.
1942         * Makefile.am (charset_tmp): Define.
1943         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
1944         (uninstall-local): Likewise.
1945         Reported by Eli Zaretskii.
1946
1947 2000-03-29  Paul Eggert  <eggert@twinsun.com>
1948
1949         * time/strftime.c (my_strftime): Make sure we call the system
1950         strftime, not ourselves, when invoking the underlying strftime.
1951
1952 2000-03-24  Jim Meyering  <meyering@lucent.com>
1953
1954         * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
1955         (charset_alias): Define.
1956         (install-exec-local): Factor out common code.
1957         (uninstall-local): Split lines longer than 80.
1958         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
1959         (SUFFIXES): Define.
1960         (.sed.in.sed): New rule.  Don't redirect directly to $@.
1961         (CLEANFILES): Add ref-add.sed and ref-del.sed.
1962
1963 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
1964
1965         * config.charset: Output a line containing "Packages using this file".
1966         * ref-add.sed.in, ref-del.sed.in: New files.
1967         * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
1968         ref-del.sed): New rules.
1969
1970 2000-03-17  Jim Meyering  <meyering@lucent.com>
1971
1972         * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
1973         Otherwise, include <strings.h>
1974
1975 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
1976
1977         * unicodeio.c (utf8_wctomb): New function.
1978         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
1979         format instead of in UCS-4 with platform dependent endianness.
1980
1981 2000-03-07  Paul Eggert  <eggert@twinsun.com>
1982
1983         * savedir.c (savedir): Work even if directory size is
1984         negative; this can happen with some screwy NFS configurations.
1985
1986 2000-03-06  Jim Meyering  <meyering@lucent.com>
1987
1988         * localcharset.c (get_charset_aliases): Don't try to free file_name
1989         if it's NULL (because we ran out of memory).  From Bruno Haible.
1990
1991 2000-03-05  Jim Meyering  <meyering@lucent.com>
1992
1993         * localcharset.c ("path-concat.h"): Include.
1994         (get_charset_aliases): Use path_concat instead of ANSI string
1995         concatenation.
1996
1997         * unicodeio.h (PARAMS): Define.
1998         Use it to guard prototype.
1999
2000 2000-03-04  Jim Meyering  <meyering@lucent.com>
2001
2002         * Makefile.am (install-exec-local): Create $(libdir) before installing
2003         into it.
2004         (uninstall-local): Uncomment this rule so `make distcheck' works
2005         once again.
2006
2007         * unicodeio.c (<errno.h>): Include it.
2008         (errno): Declare if not defined.
2009
2010         * localcharset.c: Add Bruno's comment justifying use of volatile.
2011
2012         * config.charset: New version, incorporating remarks from a linux
2013         i18n mailing list.  From Bruno Haible.
2014
2015 2000-03-02  Jim Meyering  <meyering@lucent.com>
2016
2017         * Makefile.am (EXTRA_DIST): Add config.charset.
2018
2019 2000-03-01  Jim Meyering  <meyering@lucent.com>
2020
2021         * localcharset.c: Guard some #includes with `#if HAVE_...'.
2022         * unicodeio.c: Likewise.
2023
2024 2000-02-02  Bruno Haible  <haible@clisp.cons.org>
2025
2026         * config.charset: New file.
2027         * localcharset.c: New file.
2028         * unicodeio.h, unicodeio.c: New files.
2029         * Makefile.am (DEFS): Add -DLIBDIR=...
2030         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
2031         (noinst_HEADERS): Add unicodeio.h.
2032         (all-local, install-exec-local, charset.alias): New targets.
2033
2034 2000-02-28  Paul Eggert  <eggert@twinsun.com>
2035
2036         * quotearg.c (ALERT_CHAR): New macro.
2037         (quotearg_buffer_restyled): Use it.
2038
2039 2000-02-27  Jim Meyering  <meyering@lucent.com>
2040
2041         * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
2042         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
2043
2044         * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
2045         not `#if STDC_HEADERS'.
2046         Declare malloc if needed.
2047
2048         * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
2049         now that autoconf always defines the HAVE_DECL_ symbols.
2050         * human.c: Likewise.
2051         * same.c: Likewise.
2052         * strtoumax.c: Likewise.
2053
2054         * backupfile.c: Arrange for cpp to fail if the configure-time
2055         declaration check was not run.
2056         * hash.c: Likewise.
2057         * human.c: Likewise.
2058         * same.c: Likewise.
2059         * strtoumax.c: Likewise.
2060
2061         * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
2062         then first look up the entire `.'-containing string as a login name.
2063
2064 2000-02-18  Paul Eggert  <eggert@twinsun.com>
2065
2066         * getdate.y: Handle two-digit years with leading zeros correctly.
2067         (textint): New typedef.
2068         (parser_control): Member year changed from int to textint.
2069         All uses changed.
2070         (YYSTYPE): Removed; replaced by %union with int and textint members.
2071         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
2072         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
2073         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
2074         (tSNUMBER, tUNUMBER): Now of type <textintval>.
2075         (date, number, to_year): Use width of number in digits, not its value,
2076         to determine whether it's a 2-digit year, or a 2-digit time.
2077         (yylex): Store number of digits of numeric tokens.
2078         Reported by John Kendall.
2079
2080         (parser_control): Changed from struct parser_control to typedef (for
2081         consistency).  All uses changed.
2082
2083         (tID): Removed; not used.
2084         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
2085
2086 2000-02-14  Paul Eggert  <eggert@twinsun.com>
2087
2088         * getpagesize.h (getpagesize): Port to VMS for Alpha;
2089         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
2090
2091 2000-02-12  Jim Meyering  <meyering@lucent.com>
2092
2093         * userspec.c (ISDIGIT): Define it.
2094         (isdigit): Remove definition.
2095         (is_number): Use ISDIGIT, not isdigit.
2096         <libintl.h>: Include.
2097         (_ and N_): Define.
2098         (parse_user_spec): Mark translatable strings.
2099
2100 2000-02-10  Jim Meyering  <meyering@lucent.com>
2101
2102         With these changes, nanosleep.[ch] are finally enough like the other
2103         lib/* replacement files to compile on a few more losing systems.
2104
2105         * nanosleep.h: Don't include config.h.
2106         Remove prototype from declaration of nanosleep.
2107         (PARAMS): Remove now-unneeded definition.
2108         * nanosleep.c: #undef nanosleep.
2109         (rpl_nanosleep): Rename from nanosleep.
2110
2111 2000-02-03  Jim Meyering  <meyering@lucent.com>
2112
2113         * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
2114         rather than with `#if HAVE_UTMPNAME'.
2115
2116 2000-02-01  Jim Meyering  <meyering@lucent.com>
2117
2118         * readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
2119
2120 2000-01-31  Jim Meyering  <meyering@lucent.com>
2121
2122         * nanosleep.h (nanosleep): Guard declaration with
2123         `#if ! HAVE_DECL_NANOSLEEP'.
2124         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
2125         the declaration in that vendor's sys/timers.h.
2126         Reported by Christian Krackowizer.
2127
2128         * quotearg.c (ISASCII): Add #undef and move definition to follow
2129         inclusion of wctype.h to work around solaris2.6 namespace pollution.
2130         (ISPRINT): Likewise.
2131         Reported by Tom Tromey.
2132
2133 2000-01-30  Jim Meyering  <meyering@lucent.com>
2134
2135         * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
2136         uses of ->ut_name.  The latter doesn't work with new Linux header files
2137         where only utmpx.ut_user is declared.
2138
2139         * readutmp.h (UT_USER): Define.
2140
2141 2000-01-23  Jim Meyering  <meyering@lucent.com>
2142
2143         * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
2144         obstack.c.
2145
2146 2000-01-22  Jim Meyering  <meyering@lucent.com>
2147
2148         * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
2149         [! HAVE_DECL_STRTOULL]: Declare strtoull.
2150         Required for some AIX systems.  Reported by Christian Krackowizer.
2151         [TESTING] (main): New function.
2152
2153         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
2154         * dirname.c (dir_name): Support for DOS-style file names with drive
2155         letters.
2156
2157         * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
2158
2159         * strverscmp.c (ISDIGIT): Define.
2160         (strverscmp): Use ISDIGIT, not isdigit.
2161
2162 2000-01-17  Paul Eggert  <eggert@twinsun.com>
2163
2164         * nanosleep.c (nanosleep):
2165         Don't use SA_INTERRUPT to decide whether to call sigaction, as
2166         POSIX.1 doesn't require SA_INTERRUPT and some systems
2167         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
2168         it's been part of POSIX.1 since day 1 (in 1988).
2169
2170 2000-01-17  Jim Meyering  <meyering@lucent.com>
2171
2172         * interlock: Remove unused file.  Reported by François Pinard.
2173
2174 2000-01-16  Paul Eggert  <eggert@twinsun.com>
2175
2176         * quotearg.c (quotearg_buffer_restyled): Do not quote
2177         alert, backslash, formfeed, and vertical tab unnecessarily in
2178         shell quoting style.
2179
2180 Local Variables:
2181 version-control: never
2182 End: