d825435ccd6ba0c585c7cf54708c30141a0b2403
[gnulib.git] / lib / ChangeLog
1 2001-08-12  Jim Meyering  <meyering@lucent.com>
2
3         * gettimeofday.c: New file.
4         * gtod.h: New file.
5         * Makefile.am (libfetish_a_SOURCES): Add gtod.h.
6
7 2001-08-04  Jim Meyering  <meyering@lucent.com>
8
9         * error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if stmt,
10         to get in sync with glibc.
11
12 2001-08-03  Paul Eggert  <eggert@twinsun.com>
13
14         The following changes are from gettext 0.10.39 as maintained by
15         Bruno Haible.
16
17         * mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
18         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
19         with inverted sense.  All uses changed.
20
21         * mbswidth.c: Don't include <limits.h>.
22         Include <stdlib.h> and <string.h> unconditionally.
23         (iswcntrl, mbsinit, ISCNTRL): New macros.
24         (mbsnwidth): Use K&R style function declarations.
25         Don't bother checking for MB_LEN_MAX == 1, since the compiler
26         can optimize it when MB_CUR_MAX == 1.
27         The width of control characters is zero, not 1.
28
29 2001-07-15  Jim Meyering  <meyering@lucent.com>
30
31         * Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
32         (BUILT_SOURCES): Add unlocked-io.h.
33         (io_functions): Define.
34         (unlocked-io.h): New rule.
35         (DISTCLEANFILES): Add unlocked-io.h.
36         (all-local): Depend on unlocked-io.h, to ensure it is created.
37
38         * unlocked-io.hin: New file
39
40         * regex.c: Update from glibc.
41
42 2001-07-05  Jim Meyering  <meyering@lucent.com>
43
44         * Makefile.am (noinst_HEADERS): Remove definition, per new automake
45         recommendation.
46         (libfetish_a_SOURCES): Put all .h files here instead.
47         Remove a thus-exposed (better checks in automake) duplicate and
48         two unnecessary .h files.
49
50 2001-06-11  Jim Meyering  <meyering@lucent.com>
51
52         * regex.c: Update from GNU libc.
53
54 2001-05-27  Jim Meyering  <meyering@lucent.com>
55
56         * readutmp.h (UT_TYPE): Define.
57
58 2001-05-24  Jim Meyering  <meyering@lucent.com>
59
60         * argmatch.c: Include "quote.h".
61         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
62         quote function.  Reported by Göran Uddeborg.
63
64 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
65
66         * dirname.c (dir_name): Compute append_dot using path, not newpath
67         which is not yet declared.
68
69 2001-05-11  Paul Eggert  <eggert@twinsun.com>
70
71         * lib/Makefile.am (libfetish_a_SOURCES):
72         Add strftime.c, since we now compile it on all hosts.
73
74         * lib/strftime.c (my_strftime):
75         Define to nstrftime if emacs, but only if my_strftime is not defined.
76         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
77         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
78         Add one more extra argument: a nanoseconds value.
79         All uses changed.
80         (ns): New macro.
81         (my_strftime function): Add %N format.
82         (emacs_strftimeu): Renamed from emacs_strftime,
83         with extra ut argument.
84
85 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86
87         dirname code cleanup.  base_name now behaves more compatibly
88         with POSIX basename when given file names that have trailing
89         slashes, and similarly for dir_name.  Add new primitives
90         base_len and dir_len.  Put the directory-name-related decls
91         into dirname.h.
92
93         * addext.c (ISSLASH, base_name): Remove; now in dirname.h.
94         * backupfile.c (base_name): Likewise.
95         * basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
96         * dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
97         * makepath.c (strip_trailing_slashes): Likewise.
98         * path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, ISSLASH):
99         Likewise.
100         * rename.c (strip_trailing_slashes): Likewise.
101         * same.c (base_name): Likewise.
102         * stripslash.c (ISSLASH): Likewise.
103
104         * addext.c: Include <dirname.h> after size_t is defined.
105         * backupfile.c: Likewise.
106
107         * addext.c (addext): Use base_len to trim redundant
108         trailing slashes instead of doing it ourselves.
109         But do not trim the last slash if it is not redundant.
110
111         * backupfile.c (find_backup_file_name,
112         max_backup_version): Use base_len instead of rolling it ourselves.
113         Handle the case of "" and (on DOS) "C:" correctly.
114
115         * basename.c: Do not include <stdio.h>, <assert.h>; no longer needed.
116         Include <string.h>, <dirname.h>.
117         (base_name): Allow file names ending in slashes, other than names
118         that are all slashes.  In this case, return the basename followed
119         by the slashes.  This is more general, and can be used in places
120         where the original base_name purposely had an assertion failure.
121         (base_len): New function.
122
123         * dirname.c: Include <string.h> instead of <stdlib.h>.
124         Do not include <assert.h>; no longer needed.
125         Include xalloc.h.
126         (memrchr): Remove decl.
127         (dir_name_r): Remove.
128         (dir_len): Renamed from dirlen.  All callers changed.
129         Rewrite in terms of base_name, for simplicity and consistency.
130         (dir_name): Never return NULL.  All callers changed.
131         Do not include <stdlib.h> in test program; no longer needed.
132         return 0; is fine for test program.
133
134         * dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
135         New macros.
136         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
137
138         * path-concat.c (path_concat): Use base_len to compute
139         base length, not strlen; this means we cannot rely on memcpy
140         to null-terminate.
141
142         * same.c (STREQ): Remove.
143         (same_name): Handle the case where the basename ends in trailing '/'.
144
145         * stripslash.c (strip_trailing_slashes): Return nonzero if
146         a slash was stripped.  Do not strip the last slash after a
147         file system prefix.
148
149 2001-04-08  Jim Meyering  <meyering@lucent.com>
150
151         * getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
152         recomputed; that's necessary when the offset spans a DST transition.
153         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
154
155 2001-04-02  Jim Meyering  <meyering@lucent.com>
156
157         * regex.h, regex.c: Update from GNU libc.
158
159 2001-03-19  Paul Eggert  <eggert@twinsun.com>
160
161         * version-etc.c (version_etc_copyright): Update to 2001.
162
163 2001-03-16  Paul Eggert  <eggert@twinsun.com>
164
165         * tempname.c (uint64_t): Define to uintmax_t if
166         not defined, and if UINT64_MAX is not defined.
167         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
168         Reported by John David Anglin.
169
170 2001-03-10  Bruno Haible  <haible@clisp.cons.org>
171
172         * localcharset.c (locale_charset): Allow wildcard syntax. Also resolve
173         alias if codeset is empty.
174         * config.charset (BeOS): Use wildcard syntax.
175
176 2001-03-13  Jim Meyering  <meyering@lucent.com>
177
178         * path-concat.c (path_concat) [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]:
179         Don't insert a backslash when concatenating e.g., `C:' and `foo'.
180         From Bruno Haible.
181
182 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
183
184         * localcharset.c (locale_charset): Don't use setlocale(LC_CTYPE,NULL).
185         Don't return NULL.
186         * unicodeio.c (print_unicode_char): Simplify accordingly.
187
188 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
189
190         * config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
191         support for DOS/DJGPP.
192
193 2001-02-28  Paul Eggert  <eggert@twinsun.com>
194
195         * Makefile.am (libfetish_a_SOURCES):
196         Add dup-safer.c, fopen-safer.c.
197         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
198
199         * dup-safer.c, fopen-safer.c, stdio-safer.h,
200         lib/unistd-safer.h: New files.
201
202 2001-02-25  Paul Eggert  <eggert@twinsun.com>
203
204         The mkstemp replacement is taken from glibc 2.2.2, with some
205         portability fixes for use outside glibc, as follows:
206
207         * tempname.c (struct_stat64): New macro.
208         (direxists, __gen_tempname): Use it.
209         This avoids a portability problem with Solaris 8.
210
211         * tempname.c (<config.h>): Include if HAVE_CONFIG_H.
212         (<stddef.h>, <stdint.h>, <string.h>):
213         Include only if STDC_HEADERS || _LIBC.
214         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
215         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
216         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
217         (__set_errno): Define this macro if <errno.h> doesn't.
218         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
219         Define these macros if <stdio.h> doesn't.
220         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
221         Define these macros if <sys/stat.h>
222         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
223         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
224         __xstat64): Define if not _LIBC.
225         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
226         (__gen_tempname): Invoke gettimeofday only if
227         HAVE_GETTIMEOFDAY || _LIBC;
228         otherwise, fall back on plain "time".
229         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
230
231         * mkstemp.c (__GT_FILE): Define to zero if not defined.
232
233         * mkstemp.c, tempname.c: New files, taken from glibc 2.2.2.
234
235 2001-02-17  Jim Meyering  <meyering@lucent.com>
236
237         * strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
238         around included file name.
239
240         * strnlen.c (__strnlen): Merge in a change from GNU libc.
241
242         * strftime.c: Update from GNU libc (the only changes were to comments).
243
244 2001-02-13  Bruno Haible  <haible@clisp.cons.org>
245
246         * mbswidth.h (mbswidth): Also define as macro, to avoid prototype clash.
247
248 2001-02-17  Paul Eggert  <eggert@twinsun.com>
249
250         * mbswidth.c, quotearg.c (mbrtowc, mbsinit):
251         Remove workaround macros for hosts that have mbrtowc but not
252         mbstate_t, as we now insist on proper declarations for both
253         before using mbrtowc.
254
255 2001-02-17  Jim Meyering  <meyering@lucent.com>
256
257         * regex.c: Update from libc.
258
259 2001-02-16  Paul Eggert  <eggert@twinsun.com>
260
261         * alloca.c (malloc): Undef before defining, since stdlib.h
262         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
263         Reported by Mark Hounschell via Paul Eggert.
264
265 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
266
267         * config.charset: Update for FreeBSD 4.2.
268
269 2001-01-26  Jim Meyering  <meyering@lucent.com>
270
271         * quotearg.c: Include stddef.h.
272         * quote.c: Include stddef.h.
273         Reported by Axel Kittenberger.
274
275         * xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
276         line in double quotes so that it evokes a better diagnostic.
277         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
278         Reported by Axel Kittenberger.
279
280 2001-01-15  Bruno Haible  <haible@clisp.cons.org>
281
282         * unicodeio.c (print_unicode_char): Cast the second iconv() arg,
283         to avoid a warning.  Add back 'const' to inptr.
284
285 2001-01-16  Jim Meyering  <meyering@lucent.com>
286
287         * basename.c: Include <stdio.h>, needed by assert on SunOS4.
288         From Bruno Haible.
289
290 2001-01-14  Jim Meyering  <meyering@lucent.com>
291
292         * rename.c: New file.  From Volker Borchert.
293         Include stdlib.h, string.h or strings.h, and xalloc.h.
294         Use strip_trailing_slashes rather than open-coding it.
295
296 2001-01-03  Paul Eggert  <eggert@twinsun.com>
297
298         * strftime.c: Sync with glibc time/strftime.c 1.81.
299
300 2001-01-03  Jim Meyering  <meyering@lucent.com>
301
302         * unicodeio.c (print_unicode_char): Remove `const' from declaration of
303         local `inptr' to avoid warning with some system declarations of iconv.
304
305 2000-12-29  Paul Eggert  <eggert@twinsun.com>
306
307         * modechange.c: Do not assume that mode_t uses the
308         traditional octal encoding.  E.g. "chmod 1 FOO" should set
309         the other-execute bit of FOO even if S_IXOTH != 1.
310
311         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
312         WOTH, XOTH, ALLM): New macros.
313         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
314          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
315         Use them.
316         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
317         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
318         (mode_compile):
319         No need to use uintmax_t; unsigned long is long enough.
320         Don't bother to get suffix since we don't use it.
321
322 2000-12-24  Jim Meyering  <meyering@lucent.com>
323
324         * hash.c (is_prime): Return explicit boolean values.
325         (hash_get_first): Return NULL to appease Irix5.6's 89.
326         Reported by Nelson Beebe.
327
328 2000-10-31  Bruno Haible  <haible@clisp.cons.org>
329
330         * localcharset.c (locale_charset): Add support for Win32.
331
332 2000-12-18  Paul Eggert  <eggert@twinsun.com>
333
334         * physmem.h, physmem.c: New files.
335
336         * Makefile.am (libfetish_a_SOURCES): Add physmem.c.
337         (noinst_HEADERS): Add physmem.h.
338
339         * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
340         't' for compatibility with Solaris 8 sort.
341
342 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
343
344         * config.charset: Add support for BeOS.
345
346 2000-12-16  Jim Meyering  <meyering@lucent.com>
347
348         * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
349         SHELLS_FILE to a file name that's useful on djgpp systems.
350         Include stdlib.h.
351         (ADDITIONAL_DEFAULT_SHELLS): Define.
352         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
353         Based mostly on a patch from Prashant TR.
354
355 2000-12-16  Jim Meyering  <meyering@lucent.com>
356
357         This bug had a serious impact on chown: `chown N:M FILE' (for integer
358         N and M) would have treated it like `chown N:N FILE'.
359
360         * userspec.c (parse_user_spec): Fix typo: s/u/g/.
361
362 2000-10-31  Bruno Haible  <haible@clisp.cons.org>
363
364         * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
365         CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
366         to the list of canonical encodings. Rename EUC-CN to GB2312.
367
368 2000-12-08  Andreas Schwab  <schwab@suse.de>
369
370         * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
371         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
372
373 2000-12-07  Jim Meyering  <meyering@lucent.com>
374
375         * stripslash.c (ISSLASH): Define.
376         (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
377         From Prashant TR.
378
379         * dirname.c (FILESYSTEM_PREFIX_LEN): Define.
380         (dir_name_r): Declare this function as static.
381         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
382         manifest itself on a name containing a mix of slashes and
383         backslashes.
384         Make this function work with names starting with a DOS-style
385         drive letter and colon prefix.
386         (dir_name): Append `.' if necessary.
387         Based mostly on patches from Prashant TR and Eli Zaretskii.
388
389         * dirname.h (dir_name_r): Remove prototype.
390
391 2000-12-05  Jim Meyering  <meyering@lucent.com>
392
393         * dirname.c (dir_name_r): Add `const' in a few local declarations.
394
395 2000-12-04  Jim Meyering  <meyering@lucent.com>
396
397         * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
398         Also include memory.h, stdlib.h, unistd.h if appropriate.
399         Reported by Andreas Jaeger (conflicting declaration of malloc).
400
401 2000-12-02  Jim Meyering  <meyering@lucent.com>
402
403         * closeout.h: Make idempotent, to avoid some obscure warnings.
404
405 2000-12-01  Paul Eggert  <eggert@twinsun.com>
406
407         * memrchr.c: Include <config.h> before any system include file.
408
409 2000-11-29  Paul Eggert  <eggert@twinsun.com>
410
411         * dirname.c (dir_name_r): Fix typo: int -> size_t.
412
413 2000-11-26  Jim Meyering  <meyering@lucent.com>
414
415         * memcoll.c: Include sys/types.h.  From Werner Almesberger.
416
417 2000-11-22  Paul Eggert  <eggert@twinsun.com>
418
419         * strftime.c (my_strftime): Do not invoke mbrlen with a
420         size of (size_t) -1; it's not portable.
421
422 2000-11-17  Akim Demaille  <akim@epita.fr>
423
424         * obstack.h: Formatting changes.
425         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
426         prevent type checking.
427         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
428         cast the value to (void *): assigning a `foo *' to a `void *'
429         variable is valid.
430         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
431
432 2000-11-17  Jim Meyering  <meyering@lucent.com>
433
434         * strstr.c: Update from GNU libc.
435
436 2000-11-16  Jim Meyering  <meyering@lucent.com>
437
438         * strverscmp.c: Incorporate weak-alias-related changes from glibc.
439
440 2000-11-11  Jim Meyering  <meyering@lucent.com>
441
442         * error.c: Add a couple #includes, merging from GNU libc version.
443
444 2000-11-10  Jim Meyering  <meyering@lucent.com>
445
446         * obstack.h: Update from GNU libc.
447         * obstack.c: Likewise.
448
449 2000-11-06  Paul Eggert  <eggert@twinsun.com>
450
451         * getusershell.c (setusershell): Use rewind rather than
452         fseek/fseeko, to avoid configuration hassles with fseeko.
453         Don't bother opening SHELLS_FILE if shellstream is NULL;
454         it's not necessary.
455
456 2000-11-05  Jim Meyering  <meyering@lucent.com>
457
458         * makepath.h (make_dir): Declare.
459         * makepath.c (make_dir): Remove `static' attribute.
460         Tweak a comment.
461
462 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
463
464         * hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
465         last one in a bucket, advance to the next bucket.
466
467 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
468
469         * fnmatch.c: Do not comment out all the code if we are using
470         the GNU C library, because in some cases we are replacing buggy
471         code in the GNU C library itself.
472
473 2000-10-30  Paul Eggert  <eggert@twinsun.com>
474
475         * error.h, getline.h, modechange.h:
476         Remove "2000" from Copyright line, as the file hasn't been
477         changed this year other than in the copyright notice.
478
479         * xalloc.h: Add "2000" to Copyright line, as this file
480         was changed this year.
481
482 2000-10-30  Paul Eggert  <eggert@twinsun.com>
483
484         * fnmatch.c (FOLD): Do not assume that characters are unsigned.
485         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
486         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
487
488 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
489
490         * regex.h (__restrict_arr): Move definition out of #ifndef block.
491         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
492         doesn't define __restrict_arr.
493
494 2000-10-29  Jim Meyering  <meyering@lucent.com>
495
496         * xstat.in: Fix grammar in comment.
497
498 2000-10-28  Jim Meyering  <meyering@lucent.com>
499
500         * memchr.c: Update from libc.
501         Adjust for portability:
502         [HAVE_STDLIB_H]: Include stdlib.h.
503         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
504         Undef __memchr, too.
505         [!weak_alias]: Define __memchr to memchr.
506
507         * regex.c: Update from libc.
508         * regex.h: Likewise.
509         * getopt1.c: Likewise.
510         * memcmp.c: Likewise.
511
512         * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
513         Avoid using fseek, when possible -- it's broken by design.
514         Patch by Ulrich Drepper.
515
516 2000-10-26  Jim Meyering  <meyering@lucent.com>
517
518         * strftime.c: Update from libc.
519
520 2000-10-25  Jim Meyering  <meyering@lucent.com>
521
522         * obstack.c: Update from libc.
523
524 2000-10-23  Jim Meyering  <meyering@lucent.com>
525
526         * hard-locale.c (hard_locale): Revert last change -- it was simply
527         wrong.  That set_locale call must not have any side effects.
528         From Paul Eggert.
529
530 2000-10-22  Jim Meyering  <meyering@lucent.com>
531
532         * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
533         [CYCLIC]: Remove now-unused definition.
534
535         * save-cwd.c (O_DIRECTORY): Define, if needed.
536         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
537         Suggestion from Ulrich Drepper.
538
539 2000-10-21  Jim Meyering  <meyering@lucent.com>
540
541         * dirname.c (dir_name_r): New function, factored out of dir_name.
542         (dir_name): Use dir_name_r.
543         * dirname.h (dir_name_r): Declare it.
544
545 2000-10-21  Jim Meyering  <meyering@lucent.com>
546
547         * dirname.c (memrchr): Declare if necessary.
548         (dir_name): Remove the restriction that there be no
549         trailing slashes.  Now, this code skips past them, effectively
550         ignoring them.
551         [TEST_DIRNAME] (main): New unit tests.
552
553         * memrchr.c: New file from GNU libc.
554         Undef __memrchr, too.
555         [!weak_alias]: Define __memrchr to memrchr.
556         Guard weak_alias use with `#ifdef weak_alias'.
557
558 2000-10-17  Jim Meyering  <meyering@lucent.com>
559
560         * quote.h (PARAMS): Define and use.
561         Reported by Akim Demaille.
562
563         * getopt.c: Update from libc.
564
565 2000-10-16  Jim Meyering  <meyering@lucent.com>
566
567         * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
568         From Jan Fedak.
569
570 2000-09-25  Jim Meyering  <meyering@lucent.com>
571
572         * md5.h (rol): Define (from GnuPG).
573
574         * sha.c: Give credit (GnuPG) where due.
575         (M): Use rol rather than open-coding it.
576         Add a FIXME comment.
577
578 2000-09-21  Jim Meyering  <meyering@lucent.com>
579
580         * userspec.c (parse_user_spec): Remove debugging printf I'd added.
581         Reported by Michael Stone.
582
583 2000-09-20  Jim Meyering  <meyering@lucent.com>
584
585         * Makefile.am (libfetish_a_SOURCES): Add sha.c.
586         (noinst_HEADERS): Add sha.h.
587         Based on code from Scott G. Miller and from GnuPG.
588
589 2000-09-15  Jim Meyering  <meyering@lucent.com>
590
591         * regex.c: Update from libc.
592
593 2000-09-10  Jim Meyering  <meyering@lucent.com>
594
595         * getopt.c (_getopt_internal): Update from glibc.
596
597 2000-09-09  Jim Meyering  <meyering@lucent.com>
598
599         * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
600         think it should be used as a general replacement for isascii.
601         * fnmatch.c: Likewise.
602         * mbswidth.c: Likewise
603         * regex.c: Likewise.
604
605         Don't use atoi.
606         * userspec.c: Include sys/param.h and limits.h.
607         Include xstrtol.h.
608         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
609         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
610         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
611         UID, GID.  Check range.
612
613 2000-09-06  Jim Meyering  <meyering@lucent.com>
614
615         * getopt.c (_getopt_internal): Update from glibc.
616
617 2000-08-30  Jim Meyering  <meyering@lucent.com>
618
619         * strftime.c: Merge in changes from GNU libc.
620
621 2000-08-26  Jim Meyering  <meyering@lucent.com>
622
623         * closeout.c: Include "__fpending.h".
624         (close_stdout_status): Return right away if there's nothing to flush.
625
626         * Makefile.am (noinst_HEADERS): Add __fpending.h.
627         * __fpending.c: New file.
628         * __fpending.h: New file.
629
630 2000-08-07  Paul Eggert  <eggert@twinsun.com>
631
632         Standardize on "memory exhausted" instead of "Memory exhausted"
633         or "virtual memory exhausted".
634         * obstack.c (print_and_abort): Use "memory exhausted", not
635         "virtual memory exhausted".
636         * same.c (same_name): Invoke xalloc_die instead of printing
637         our own message.
638         * userspec.c (parse_user_spec): Likewise.
639         * bumpalloc.h: comment fix
640         * same.c, userspec.c: Include xalloc.h.
641
642         * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
643         not char *const and pointing to a constant array.
644         * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
645         (xrealloc): Comment fix.
646
647         * userspec.c (parse_user_spec):
648         Don't translate a message until just before returning,
649         to avoid unnecessary translation.
650
651 2000-08-07  Jim Meyering  <meyering@lucent.com>
652
653         * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
654         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
655         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
656         getgroups.c, gethostname.c, getopt.h, group-member.c,
657         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
658         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
659         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
660         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
661         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
662         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
663         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
664         yesno.c: Back out Copyright date changes for each file with no change
665         this year.  This eases coordination with other programs using the same
666         source code modules.  From Paul Eggert.
667
668 2000-08-03  Greg McGary  <greg@mcgary.org>
669
670         * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
671         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
672         (EXTEND_BUFFER): Use them.
673
674 2000-08-01  Jim Meyering  <meyering@lucent.com>
675
676         * dirname.c (ISSLASH): Define.
677         (BACKSLASH_IS_PATH_SEPARATOR): Define.
678         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
679         both `\' and `/' may be use as path separators.
680         Based on a patch from Prashant TR.
681
682 2000-07-31  Paul Eggert  <eggert@twinsun.com>
683
684         * quotearg.c (quotearg_n_options): Don't make the initial
685         slot vector a constant, since it might get modified.
686
687 2000-07-31  Jim Meyering  <meyering@lucent.com>
688
689         * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
690         * obstack.c (print_and_abort): Likewise.
691
692 2000-07-30  Paul Eggert  <eggert@twinsun.com>
693
694         * quotearg.c (quotearg_n_options): Preallocate a slot 0
695         buffer, so that the caller can always quote one small
696         component of a "memory exhausted" message in slot 0.
697         From a suggestion by Jim Meyering.
698
699 2000-07-30  Jim Meyering  <meyering@lucent.com>
700
701         * makepath.c (make_path): Quote the other instance, too.
702
703         * quotearg.c (N_STATIC_SLOTVECS): Define.
704         (STATIC_BUF_SIZE): Define.
705         (quotearg_n_options): Use only statically allocated storage when
706         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
707         than STATIC_BUF_SIZE.
708
709 2000-07-29  Jim Meyering  <meyering@lucent.com>
710
711         * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
712         * dirname.c (dir_name): Likewise.
713
714         * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
715
716         * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
717         (dir_name): Assert that there are no trailing slashes.
718
719 2000-07-18  Bruno Haible  <haible@clisp.cons.org>
720
721         * mbswidth.h (mbswidth): Add a flags argument.
722         (mbswidth): New declaration.
723         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
724         * mbswidth.c (mbswidth): Add a flags argument.
725         (mbsnwidth): New function.
726
727 2000-07-24  Jim Meyering  <meyering@lucent.com>
728
729         * mbswidth.c: Remove useless #else.  From Bruno Haible.
730
731 2000-07-23  Paul Eggert  <eggert@twinsun.com>
732
733         * mbswidth.c (_XOPEN_SOURCE):
734         Don't define; this causes problems on Solaris 7.
735         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
736
737 2000-07-23  Paul Eggert  <eggert@twinsun.com>
738
739         * quotearg.c:
740         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
741         so that mbstate_t is always defined.
742
743         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
744         be 1 in at least one GCC installation, and this configuration
745         error is likely to be common.  Ignoring MB_LEN_MAX hurts
746         performance on hosts that have mbrtowc but have only unibyte
747         locales, but I assume these hosts are rare.
748
749 2000-07-23  Paul Eggert  <eggert@twinsun.com>
750
751         * quotearg.c: Streamline by invoking multibyte code only if needed.
752         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
753         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
754         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
755         invoke multibyte primitives.
756
757 2000-07-23  Jim Meyering  <meyering@lucent.com>
758
759         * basename.c (base_name): Add an assertion.
760
761 2000-07-15  Bruno Haible  <clisp.cons.org>
762
763         * quotearg.c: When the system forces us to redefine mbstate_t,
764         shadow its mbsinit function.
765
766 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
767
768         * mbswidth.h: New file.
769         * mbswidth.c: New file.
770         * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
771         (noinst_HEADERS): Add mbswidth.h.
772
773 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
774
775         * config.charset: Add support for FreeBSD. Improve support for HP-UX
776         and IRIX 6.
777
778 2000-07-15  Jim Meyering  <meyering@lucent.com>
779
780         * makepath.c: Include quote.h.
781         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
782         corresponding argument in a `quote (...)' call.
783         Give better diagnostics.
784
785         * Makefile.am (libfetish_a_SOURCES): Add quote.c.
786         (noinst_HEADERS): Add quote.h.
787
788         * quote.c (quote, quote_n): New file.  Two functions taken verbatim
789         from tar's src/misc.c.
790         * quote.h: New file.  Prototypes for same.
791
792 2000-07-10  Paul Eggert  <eggert@twinsun.com>
793
794         From a suggestion by Bruno Haible.
795         * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
796         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
797         to decide whether to define the BeOS workaround macro;
798         this adjusts to the change to AC_MBSTATE_T.
799
800 2000-07-13  Paul Eggert  <eggert@twinsun.com>
801
802         * quotearg.h (enum quoting style): New enum clocale_quoting_style.
803
804         * quotearg.c (quoting_style_args, quoting_style_vals,
805         quotearg_buffer_restyled): Add support for
806         clocale_quoting_style.  Undo previous change to
807         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
808         and "{RIGHT QUOTATION MARK}" msgids.
809
810 2000-07-05  Paul Eggert  <eggert@twinsun.com>
811
812         The old behavior of quoting `like this' doesn't look good with
813         newer, ISO-style fonts.  See:
814         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
815
816         Instead, quote "like this" by default.  Let the translator
817         tailor the locale-specific quoting behavior by providing
818         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
819
820         * quotearg.c (N_): New macro.
821         (gettext_default): New function.
822         (quotearg_buffer_restyled): Use
823         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
824         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
825
826 2000-07-09  Jim Meyering  <meyering@lucent.com>
827
828         * Most files: Update copyright dates to include 2000.
829
830 2000-07-08  Jim Meyering  <meyering@lucent.com>
831
832         * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
833         if not defined.
834         (xgethostname): Remove now-unnecessary #ifdef.
835         Move declaration of `err' into loop where it's used.
836
837 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
838
839         * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
840         by allocating a larger buffer. Test the gethostname return value for
841         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
842         returns an error and ENAMETOOLONG isn't defined.
843
844 2000-07-05  Paul Eggert  <eggert@twinsun.com>
845         and Bruno Haible  <haible@clisp.cons.org>
846
847         * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
848
849 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
850
851         * quotearg.c (struct quoting_options): Simplify quote_these_too
852         dimension.
853
854 2000-07-03  Jim Meyering  <meyering@lucent.com>
855
856         * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
857         Reported by Bruno Haible.
858
859 2000-07-04  Jim Meyering  <meyering@lucent.com>
860
861         * quotearg.c: Make inclusion of <wchar.h> independent of whether
862         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
863         lacks mbrtowc.
864
865 2000-07-03  Paul Eggert  <eggert@twinsun.com>
866         and Bruno Haible  <haible@clisp.cons.org>
867
868         * quotearg.c (mbrtowc):
869         Assign to *pwc, and return 1 only if result is nonzero.
870         (iswprint): Use ISPRINT when substituting our own mbrtowc.
871
872 2000-07-03  Jim Meyering  <meyering@lucent.com>
873
874         * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
875         This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
876         From Bob Proulx.
877
878 2000-07-02  Jim Meyering  <meyering@lucent.com>
879
880         * quotearg.c (mbstate_t): Don't define here.
881
882 2000-07-02  Jim Meyering  <meyering@lucent.com>
883
884         * nanosleep.c (SIGCONT): Define if not already defined.
885
886 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
887
888         * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
889         per change in ../m4/ls-mntd-fs.m4.
890         (read_filesystem_list): Ignore symbolic links.
891
892 2000-06-29  Jim Meyering  <meyering@lucent.com>
893
894         * same.c: Include <string.h> or <strings.h>, as appropriate,
895         for declaration of strcmp.
896
897         * long-options.c: Include <stdlib.h>, for declaration of exit.
898
899         * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
900         Avoid warning by casting result to `char *' to remove `const'.
901
902 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
903
904         * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
905
906 2000-06-26  Paul Eggert  <eggert@twinsun.com>
907
908         savedir now sets errno on failure and invokes xmalloc to get memory.
909         Fix a couple of other minor bugs while we're at it.
910
911         * savedir.c (<unistd.h>): Do not include; there's no need.
912         (NAMLEN): Remove macro.
913         (malloc, realloc): Remove decls.
914         (stpcpy): Likewise.
915         ("xalloc.h"): Include.
916         (NAME_SIZE_DEFAULT): New macro.
917         (savedir): Use xmalloc / xrealloc to allocate memory.
918         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
919         Skip "" directory entries.
920         Use strlen to calculate directory entry length, since the old method
921         is rarely used these days and isn't worth supporting.
922         Don't use a pointer after freeing it.
923         Check for integer overflow when calculating allocation size.
924         Use memcpy to copy entries, instead of stpcpy.
925         Set errno properly when returning NULL.
926         Check for readdir error.
927
928 2000-06-26  Jim Meyering  <meyering@lucent.com>
929
930         * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
931
932 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
933
934         * getusershell.c (xmalloc, xrealloc): Remove functions.
935         Include xalloc.h.
936         Don't include <stdlib.h>.  Don't declare malloc, realloc.
937
938 2000-06-23  Bruno Haible  <haible@clisp.cons.org>
939
940         * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
941
942 2000-06-24  Jim Meyering  <meyering@lucent.com>
943
944         * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
945
946 2000-06-21  Jim Meyering  <meyering@lucent.com>
947
948         * getpass.c: New file, from Bruno Haible.  Required for BeOS.
949
950 2000-06-19  Paul Eggert  <eggert@twinsun.com>
951
952         * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
953         (mbrtowc, mbstate_t): Define substitutes if
954         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
955         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
956         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
957
958 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
959
960         * xgetcwd.c (xgetcwd): If the required pathname length is smaller
961         than 1024, return a memory chunk of least possible size, instead
962         of size PATH_MAX + 2. In the loop, increment the size proportionally.
963         Use free/xmalloc instead of xrealloc to avoid copying for very long
964         paths.
965
966 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
967
968         * canon-host.c (canon_host): Use malloc and memcpy to copy an
969         address, not strdup.  Include <stdlib.h> and don't declare free().
970
971 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
972
973         * path-concat.c (path_concat): Don't access dir[-1] if dir is
974         the empty string.
975
976 2000-06-21  Jim Meyering  <meyering@lucent.com>
977
978         * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
979         (noinst_HEADERS): Add getstr.h.
980
981         * getline.c (getstr): Move into a separate file.
982         * getstr.c (getstr): New file, extracted from getline.c, with
983         the following changes: new parameter, delim2; both delim[12]
984         parameters have type `int', not `char'.  The latter would lose
985         with 8-bit delimiters.
986         * getstr.h: New file.
987
988 2000-06-19  Jim Meyering  <meyering@lucent.com>
989
990         * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
991
992 2000-06-18  Jim Meyering  <meyering@lucent.com>
993
994         * mkdir.c: Remove file, due mainly to copyright incompatibility.
995         Besides, these days every porting target provides a mkdir function.
996
997         * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
998         (this snippet comes from src/system.h).
999
1000 2000-06-15  Paul Eggert  <eggert@twinsun.com>
1001
1002         * human.c (adjust_value): New function.
1003         (human_readable_inexact): Apply rounding style even when
1004         printing approximate values.
1005
1006 2000-06-14  Paul Eggert  <eggert@twinsun.com>
1007
1008         * human.c (human_readable_inexact): Allow an input block
1009         size that is not a multiple of the output block size, and vice versa.
1010         Reported by Piergiorgio Sartor.
1011
1012 2000-06-14  Paul Eggert  <eggert@twinsun.com>
1013
1014         * getdate.y (get_date): Apply relative times after time
1015         zone indicator, not before.  Reported by Todd A. Jacobs.
1016
1017 2000-06-13  Jim Meyering  <meyering@lucent.com>
1018
1019         * Makefile.am (all-local): Depend on lstat.c and stat.c.
1020
1021         * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
1022
1023 2000-06-12  Paul Eggert  <eggert@twinsun.com>
1024
1025         * xstat.in: Include <stdlib.h> in lstat, to declare "free".
1026
1027 2000-06-04  Paul Eggert  <eggert@twinsun.com>
1028
1029         * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
1030
1031 2000-06-04  Jim Meyering  <meyering@lucent.com>
1032
1033         * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
1034         SunOS4.1.4 for which gid_t is an unsigned type.
1035
1036 2000-06-03  Jim Meyering  <meyering@lucent.com>
1037
1038         * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
1039
1040 2000-05-26  Bruno Haible  <haible@clisp.cons.org>
1041
1042         * Makefile.am (install-exec-local): On systems with glibc-2.1 or
1043         newer, don't install charset.alias.
1044         * config.charset: Change the Linux/glibc rules so they become empty
1045         on glibc-2.1 or newer.
1046
1047 2000-06-02  Jim Meyering  <meyering@lucent.com>
1048
1049         * mountlist.c: Back out last change.  Instead, do this...
1050         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
1051         member using the same `ignore'-testing code.
1052         * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
1053         fs_type strings.
1054         From Mark D. Roth.
1055
1056 2000-05-29  Jim Meyering  <meyering@lucent.com>
1057
1058         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
1059         with the `ignore' attribute.  Based on a patch from Mark D. Roth.
1060
1061 2000-05-22  Jim Meyering  <meyering@lucent.com>
1062
1063         * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
1064
1065 2000-05-18  Jim Meyering  <meyering@lucent.com>
1066
1067         * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
1068         back, too, since it may have been modified by allocate_entry.
1069         (hash_delete): Rewrite to use neither the assignment operator
1070         nor the comma operator in an if-expression.
1071
1072 2000-05-15  Paul Eggert  <eggert@twinsun.com>
1073
1074         * closeout.c:
1075         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
1076         Remove; no longer needed.
1077         "quotearg.h": Add include.
1078         (file_name): Do not bother to explicitly initialize to NULL; it's less
1079         efficient on some hosts.
1080         (close_stdout_status): Remove test as to whether stdout was already
1081         closed; it breaks for the case "echo x | sort >&-".
1082         Quote file name colons.
1083         Do not assume that _("write error") lacks format strings.
1084
1085 2000-05-15  Jim Meyering  <meyering@lucent.com>
1086
1087         * version-etc.c (version_etc_copyright): Update the copyright string
1088         used in all --version output.
1089
1090 2000-05-14  Jim Meyering  <meyering@lucent.com>
1091
1092         * closeout.c (close_stdout_set_file_name): New function.
1093         (close_stdout_status): Use new file-scoped global.
1094         Return right away if fstat says the stdout file descriptor is invalid.
1095         * closeout.h (close_stdout_set_file_name): Declare.
1096
1097 2000-05-10  Jim Meyering  <meyering@lucent.com>
1098
1099         * closeout.c [default_exit_status]: New file-scoped variable.
1100         (close_stdout_set_status): New function.
1101         * closeout.h (close_stdout_set_status): Declare.
1102
1103 2000-05-08  Jim Meyering  <meyering@lucent.com>
1104
1105         * long-options.c: Don't include closeout.h.
1106         (parse_long_options): Don't call close_stdout for --version.
1107
1108 2000-05-06  Jim Meyering  <meyering@lucent.com>
1109
1110         * strnlen.c: Undefine __strnlen and strnlen.
1111         [!weak_alias]: Define __strnlen to strnlen.
1112
1113         * atexit.c: New file, from libiberty.
1114
1115 2000-05-06  Jim Meyering  <meyering@lucent.com>
1116
1117         * closeout.c (close_stdout_status): Also check for errors on the
1118         stderr stream.
1119
1120 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
1121
1122         * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
1123         instead of xmalloc, xrealloc, path_concat.
1124         (locale_charset): Treat empty environment variables as absent.
1125         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
1126
1127 2000-05-04  Jim Meyering  <meyering@lucent.com>
1128
1129         * getopt.c: Update from glibc.
1130         * obstack.c: Likewise.
1131         * obstack.h: Likewise.
1132         * regex.c: Likewise.  NB: K&R compiler support is dropped for this file
1133
1134         * regex.h: Likewise.
1135         * strndup.c: Likewise.
1136         * strnlen.c: New file, from glibc.
1137
1138 2000-05-01  Jim Meyering  <meyering@lucent.com>
1139
1140         * full-write.c (full_write): Remove `FIXME' part of comment.
1141
1142 2000-04-29  Jim Meyering  <meyering@lucent.com>
1143
1144         * path-concat.c: Declare strdup only if it's not defined.
1145         * canon-host.c: Likewise.
1146
1147 2000-04-28  Jim Meyering  <meyering@lucent.com>
1148
1149         * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
1150         redefinition warning on some systems (HPUX).  Otherwise, regex.h is
1151         included first, then limits.h is included by locale.h by libintl.h.
1152         From John David Anglin.
1153
1154 2000-04-25  Jim Meyering  <meyering@lucent.com>
1155
1156         * makepath.c (S_IRWXUGO): Define.
1157         (make_path): Always perform explicit chmod if MODE specifies any
1158         of the `special' permission bits.  Prompted by a bug report against
1159         install from Mate Wierdl and Joost van Baal.
1160
1161 2000-04-18  Jim Meyering  <meyering@lucent.com>
1162
1163         * README: New file.
1164
1165         * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
1166         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
1167
1168 2000-04-17  Jim Meyering  <meyering@lucent.com>
1169
1170         * strftime.c (my_strftime) [strftime]: Declare strftime here, since
1171         the definition of it to rpl_strftime also defined-away the system's
1172         declaration.
1173
1174 2000-04-15  Jim Meyering  <meyering@lucent.com>
1175
1176         Use `C' to denote so-called `contiguous' files, the same way
1177         that tar does.
1178         * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
1179         (ftypelet): Use S_ISCTG.
1180         From Michael Deutschmann.
1181
1182 2000-04-14  Jim Meyering  <meyering@lucent.com>
1183
1184         * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
1185
1186 2000-04-08  Jim Meyering  <meyering@lucent.com>
1187
1188         * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
1189         names don't conflict.  Reported by Eli Zaretskii.
1190
1191 2000-03-28  Bruno Haible  <haible@clisp.cons.org>
1192
1193         * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
1194         bug.  Deal with the different error behavior of Irix iconv.
1195
1196 2000-04-07  Jim Meyering  <meyering@lucent.com>
1197
1198         * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
1199         to work around system header problems on AIX 3.2.5.  From Bruno Haible.
1200
1201 2000-04-05  Jim Meyering  <meyering@lucent.com>
1202
1203         Portability tweaks required for ultrix4.3.
1204         * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
1205         * readutmp.c: Include sys/types.h before sys/stat.h.
1206         * canon-host.c: Declare strdup.
1207         * path-concat.c: Likewise.
1208         From John David Anglin.
1209
1210 2000-04-04  Jim Meyering  <meyering@lucent.com>
1211
1212         Be more DOS 8.3-friendly.
1213         * ref-add.sin: Renamed from ref-add.sed.in.
1214         * ref-del.sin: Renamed from ref-del.sed.in.
1215         * Makefile.am: Reflect renaming.
1216         Reported by Eli Zaretskii.
1217
1218         Use a temporary file name that won't clash with `charset.alias'
1219         in the DOS 8.3 name space.
1220         * Makefile.am (charset_tmp): Define.
1221         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
1222         (uninstall-local): Likewise.
1223         Reported by Eli Zaretskii.
1224
1225 2000-03-29  Paul Eggert  <eggert@twinsun.com>
1226
1227         * time/strftime.c (my_strftime): Make sure we call the system
1228         strftime, not ourselves, when invoking the underlying strftime.
1229
1230 2000-03-24  Jim Meyering  <meyering@lucent.com>
1231
1232         * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
1233         (charset_alias): Define.
1234         (install-exec-local): Factor out common code.
1235         (uninstall-local): Split lines longer than 80.
1236         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
1237         (SUFFIXES): Define.
1238         (.sed.in.sed): New rule.  Don't redirect directly to $@.
1239         (CLEANFILES): Add ref-add.sed and ref-del.sed.
1240
1241 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
1242
1243         * config.charset: Output a line containing "Packages using this file".
1244         * ref-add.sed.in, ref-del.sed.in: New files.
1245         * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
1246         ref-del.sed): New rules.
1247
1248 2000-03-17  Jim Meyering  <meyering@lucent.com>
1249
1250         * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
1251         Otherwise, include <strings.h>
1252
1253 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
1254
1255         * unicodeio.c (utf8_wctomb): New function.
1256         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
1257         format instead of in UCS-4 with platform dependent endianness.
1258
1259 2000-03-07  Paul Eggert  <eggert@twinsun.com>
1260
1261         * savedir.c (savedir): Work even if directory size is
1262         negative; this can happen with some screwy NFS configurations.
1263
1264 2000-03-06  Jim Meyering  <meyering@lucent.com>
1265
1266         * localcharset.c (get_charset_aliases): Don't try to free file_name
1267         if it's NULL (because we ran out of memory).  From Bruno Haible.
1268
1269 2000-03-05  Jim Meyering  <meyering@lucent.com>
1270
1271         * localcharset.c ("path-concat.h"): Include.
1272         (get_charset_aliases): Use path_concat instead of ANSI string
1273         concatenation.
1274
1275         * unicodeio.h (PARAMS): Define.
1276         Use it to guard prototype.
1277
1278 2000-03-04  Jim Meyering  <meyering@lucent.com>
1279
1280         * Makefile.am (install-exec-local): Create $(libdir) before installing
1281         into it.
1282         (uninstall-local): Uncomment this rule so `make distcheck' works
1283         once again.
1284
1285         * unicodeio.c (<errno.h>): Include it.
1286         (errno): Declare if not defined.
1287
1288         * localcharset.c: Add Bruno's comment justifying use of volatile.
1289
1290         * config.charset: New version, incorporating remarks from a linux
1291         i18n mailing list.  From Bruno Haible.
1292
1293 2000-03-02  Jim Meyering  <meyering@lucent.com>
1294
1295         * Makefile.am (EXTRA_DIST): Add config.charset.
1296
1297 2000-03-01  Jim Meyering  <meyering@lucent.com>
1298
1299         * localcharset.c: Guard some #includes with `#if HAVE_...'.
1300         * unicodeio.c: Likewise.
1301
1302 2000-02-02  Bruno Haible  <haible@clisp.cons.org>
1303
1304         * config.charset: New file.
1305         * localcharset.c: New file.
1306         * unicodeio.h, unicodeio.c: New files.
1307         * Makefile.am (DEFS): Add -DLIBDIR=...
1308         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
1309         (noinst_HEADERS): Add unicodeio.h.
1310         (all-local, install-exec-local, charset.alias): New targets.
1311
1312 2000-02-28  Paul Eggert  <eggert@twinsun.com>
1313
1314         * quotearg.c (ALERT_CHAR): New macro.
1315         (quotearg_buffer_restyled): Use it.
1316
1317 2000-02-27  Jim Meyering  <meyering@lucent.com>
1318
1319         * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
1320         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
1321
1322         * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
1323         not `#if STDC_HEADERS'.
1324         Declare malloc if needed.
1325
1326         * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
1327         now that autoconf always defines the HAVE_DECL_ symbols.
1328         * human.c: Likewise.
1329         * same.c: Likewise.
1330         * strtoumax.c: Likewise.
1331
1332         * backupfile.c: Arrange for cpp to fail if the configure-time
1333         declaration check was not run.
1334         * hash.c: Likewise.
1335         * human.c: Likewise.
1336         * same.c: Likewise.
1337         * strtoumax.c: Likewise.
1338
1339         * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
1340         then first look up the entire `.'-containing string as a login name.
1341
1342 2000-02-18  Paul Eggert  <eggert@twinsun.com>
1343
1344         * getdate.y: Handle two-digit years with leading zeros correctly.
1345         (textint): New typedef.
1346         (parser_control): Member year changed from int to textint.
1347         All uses changed.
1348         (YYSTYPE): Removed; replaced by %union with int and textint members.
1349         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
1350         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
1351         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
1352         (tSNUMBER, tUNUMBER): Now of type <textintval>.
1353         (date, number, to_year): Use width of number in digits, not its value,
1354         to determine whether it's a 2-digit year, or a 2-digit time.
1355         (yylex): Store number of digits of numeric tokens.
1356         Reported by John Kendall.
1357
1358         (parser_control): Changed from struct parser_control to typedef (for
1359         consistency).  All uses changed.
1360
1361         (tID): Removed; not used.
1362         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
1363
1364 2000-02-14  Paul Eggert  <eggert@twinsun.com>
1365
1366         * getpagesize.h (getpagesize): Port to VMS for Alpha;
1367         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
1368
1369 2000-02-12  Jim Meyering  <meyering@lucent.com>
1370
1371         * userspec.c (ISDIGIT): Define it.
1372         (isdigit): Remove definition.
1373         (is_number): Use ISDIGIT, not isdigit.
1374         <libintl.h>: Include.
1375         (_ and N_): Define.
1376         (parse_user_spec): Mark translatable strings.
1377
1378 2000-02-10  Jim Meyering  <meyering@lucent.com>
1379
1380         With these changes, nanosleep.[ch] are finally enough like the other
1381         lib/* replacement files to compile on a few more losing systems.
1382
1383         * nanosleep.h: Don't include config.h.
1384         Remove prototype from declaration of nanosleep.
1385         (PARAMS): Remove now-unneeded definition.
1386         * nanosleep.c: #undef nanosleep.
1387         (rpl_nanosleep): Rename from nanosleep.
1388
1389 2000-02-03  Jim Meyering  <meyering@lucent.com>
1390
1391         * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
1392         rather than with `#if HAVE_UTMPNAME'.
1393
1394 2000-02-01  Jim Meyering  <meyering@lucent.com>
1395
1396         * readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
1397
1398 2000-01-31  Jim Meyering  <meyering@lucent.com>
1399
1400         * nanosleep.h (nanosleep): Guard declaration with
1401         `#if ! HAVE_DECL_NANOSLEEP'.
1402         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
1403         the declaration in that vendor's sys/timers.h.
1404         Reported by Christian Krackowizer.
1405
1406         * quotearg.c (ISASCII): Add #undef and move definition to follow
1407         inclusion of wctype.h to work around solaris2.6 namespace pollution.
1408         (ISPRINT): Likewise.
1409         Reported by Tom Tromey.
1410
1411 2000-01-30  Jim Meyering  <meyering@lucent.com>
1412
1413         * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
1414         uses of ->ut_name.  The latter doesn't work with new Linux header files
1415         where only utmpx.ut_user is declared.
1416
1417         * readutmp.h (UT_USER): Define.
1418
1419 2000-01-23  Jim Meyering  <meyering@lucent.com>
1420
1421         * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
1422         obstack.c.
1423
1424 2000-01-22  Jim Meyering  <meyering@lucent.com>
1425
1426         * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
1427         [! HAVE_DECL_STRTOULL]: Declare strtoull.
1428         Required for some AIX systems.  Reported by Christian Krackowizer.
1429         [TESTING] (main): New function.
1430
1431         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
1432         * dirname.c (dir_name): Support for DOS-style file names with drive
1433         letters.
1434
1435         * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
1436
1437         * strverscmp.c (ISDIGIT): Define.
1438         (strverscmp): Use ISDIGIT, not isdigit.
1439
1440 2000-01-17  Paul Eggert  <eggert@twinsun.com>
1441
1442         * nanosleep.c (nanosleep):
1443         Don't use SA_INTERRUPT to decide whether to call sigaction, as
1444         POSIX.1 doesn't require SA_INTERRUPT and some systems
1445         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
1446         it's been part of POSIX.1 since day 1 (in 1988).
1447
1448 2000-01-17  Jim Meyering  <meyering@lucent.com>
1449
1450         * interlock: Remove unused file.  Reported by François Pinard.
1451
1452 2000-01-16  Paul Eggert  <eggert@twinsun.com>
1453
1454         * quotearg.c (quotearg_buffer_restyled): Do not quote
1455         alert, backslash, formfeed, and vertical tab unnecessarily in
1456         shell quoting style.
1457
1458 Local Variables:
1459 version-control: never
1460 End: