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