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