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