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