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