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