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