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