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