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