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