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