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