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