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