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