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