ff6a17c0fd1da96a0103de9779977586294cf1ef
[gnulib.git] / lib / ChangeLog
1 2000-12-05  Jim Meyering  <meyering@lucent.com>
2
3         * dirname.c (dir_name_r): Add `const' in a few local declarations.
4
5 2000-12-04  Jim Meyering  <meyering@lucent.com>
6
7         * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
8         Also include memory.h, stdlib.h, unistd.h if appropriate.
9         Reported by Andreas Jaeger (conflicting declaration of malloc).
10
11 2000-12-02  Jim Meyering  <meyering@lucent.com>
12
13         * closeout.h: Make idempotent, to avoid some obscure warnings.
14
15 2000-12-01  Paul Eggert  <eggert@twinsun.com>
16
17         * lib/memrchr.c: Include <config.h> before any system include file.
18
19 2000-11-29  Paul Eggert  <eggert@twinsun.com>
20
21         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
22
23 2000-11-26  Jim Meyering  <meyering@lucent.com>
24
25         * memcoll.c: Include sys/types.h.  From Werner Almesberger.
26
27 2000-11-22  Paul Eggert  <eggert@twinsun.com>
28
29         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
30         size of (size_t) -1; it's not portable.
31
32 2000-11-17  Akim Demaille  <akim@epita.fr>
33
34         * lib/obstack.h: Formatting changes.
35         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
36         prevent type checking.
37         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
38         cast the value to (void *): assigning a `foo *' to a `void *'
39         variable is valid.
40         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
41
42 2000-11-17  Jim Meyering  <meyering@lucent.com>
43
44         * strstr.c: Update from GNU libc.
45
46 2000-11-16  Jim Meyering  <meyering@lucent.com>
47
48         * strverscmp.c: Incorporate weak-alias-related changes from glibc.
49
50 2000-11-11  Jim Meyering  <meyering@lucent.com>
51
52         * error.c: Add a couple #includes, merging from GNU libc version.
53
54 2000-11-10  Jim Meyering  <meyering@lucent.com>
55
56         * obstack.h: Update from GNU libc.
57         * obstack.c: Likewise.
58
59 2000-11-06  Paul Eggert  <eggert@twinsun.com>
60
61         * getusershell.c (setusershell): Use rewind rather than
62         fseek/fseeko, to avoid configuration hassles with fseeko.
63         Don't bother opening SHELLS_FILE if shellstream is NULL;
64         it's not necessary.
65
66 2000-11-05  Jim Meyering  <meyering@lucent.com>
67
68         * makepath.h (make_dir): Declare.
69         * makepath.c (make_dir): Remove `static' attribute.
70         Tweak a comment.
71
72 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
73
74         * hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
75         last one in a bucket, advance to the next bucket.
76
77 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
78
79         * fnmatch.c: Do not comment out all the code if we are using
80         the GNU C library, because in some cases we are replacing buggy
81         code in the GNU C library itself.
82
83 2000-10-30  Paul Eggert  <eggert@twinsun.com>
84
85         * error.h, getline.h, modechange.h:
86         Remove "2000" from Copyright line, as the file hasn't been
87         changed this year other than in the copyright notice.
88
89         * xalloc.h: Add "2000" to Copyright line, as this file
90         was changed this year.
91
92 2000-10-30  Paul Eggert  <eggert@twinsun.com>
93
94         * fnmatch.c (FOLD): Do not assume that characters are unsigned.
95         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
96         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97
98 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
99
100         * regex.h (__restrict_arr): Move definition out of #ifndef block.
101         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
102         doesn't define __restrict_arr.
103
104 2000-10-29  Jim Meyering  <meyering@lucent.com>
105
106         * xstat.in: Fix grammar in comment.
107
108 2000-10-28  Jim Meyering  <meyering@lucent.com>
109
110         * memchr.c: Update from libc.
111         Adjust for portability:
112         [HAVE_STDLIB_H]: Include stdlib.h.
113         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
114         Undef __memchr, too.
115         [!weak_alias]: Define __memchr to memchr.
116
117         * regex.c: Update from libc.
118         * regex.h: Likewise.
119         * getopt1.c: Likewise.
120         * memcmp.c: Likewise.
121
122         * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
123         Avoid using fseek, when possible -- it's broken by design.
124         Patch by Ulrich Drepper.
125
126 2000-10-26  Jim Meyering  <meyering@lucent.com>
127
128         * strftime.c: Update from libc.
129
130 2000-10-25  Jim Meyering  <meyering@lucent.com>
131
132         * obstack.c: Update from libc.
133
134 2000-10-23  Jim Meyering  <meyering@lucent.com>
135
136         * hard-locale.c (hard_locale): Revert last change -- it was simply
137         wrong.  That set_locale call must not have any side effects.
138         From Paul Eggert.
139
140 2000-10-22  Jim Meyering  <meyering@lucent.com>
141
142         * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
143         [CYCLIC]: Remove now-unused definition.
144
145         * save-cwd.c (O_DIRECTORY): Define, if needed.
146         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
147         Suggestion from Ulrich Drepper.
148
149 2000-10-21  Jim Meyering  <meyering@lucent.com>
150
151         * dirname.c (dir_name_r): New function, factored out of dir_name.
152         (dir_name): Use dir_name_r.
153         * dirname.h (dir_name_r): Declare it.
154
155 2000-10-21  Jim Meyering  <meyering@lucent.com>
156
157         * dirname.c (memrchr): Declare if necessary.
158         (dir_name): Remove the restriction that there be no
159         trailing slashes.  Now, this code skips past them, effectively
160         ignoring them.
161         [TEST_DIRNAME] (main): New unit tests.
162
163         * memrchr.c: New file from GNU libc.
164         Undef __memrchr, too.
165         [!weak_alias]: Define __memrchr to memrchr.
166         Guard weak_alias use with `#ifdef weak_alias'.
167
168 2000-10-17  Jim Meyering  <meyering@lucent.com>
169
170         * quote.h (PARAMS): Define and use.
171         Reported by Akim Demaille.
172
173         * getopt.c: Update from libc.
174
175 2000-10-16  Jim Meyering  <meyering@lucent.com>
176
177         * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
178         From Jan Fedak.
179
180 2000-09-25  Jim Meyering  <meyering@lucent.com>
181
182         * md5.h (rol): Define (from GnuPG).
183
184         * sha.c: Give credit (GnuPG) where due.
185         (M): Use rol rather than open-coding it.
186         Add a FIXME comment.
187
188 2000-09-21  Jim Meyering  <meyering@lucent.com>
189
190         * userspec.c (parse_user_spec): Remove debugging printf I'd added.
191         Reported by Michael Stone.
192
193 2000-09-20  Jim Meyering  <meyering@lucent.com>
194
195         * Makefile.am (libfetish_a_SOURCES): Add sha.c.
196         (noinst_HEADERS): Add sha.h.
197         Based on code from Scott G. Miller and from GnuPG.
198
199 2000-09-15  Jim Meyering  <meyering@lucent.com>
200
201         * regex.c: Update from libc.
202
203 2000-09-10  Jim Meyering  <meyering@lucent.com>
204
205         * getopt.c (_getopt_internal): Update from glibc.
206
207 2000-09-09  Jim Meyering  <meyering@lucent.com>
208
209         * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
210         think it should be used as a general replacement for isascii.
211         * fnmatch.c: Likewise.
212         * mbswidth.c: Likewise
213         * regex.c: Likewise.
214
215         Don't use atoi.
216         * userspec.c: Include sys/param.h and limits.h.
217         Include xstrtol.h.
218         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
219         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
220         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
221         UID, GID.  Check range.
222
223 2000-09-06  Jim Meyering  <meyering@lucent.com>
224
225         * getopt.c (_getopt_internal): Update from glibc.
226
227 2000-08-30  Jim Meyering  <meyering@lucent.com>
228
229         * strftime.c: Merge in changes from GNU libc.
230
231 2000-08-26  Jim Meyering  <meyering@lucent.com>
232
233         * closeout.c: Include "__fpending.h".
234         (close_stdout_status): Return right away if there's nothing to flush.
235
236         * Makefile.am (noinst_HEADERS): Add __fpending.h.
237         * __fpending.c: New file.
238         * __fpending.h: New file.
239
240 2000-08-07  Paul Eggert  <eggert@twinsun.com>
241
242         Standardize on "memory exhausted" instead of "Memory exhausted"
243         or "virtual memory exhausted".
244         * obstack.c (print_and_abort): Use "memory exhausted", not
245         "virtual memory exhausted".
246         * same.c (same_name): Invoke xalloc_die instead of printing
247         our own message.
248         * userspec.c (parse_user_spec): Likewise.
249         * bumpalloc.h: comment fix
250         * same.c, userspec.c: Include xalloc.h.
251
252         * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
253         not char *const and pointing to a constant array.
254         * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
255         (xrealloc): Comment fix.
256
257         * userspec.c (parse_user_spec):
258         Don't translate a message until just before returning,
259         to avoid unnecessary translation.
260
261 2000-08-07  Jim Meyering  <meyering@lucent.com>
262
263         * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
264         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
265         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
266         getgroups.c, gethostname.c, getopt.h, group-member.c,
267         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
268         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
269         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
270         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
271         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
272         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
273         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
274         yesno.c: Back out Copyright date changes for each file with no change
275         this year.  This eases coordination with other programs using the same
276         source code modules.  From Paul Eggert.
277
278 2000-08-03  Greg McGary  <greg@mcgary.org>
279
280         * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
281         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
282         (EXTEND_BUFFER): Use them.
283
284 2000-08-01  Jim Meyering  <meyering@lucent.com>
285
286         * dirname.c (ISSLASH): Define.
287         (BACKSLASH_IS_PATH_SEPARATOR): Define.
288         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
289         both `\' and `/' may be use as path separators.
290         Based on a patch from Prashant TR.
291
292 2000-07-31  Paul Eggert  <eggert@twinsun.com>
293
294         * quotearg.c (quotearg_n_options): Don't make the initial
295         slot vector a constant, since it might get modified.
296
297 2000-07-31  Jim Meyering  <meyering@lucent.com>
298
299         * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
300         * obstack.c (print_and_abort): Likewise.
301
302 2000-07-30  Paul Eggert  <eggert@twinsun.com>
303
304         * quotearg.c (quotearg_n_options): Preallocate a slot 0
305         buffer, so that the caller can always quote one small
306         component of a "memory exhausted" message in slot 0.
307         From a suggestion by Jim Meyering.
308
309 2000-07-30  Jim Meyering  <meyering@lucent.com>
310
311         * makepath.c (make_path): Quote the other instance, too.
312
313         * quotearg.c (N_STATIC_SLOTVECS): Define.
314         (STATIC_BUF_SIZE): Define.
315         (quotearg_n_options): Use only statically allocated storage when
316         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
317         than STATIC_BUF_SIZE.
318
319 2000-07-29  Jim Meyering  <meyering@lucent.com>
320
321         * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
322         * dirname.c (dir_name): Likewise.
323
324         * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
325
326         * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
327         (dir_name): Assert that there are no trailing slashes.
328
329 2000-07-18  Bruno Haible  <haible@clisp.cons.org>
330
331         * mbswidth.h (mbswidth): Add a flags argument.
332         (mbswidth): New declaration.
333         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
334         * mbswidth.c (mbswidth): Add a flags argument.
335         (mbsnwidth): New function.
336
337 2000-07-24  Jim Meyering  <meyering@lucent.com>
338
339         * mbswidth.c: Remove useless #else.  From Bruno Haible.
340
341 2000-07-23  Paul Eggert  <eggert@twinsun.com>
342
343         * mbswidth.c (_XOPEN_SOURCE):
344         Don't define; this causes problems on Solaris 7.
345         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
346
347 2000-07-23  Paul Eggert  <eggert@twinsun.com>
348
349         * quotearg.c:
350         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
351         so that mbstate_t is always defined.
352
353         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
354         be 1 in at least one GCC installation, and this configuration
355         error is likely to be common.  Ignoring MB_LEN_MAX hurts
356         performance on hosts that have mbrtowc but have only unibyte
357         locales, but I assume these hosts are rare.
358
359 2000-07-23  Paul Eggert  <eggert@twinsun.com>
360
361         * quotearg.c: Streamline by invoking multibyte code only if needed.
362         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
363         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
364         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
365         invoke multibyte primitives.
366
367 2000-07-23  Jim Meyering  <meyering@lucent.com>
368
369         * basename.c (base_name): Add an assertion.
370
371 2000-07-15  Bruno Haible  <clisp.cons.org>
372
373         * quotearg.c: When the system forces us to redefine mbstate_t,
374         shadow its mbsinit function.
375
376 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
377
378         * mbswidth.h: New file.
379         * mbswidth.c: New file.
380         * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
381         (noinst_HEADERS): Add mbswidth.h.
382
383 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
384
385         * config.charset: Add support for FreeBSD. Improve support for HP-UX
386         and IRIX 6.
387
388 2000-07-15  Jim Meyering  <meyering@lucent.com>
389
390         * makepath.c: Include quote.h.
391         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
392         corresponding argument in a `quote (...)' call.
393         Give better diagnostics.
394
395         * Makefile.am (libfetish_a_SOURCES): Add quote.c.
396         (noinst_HEADERS): Add quote.h.
397
398         * quote.c (quote, quote_n): New file.  Two functions taken verbatim
399         from tar's src/misc.c.
400         * quote.h: New file.  Prototypes for same.
401
402 2000-07-10  Paul Eggert  <eggert@twinsun.com>
403
404         From a suggestion by Bruno Haible.
405         * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
406         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
407         to decide whether to define the BeOS workaround macro;
408         this adjusts to the change to AC_MBSTATE_T.
409
410 2000-07-13  Paul Eggert  <eggert@twinsun.com>
411
412         * quotearg.h (enum quoting style): New enum clocale_quoting_style.
413
414         * quotearg.c: (quoting_style_args, quoting_style_vals,
415         quotearg_buffer_restyled): Add support for
416         clocale_quoting_style.  Undo previous change to
417         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
418         and "{RIGHT QUOTATION MARK}" msgids.
419
420 2000-07-05  Paul Eggert  <eggert@twinsun.com>
421
422         The old behavior of quoting `like this' doesn't look good with
423         newer, ISO-style fonts.  See:
424         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
425
426         Instead, quote "like this" by default.  Let the translator
427         tailor the locale-specific quoting behavior by providing
428         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
429
430         * quotearg.c (N_): New macro.
431         (gettext_default): New function.
432         (quotearg_buffer_restyled): Use
433         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
434         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
435
436 2000-07-09  Jim Meyering  <meyering@lucent.com>
437
438         * Most files: Update copyright dates to include 2000.
439
440 2000-07-08  Jim Meyering  <meyering@lucent.com>
441
442         * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
443         if not defined.
444         (xgethostname): Remove now-unnecessary #ifdef.
445         Move declaration of `err' into loop where it's used.
446
447 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
448
449         * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
450         by allocating a larger buffer. Test the gethostname return value for
451         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
452         returns an error and ENAMETOOLONG isn't defined.
453
454 2000-07-05  Paul Eggert  <eggert@twinsun.com>
455         and Bruno Haible  <haible@clisp.cons.org>
456
457         * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
458
459 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
460
461         * quotearg.c (struct quoting_options): Simplify quote_these_too
462         dimension.
463
464 2000-07-03  Jim Meyering  <meyering@lucent.com>
465
466         * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
467         Reported by Bruno Haible.
468
469 2000-07-04  Jim Meyering  <meyering@lucent.com>
470
471         * quotearg.c: Make inclusion of <wchar.h> independent of whether
472         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
473         lacks mbrtowc.
474
475 2000-07-03  Paul Eggert  <eggert@twinsun.com>
476         and Bruno Haible  <haible@clisp.cons.org>
477
478         * quotearg.c (mbrtowc):
479         Assign to *pwc, and return 1 only if result is nonzero.
480         (iswprint): Use ISPRINT when substituting our own mbrtowc.
481
482 2000-07-03  Jim Meyering  <meyering@lucent.com>
483
484         * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
485         This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
486         From Bob Proulx.
487
488 2000-07-02  Jim Meyering  <meyering@lucent.com>
489
490         * quotearg.c (mbstate_t): Don't define here.
491
492 2000-07-02  Jim Meyering  <meyering@lucent.com>
493
494         * nanosleep.c (SIGCONT): Define if not already defined.
495
496 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
497
498         * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
499         per change in ../m4/ls-mntd-fs.m4.
500         (read_filesystem_list): Ignore symbolic links.
501
502 2000-06-29  Jim Meyering  <meyering@lucent.com>
503
504         * same.c: Include <string.h> or <strings.h>, as appropriate,
505         for declaration of strcmp.
506
507         * long-options.c: Include <stdlib.h>, for declaration of exit.
508
509         * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
510         Avoid warning by casting result to `char *' to remove `const'.
511
512 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
513
514         * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
515
516 2000-06-26  Paul Eggert  <eggert@twinsun.com>
517
518         savedir now sets errno on failure and invokes xmalloc to get memory.
519         Fix a couple of other minor bugs while we're at it.
520
521         * savedir.c (<unistd.h>): Do not include; there's no need.
522         (NAMLEN): Remove macro.
523         (malloc, realloc): Remove decls.
524         (stpcpy): Likewise.
525         ("xalloc.h"): Include.
526         (NAME_SIZE_DEFAULT): New macro.
527         (savedir): Use xmalloc / xrealloc to allocate memory.
528         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
529         Skip "" directory entries.
530         Use strlen to calculate directory entry length, since the old method
531         is rarely used these days and isn't worth supporting.
532         Don't use a pointer after freeing it.
533         Check for integer overflow when calculating allocation size.
534         Use memcpy to copy entries, instead of stpcpy.
535         Set errno properly when returning NULL.
536         Check for readdir error.
537
538 2000-06-26  Jim Meyering  <meyering@lucent.com>
539
540         * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
541
542 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
543
544         * getusershell.c (xmalloc, xrealloc): Remove functions.
545         Include xalloc.h.
546         Don't include <stdlib.h>.  Don't declare malloc, realloc.
547
548 2000-06-23  Bruno Haible  <haible@clisp.cons.org>
549
550         * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
551
552 2000-06-24  Jim Meyering  <meyering@lucent.com>
553
554         * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
555
556 2000-06-21  Jim Meyering  <meyering@lucent.com>
557
558         * getpass.c: New file, from Bruno Haible.  Required for BeOS.
559
560 2000-06-19  Paul Eggert  <eggert@twinsun.com>
561
562         * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
563         (mbrtowc, mbstate_t): Define substitutes if
564         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
565         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
566         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
567
568 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
569
570         * xgetcwd.c (xgetcwd): If the required pathname length is smaller
571         than 1024, return a memory chunk of least possible size, instead
572         of size PATH_MAX + 2. In the loop, increment the size proportionally.
573         Use free/xmalloc instead of xrealloc to avoid copying for very long
574         paths.
575
576 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
577
578         * canon-host.c (canon_host): Use malloc and memcpy to copy an
579         address, not strdup.  Include <stdlib.h> and don't declare free().
580
581 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
582
583         * path-concat.c (path_concat): Don't access dir[-1] if dir is
584         the empty string.
585
586 2000-06-21  Jim Meyering  <meyering@lucent.com>
587
588         * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
589         (noinst_HEADERS): Add getstr.h.
590
591         * getline.c (getstr): Move into a separate file.
592         * getstr.c (getstr): New file, extracted from getline.c, with
593         the following changes: new parameter, delim2; both delim[12]
594         parameters have type `int', not `char'.  The latter would lose
595         with 8-bit delimiters.
596         * getstr.h: New file.
597
598 2000-06-19  Jim Meyering  <meyering@lucent.com>
599
600         * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
601
602 2000-06-18  Jim Meyering  <meyering@lucent.com>
603
604         * mkdir.c: Remove file, due mainly to copyright incompatibility.
605         Besides, these days every porting target provides a mkdir function.
606
607         * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
608         (this snippet comes from src/system.h).
609
610 2000-06-15  Paul Eggert  <eggert@twinsun.com>
611
612         * human.c (adjust_value): New function.
613         (human_readable_inexact): Apply rounding style even when
614         printing approximate values.
615
616 2000-06-14  Paul Eggert  <eggert@twinsun.com>
617
618         * human.c (human_readable_inexact): Allow an input block
619         size that is not a multiple of the output block size, and vice versa.
620         Reported by Piergiorgio Sartor.
621
622 2000-06-14  Paul Eggert  <eggert@twinsun.com>
623
624         * getdate.y (get_date): Apply relative times after time
625         zone indicator, not before.  Reported by Todd A. Jacobs.
626
627 2000-06-13  Jim Meyering  <meyering@lucent.com>
628
629         * Makefile.am (all-local): Depend on lstat.c and stat.c.
630
631         * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
632
633 2000-06-12  Paul Eggert  <eggert@twinsun.com>
634
635         * xstat.in: Include <stdlib.h> in lstat, to declare "free".
636
637 2000-06-04  Paul Eggert  <eggert@twinsun.com>
638
639         * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
640
641 2000-06-04  Jim Meyering  <meyering@lucent.com>
642
643         * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
644         SunOS4.1.4 for which gid_t is an unsigned type.
645
646 2000-06-03  Jim Meyering  <meyering@lucent.com>
647
648         * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
649
650 2000-05-26  Bruno Haible  <haible@clisp.cons.org>
651
652         * Makefile.am (install-exec-local): On systems with glibc-2.1 or
653         newer, don't install charset.alias.
654         * config.charset: Change the Linux/glibc rules so they become empty
655         on glibc-2.1 or newer.
656
657 2000-06-02  Jim Meyering  <meyering@lucent.com>
658
659         * mountlist.c: Back out last change.  Instead, do this...
660         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
661         member using the same `ignore'-testing code.
662         * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
663         fs_type strings.
664         From Mark D. Roth.
665
666 2000-05-29  Jim Meyering  <meyering@lucent.com>
667
668         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
669         with the `ignore' attribute.  Based on a patch from Mark D. Roth.
670
671 2000-05-22  Jim Meyering  <meyering@lucent.com>
672
673         * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
674
675 2000-05-18  Jim Meyering  <meyering@lucent.com>
676
677         * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
678         back, too, since it may have been modified by allocate_entry.
679         (hash_delete): Rewrite to use neither the assignment operator
680         nor the comma operator in an if-expression.
681
682 2000-05-15  Paul Eggert  <eggert@twinsun.com>
683
684         * closeout.c:
685         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
686         Remove; no longer needed.
687         "quotearg.h": Add include.
688         (file_name): Do not bother to explicitly initialize to NULL; it's less
689         efficient on some hosts.
690         (close_stdout_status): Remove test as to whether stdout was already
691         closed; it breaks for the case "echo x | sort >&-".
692         Quote file name colons.
693         Do not assume that _("write error") lacks format strings.
694
695 2000-05-15  Jim Meyering  <meyering@lucent.com>
696
697         * version-etc.c (version_etc_copyright): Update the copyright string
698         used in all --version output.
699
700 2000-05-14  Jim Meyering  <meyering@lucent.com>
701
702         * closeout.c (close_stdout_set_file_name): New function.
703         (close_stdout_status): Use new file-scoped global.
704         Return right away if fstat says the stdout file descriptor is invalid.
705         * closeout.h (close_stdout_set_file_name): Declare.
706
707 2000-05-10  Jim Meyering  <meyering@lucent.com>
708
709         * closeout.c [default_exit_status]: New file-scoped variable.
710         (close_stdout_set_status): New function.
711         * closeout.h (close_stdout_set_status): Declare.
712
713 2000-05-08  Jim Meyering  <meyering@lucent.com>
714
715         * long-options.c: Don't include closeout.h.
716         (parse_long_options): Don't call close_stdout for --version.
717
718 2000-05-06  Jim Meyering  <meyering@lucent.com>
719
720         * strnlen.c: Undefine __strnlen and strnlen.
721         [!weak_alias]: Define __strnlen to strnlen.
722
723         * atexit.c: New file, from libiberty.
724
725 2000-05-06  Jim Meyering  <meyering@lucent.com>
726
727         * closeout.c (close_stdout_status): Also check for errors on the
728         stderr stream.
729
730 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
731
732         * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
733         instead of xmalloc, xrealloc, path_concat.
734         (locale_charset): Treat empty environment variables as absent.
735         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
736
737 2000-05-04  Jim Meyering  <meyering@lucent.com>
738
739         * getopt.c: Update from glibc.
740         * obstack.c: Likewise.
741         * obstack.h: Likewise.
742         * regex.c: Likewise.  NB: K&R compiler support is dropped for this file
743
744         * regex.h: Likewise.
745         * strndup.c: Likewise.
746         * strnlen.c: New file, from glibc.
747
748 2000-05-01  Jim Meyering  <meyering@lucent.com>
749
750         * full-write.c (full_write): Remove `FIXME' part of comment.
751
752 2000-04-29  Jim Meyering  <meyering@lucent.com>
753
754         * path-concat.c: Declare strdup only if it's not defined.
755         * canon-host.c: Likewise.
756
757 2000-04-28  Jim Meyering  <meyering@lucent.com>
758
759         * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
760         redefinition warning on some systems (HPUX).  Otherwise, regex.h is
761         included first, then limits.h is included by locale.h by libintl.h.
762         From John David Anglin.
763
764 2000-04-25  Jim Meyering  <meyering@lucent.com>
765
766         * makepath.c (S_IRWXUGO): Define.
767         (make_path): Always perform explicit chmod if MODE specifies any
768         of the `special' permission bits.  Prompted by a bug report against
769         install from Mate Wierdl and Joost van Baal.
770
771 2000-04-18  Jim Meyering  <meyering@lucent.com>
772
773         * README: New file.
774
775         * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
776         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
777
778 2000-04-17  Jim Meyering  <meyering@lucent.com>
779
780         * strftime.c (my_strftime) [strftime]: Declare strftime here, since
781         the definition of it to rpl_strftime also defined-away the system's
782         declaration.
783
784 2000-04-15  Jim Meyering  <meyering@lucent.com>
785
786         Use `C' to denote so-called `contiguous' files, the same way
787         that tar does.
788         * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
789         (ftypelet): Use S_ISCTG.
790         From Michael Deutschmann.
791
792 2000-04-14  Jim Meyering  <meyering@lucent.com>
793
794         * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
795
796 2000-04-08  Jim Meyering  <meyering@lucent.com>
797
798         * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
799         names don't conflict.  Reported by Eli Zaretskii.
800
801 2000-03-28  Bruno Haible  <haible@clisp.cons.org>
802
803         * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
804         bug.  Deal with the different error behavior of Irix iconv.
805
806 2000-04-07  Jim Meyering  <meyering@lucent.com>
807
808         * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
809         to work around system header problems on AIX 3.2.5.  From Bruno Haible.
810
811 2000-04-05  Jim Meyering  <meyering@lucent.com>
812
813         Portability tweaks required for ultrix4.3.
814         * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
815         * readutmp.c: Include sys/types.h before sys/stat.h.
816         * canon-host.c: Declare strdup.
817         * path-concat.c: Likewise.
818         From John David Anglin.
819
820 2000-04-04  Jim Meyering  <meyering@lucent.com>
821
822         Be more DOS 8.3-friendly.
823         * ref-add.sin: Renamed from ref-add.sed.in.
824         * ref-del.sin: Renamed from ref-del.sed.in.
825         * Makefile.am: Reflect renaming.
826         Reported by Eli Zaretskii.
827
828         Use a temporary file name that won't clash with `charset.alias'
829         in the DOS 8.3 name space.
830         * Makefile.am (charset_tmp): Define.
831         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
832         (uninstall-local): Likewise.
833         Reported by Eli Zaretskii.
834
835 2000-03-29  Paul Eggert  <eggert@twinsun.com>
836
837         * time/strftime.c (my_strftime): Make sure we call the system
838         strftime, not ourselves, when invoking the underlying strftime.
839
840 2000-03-24  Jim Meyering  <meyering@lucent.com>
841
842         * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
843         (charset_alias): Define.
844         (install-exec-local): Factor out common code.
845         (uninstall-local): Split lines longer than 80.
846         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
847         (SUFFIXES): Define.
848         (.sed.in.sed): New rule.  Don't redirect directly to $@.
849         (CLEANFILES): Add ref-add.sed and ref-del.sed.
850
851 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
852
853         * config.charset: Output a line containing "Packages using this file".
854         * ref-add.sed.in, ref-del.sed.in: New files.
855         * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
856         ref-del.sed): New rules.
857
858 2000-03-17  Jim Meyering  <meyering@lucent.com>
859
860         * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
861         Otherwise, include <strings.h>
862
863 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
864
865         * unicodeio.c (utf8_wctomb): New function.
866         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
867         format instead of in UCS-4 with platform dependent endianness.
868
869 2000-03-07  Paul Eggert  <eggert@twinsun.com>
870
871         * savedir.c (savedir): Work even if directory size is
872         negative; this can happen with some screwy NFS configurations.
873
874 2000-03-06  Jim Meyering  <meyering@lucent.com>
875
876         * localcharset.c (get_charset_aliases): Don't try to free file_name
877         if it's NULL (because we ran out of memory).  From Bruno Haible.
878
879 2000-03-05  Jim Meyering  <meyering@lucent.com>
880
881         * localcharset.c ("path-concat.h"): Include.
882         (get_charset_aliases): Use path_concat instead of ANSI string
883         concatenation.
884
885         * unicodeio.h (PARAMS): Define.
886         Use it to guard prototype.
887
888 2000-03-04  Jim Meyering  <meyering@lucent.com>
889
890         * Makefile.am (install-exec-local): Create $(libdir) before installing
891         into it.
892         (uninstall-local): Uncomment this rule so `make distcheck' works
893         once again.
894
895         * unicodeio.c (<errno.h>): Include it.
896         (errno): Declare if not defined.
897
898         * localcharset.c: Add Bruno's comment justifying use of volatile.
899
900         * config.charset: New version, incorporating remarks from a linux
901         i18n mailing list.  From Bruno Haible.
902
903 2000-03-02  Jim Meyering  <meyering@lucent.com>
904
905         * Makefile.am (EXTRA_DIST): Add config.charset.
906
907 2000-03-01  Jim Meyering  <meyering@lucent.com>
908
909         * localcharset.c: Guard some #includes with `#if HAVE_...'.
910         * unicodeio.c: Likewise.
911
912 2000-02-02  Bruno Haible  <haible@clisp.cons.org>
913
914         * config.charset: New file.
915         * localcharset.c: New file.
916         * unicodeio.h, unicodeio.c: New files.
917         * Makefile.am (DEFS): Add -DLIBDIR=...
918         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
919         (noinst_HEADERS): Add unicodeio.h.
920         (all-local, install-exec-local, charset.alias): New targets.
921
922 2000-02-28  Paul Eggert  <eggert@twinsun.com>
923
924         * quotearg.c (ALERT_CHAR): New macro.
925         (quotearg_buffer_restyled): Use it.
926
927 2000-02-27  Jim Meyering  <meyering@lucent.com>
928
929         * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
930         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
931
932         * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
933         not `#if STDC_HEADERS'.
934         Declare malloc if needed.
935
936         * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
937         now that autoconf always defines the HAVE_DECL_ symbols.
938         * human.c: Likewise.
939         * same.c: Likewise.
940         * strtoumax.c: Likewise.
941
942         * backupfile.c: Arrange for cpp to fail if the configure-time
943         declaration check was not run.
944         * hash.c: Likewise.
945         * human.c: Likewise.
946         * same.c: Likewise.
947         * strtoumax.c: Likewise.
948
949         * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
950         then first look up the entire `.'-containing string as a login name.
951
952 2000-02-18  Paul Eggert  <eggert@twinsun.com>
953
954         * getdate.y: Handle two-digit years with leading zeros correctly.
955         (textint): New typedef.
956         (parser_control): Member year changed from int to textint.
957         All uses changed.
958         (YYSTYPE): Removed; replaced by %union with int and textint members.
959         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
960         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
961         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
962         (tSNUMBER, tUNUMBER): Now of type <textintval>.
963         (date, number, to_year): Use width of number in digits, not its value,
964         to determine whether it's a 2-digit year, or a 2-digit time.
965         (yylex): Store number of digits of numeric tokens.
966         Reported by John Kendall.
967
968         (parser_control): Changed from struct parser_control to typedef (for
969         consistency).  All uses changed.
970
971         (tID): Removed; not used.
972         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
973
974 2000-02-14  Paul Eggert  <eggert@twinsun.com>
975
976         * getpagesize.h (getpagesize): Port to VMS for Alpha;
977         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
978
979 2000-02-12  Jim Meyering  <meyering@lucent.com>
980
981         * userspec.c (ISDIGIT): Define it.
982         (isdigit): Remove definition.
983         (is_number): Use ISDIGIT, not isdigit.
984         <libintl.h>: Include.
985         (_ and N_): Define.
986         (parse_user_spec): Mark translatable strings.
987
988 2000-02-10  Jim Meyering  <meyering@lucent.com>
989
990         With these changes, nanosleep.[ch] are finally enough like the other
991         lib/* replacement files to compile on a few more losing systems.
992
993         * nanosleep.h: Don't include config.h.
994         Remove prototype from declaration of nanosleep.
995         (PARAMS): Remove now-unneeded definition.
996         * nanosleep.c: #undef nanosleep.
997         (rpl_nanosleep): Rename from nanosleep.
998
999 2000-02-03  Jim Meyering  <meyering@lucent.com>
1000
1001         * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
1002         rather than with `#if HAVE_UTMPNAME'.
1003
1004 2000-02-01  Jim Meyering  <meyering@lucent.com>
1005
1006         * readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
1007
1008 2000-01-31  Jim Meyering  <meyering@lucent.com>
1009
1010         * nanosleep.h (nanosleep): Guard declaration with
1011         `#if ! HAVE_DECL_NANOSLEEP'.
1012         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
1013         the declaration in that vendor's sys/timers.h.
1014         Reported by Christian Krackowizer.
1015
1016         * quotearg.c (ISASCII): Add #undef and move definition to follow
1017         inclusion of wctype.h to work around solaris2.6 namespace pollution.
1018         (ISPRINT): Likewise.
1019         Reported by Tom Tromey.
1020
1021 2000-01-30  Jim Meyering  <meyering@lucent.com>
1022
1023         * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
1024         uses of ->ut_name.  The latter doesn't work with new Linux header files
1025         where only utmpx.ut_user is declared.
1026
1027         * readutmp.h (UT_USER): Define.
1028
1029 2000-01-23  Jim Meyering  <meyering@lucent.com>
1030
1031         * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
1032         obstack.c.
1033
1034 2000-01-22  Jim Meyering  <meyering@lucent.com>
1035
1036         * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
1037         [! HAVE_DECL_STRTOULL]: Declare strtoull.
1038         Required for some AIX systems.  Reported by Christian Krackowizer.
1039         [TESTING] (main): New function.
1040
1041         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
1042         * dirname.c (dir_name): Support for DOS-style file names with drive
1043         letters.
1044
1045         * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
1046
1047         * strverscmp.c (ISDIGIT): Define.
1048         (strverscmp): Use ISDIGIT, not isdigit.
1049
1050 2000-01-17  Paul Eggert  <eggert@twinsun.com>
1051
1052         * nanosleep.c (nanosleep):
1053         Don't use SA_INTERRUPT to decide whether to call sigaction, as
1054         POSIX.1 doesn't require SA_INTERRUPT and some systems
1055         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
1056         it's been part of POSIX.1 since day 1 (in 1988).
1057
1058 2000-01-17  Jim Meyering  <meyering@lucent.com>
1059
1060         * interlock: Remove unused file.  Reported by François Pinard.
1061
1062 2000-01-16  Paul Eggert  <eggert@twinsun.com>
1063
1064         * quotearg.c (quotearg_buffer_restyled): Do not quote
1065         alert, backslash, formfeed, and vertical tab unnecessarily in
1066         shell quoting style.
1067
1068 Local Variables:
1069 version-control: never
1070 End: