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