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