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