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