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