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