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