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