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