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