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