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