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