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