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