*** empty log message ***
[gnulib.git] / lib / ChangeLog
1 2000-06-29  Jim Meyering  <meyering@lucent.com>
2
3         * long-options.c: Include <stdlib.h>, for declaration of exit.
4
5         * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
6         Avoid warning by casting result to `char *' to remove `const'.
7
8 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
9
10         * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
11
12 2000-06-26  Paul Eggert  <eggert@twinsun.com>
13
14         savedir now sets errno on failure and invokes xmalloc to get memory.
15         Fix a couple of other minor bugs while we're at it.
16
17         * savedir.c (<unistd.h>): Do not include; there's no need.
18         (NAMLEN): Remove macro.
19         (malloc, realloc): Remove decls.
20         (stpcpy): Likewise.
21         ("xalloc.h"): Include.
22         (NAME_SIZE_DEFAULT): New macro.
23         (savedir): Use xmalloc / xrealloc to allocate memory.
24         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
25         Skip "" directory entries.
26         Use strlen to calculate directory entry length, since the old method
27         is rarely used these days and isn't worth supporting.
28         Don't use a pointer after freeing it.
29         Check for integer overflow when calculating allocation size.
30         Use memcpy to copy entries, instead of stpcpy.
31         Set errno properly when returning NULL.
32         Check for readdir error.
33
34 2000-06-26  Jim Meyering  <meyering@lucent.com>
35
36         * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
37
38 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
39
40         * getusershell.c (xmalloc, xrealloc): Remove functions.
41         Include xalloc.h.
42         Don't include <stdlib.h>.  Don't declare malloc, realloc.
43
44 2000-06-23  Bruno Haible  <haible@clisp.cons.org>
45
46         * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
47
48 2000-06-24  Jim Meyering  <meyering@lucent.com>
49
50         * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
51
52 2000-06-21  Jim Meyering  <meyering@lucent.com>
53
54         * getpass.c: New file, from Bruno Haible.  Required for BeOS.
55
56 2000-06-19  Paul Eggert  <eggert@twinsun.com>
57
58         * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
59         (mbrtowc, mbstate_t): Define substitutes if
60         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
61         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
62         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
63
64 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
65
66         * xgetcwd.c (xgetcwd): If the required pathname length is smaller
67         than 1024, return a memory chunk of least possible size, instead
68         of size PATH_MAX + 2. In the loop, increment the size proportionally.
69         Use free/xmalloc instead of xrealloc to avoid copying for very long
70         paths.
71
72 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
73
74         * canon-host.c (canon_host): Use malloc and memcpy to copy an
75         address, not strdup.  Include <stdlib.h> and don't declare free().
76
77 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
78
79         * path-concat.c (path_concat): Don't access dir[-1] if dir is
80         the empty string.
81
82 2000-06-21  Jim Meyering  <meyering@lucent.com>
83
84         * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
85         (noinst_HEADERS): Add getstr.h.
86
87         * getline.c (getstr): Move into a separate file.
88         * getstr.c (getstr): New file, extracted from getline.c, with
89         the following changes: new parameter, delim2; both delim[12]
90         parameters have type `int', not `char'.  The latter would lose
91         with 8-bit delimiters.
92         * getstr.h: New file.
93
94 2000-06-19  Jim Meyering  <meyering@lucent.com>
95
96         * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
97
98 2000-06-18  Jim Meyering  <meyering@lucent.com>
99
100         * mkdir.c: Remove file, due mainly to copyright incompatibility.
101         Besides, these days every porting target provides a mkdir function.
102
103         * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
104         (this snippet comes from src/system.h).
105
106 2000-06-15  Paul Eggert  <eggert@twinsun.com>
107
108         * human.c (adjust_value): New function.
109         (human_readable_inexact): Apply rounding style even when
110         printing approximate values.
111
112 2000-06-14  Paul Eggert  <eggert@twinsun.com>
113
114         * human.c (human_readable_inexact): Allow an input block
115         size that is not a multiple of the output block size, and vice versa.
116         Reported by Piergiorgio Sartor.
117
118 2000-06-14  Paul Eggert  <eggert@twinsun.com>
119
120         * getdate.y (get_date): Apply relative times after time
121         zone indicator, not before.  Reported by Todd A. Jacobs.
122
123 2000-06-13  Jim Meyering  <meyering@lucent.com>
124
125         * Makefile.am (all-local): Depend on lstat.c and stat.c.
126
127         * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
128
129 2000-06-12  Paul Eggert  <eggert@twinsun.com>
130
131         * xstat.in: Include <stdlib.h> in lstat, to declare "free".
132
133 2000-06-04  Paul Eggert  <eggert@twinsun.com>
134
135         * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
136
137 2000-06-04  Jim Meyering  <meyering@lucent.com>
138
139         * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
140         SunOS4.1.4 for which gid_t is an unsigned type.
141
142 2000-06-03  Jim Meyering  <meyering@lucent.com>
143
144         * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
145
146 2000-05-26  Bruno Haible  <haible@clisp.cons.org>
147
148         * Makefile.am (install-exec-local): On systems with glibc-2.1 or
149         newer, don't install charset.alias.
150         * config.charset: Change the Linux/glibc rules so they become empty
151         on glibc-2.1 or newer.
152
153 2000-06-02  Jim Meyering  <meyering@lucent.com>
154
155         * mountlist.c: Back out last change.  Instead, do this...
156         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
157         member using the same `ignore'-testing code.
158         * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
159         fs_type strings.
160         From Mark D. Roth.
161
162 2000-05-29  Jim Meyering  <meyering@lucent.com>
163
164         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
165         with the `ignore' attribute.  Based on a patch from Mark D. Roth.
166
167 2000-05-22  Jim Meyering  <meyering@lucent.com>
168
169         * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
170
171 2000-05-18  Jim Meyering  <meyering@lucent.com>
172
173         * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
174         back, too, since it may have been modified by allocate_entry.
175         (hash_delete): Rewrite to use neither the assignment operator
176         nor the comma operator in an if-expression.
177
178 2000-05-15  Paul Eggert  <eggert@twinsun.com>
179
180         * closeout.c:
181         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
182         Remove; no longer needed.
183         "quotearg.h": Add include.
184         (file_name): Do not bother to explicitly initialize to NULL; it's less
185         efficient on some hosts.
186         (close_stdout_status): Remove test as to whether stdout was already
187         closed; it breaks for the case "echo x | sort >&-".
188         Quote file name colons.
189         Do not assume that _("write error") lacks format strings.
190
191 2000-05-15  Jim Meyering  <meyering@lucent.com>
192
193         * version-etc.c (version_etc_copyright): Update the copyright string
194         used in all --version output.
195
196 2000-05-14  Jim Meyering  <meyering@lucent.com>
197
198         * closeout.c (close_stdout_set_file_name): New function.
199         (close_stdout_status): Use new file-scoped global.
200         Return right away if fstat says the stdout file descriptor is invalid.
201         * closeout.h (close_stdout_set_file_name): Declare.
202
203 2000-05-10  Jim Meyering  <meyering@lucent.com>
204
205         * closeout.c [default_exit_status]: New file-scoped variable.
206         (close_stdout_set_status): New function.
207         * closeout.h (close_stdout_set_status): Declare.
208
209 2000-05-08  Jim Meyering  <meyering@lucent.com>
210
211         * long-options.c: Don't include closeout.h.
212         (parse_long_options): Don't call close_stdout for --version.
213
214 2000-05-06  Jim Meyering  <meyering@lucent.com>
215
216         * strnlen.c: Undefine __strnlen and strnlen.
217         [!weak_alias]: Define __strnlen to strnlen.
218
219         * atexit.c: New file, from libiberty.
220
221 2000-05-06  Jim Meyering  <meyering@lucent.com>
222
223         * closeout.c (close_stdout_status): Also check for errors on the
224         stderr stream.
225
226 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
227
228         * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
229         instead of xmalloc, xrealloc, path_concat.
230         (locale_charset): Treat empty environment variables as absent.
231         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
232
233 2000-05-04  Jim Meyering  <meyering@lucent.com>
234
235         * getopt.c: Update from glibc.
236         * obstack.c: Likewise.
237         * obstack.h: Likewise.
238         * regex.c: Likewise.  NB: K&R compiler support is dropped for this file
239
240         * regex.h: Likewise.
241         * strndup.c: Likewise.
242         * strnlen.c: New file, from glibc.
243
244 2000-05-01  Jim Meyering  <meyering@lucent.com>
245
246         * full-write.c (full_write): Remove `FIXME' part of comment.
247
248 2000-04-29  Jim Meyering  <meyering@lucent.com>
249
250         * path-concat.c: Declare strdup only if it's not defined.
251         * canon-host.c: Likewise.
252
253 2000-04-28  Jim Meyering  <meyering@lucent.com>
254
255         * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
256         redefinition warning on some systems (HPUX).  Otherwise, regex.h is
257         included first, then limits.h is included by locale.h by libintl.h.
258         From John David Anglin.
259
260 2000-04-25  Jim Meyering  <meyering@lucent.com>
261
262         * makepath.c (S_IRWXUGO): Define.
263         (make_path): Always perform explicit chmod if MODE specifies any
264         of the `special' permission bits.  Prompted by a bug report against
265         install from Mate Wierdl and Joost van Baal.
266
267 2000-04-18  Jim Meyering  <meyering@lucent.com>
268
269         * README: New file.
270
271         * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
272         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
273
274 2000-04-17  Jim Meyering  <meyering@lucent.com>
275
276         * strftime.c (my_strftime) [strftime]: Declare strftime here, since
277         the definition of it to rpl_strftime also defined-away the system's
278         declaration.
279
280 2000-04-15  Jim Meyering  <meyering@lucent.com>
281
282         Use `C' to denote so-called `contiguous' files, the same way
283         that tar does.
284         * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
285         (ftypelet): Use S_ISCTG.
286         From Michael Deutschmann.
287
288 2000-04-14  Jim Meyering  <meyering@lucent.com>
289
290         * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
291
292 2000-04-08  Jim Meyering  <meyering@lucent.com>
293
294         * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
295         names don't conflict.  Reported by Eli Zaretskii.
296
297 2000-03-28  Bruno Haible  <haible@clisp.cons.org>
298
299         * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
300         bug.  Deal with the different error behavior of Irix iconv.
301
302 2000-04-07  Jim Meyering  <meyering@lucent.com>
303
304         * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
305         to work around system header problems on AIX 3.2.5.  From Bruno Haible.
306
307 2000-04-05  Jim Meyering  <meyering@lucent.com>
308
309         Portability tweaks required for ultrix4.3.
310         * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
311         * readutmp.c: Include sys/types.h before sys/stat.h.
312         * canon-host.c: Declare strdup.
313         * path-concat.c: Likewise.
314         From John David Anglin.
315
316 2000-04-04  Jim Meyering  <meyering@lucent.com>
317
318         Be more DOS 8.3-friendly.
319         * ref-add.sin: Renamed from ref-add.sed.in.
320         * ref-del.sin: Renamed from ref-del.sed.in.
321         * Makefile.am: Reflect renaming.
322         Reported by Eli Zaretskii.
323
324         Use a temporary file name that won't clash with `charset.alias'
325         in the DOS 8.3 name space.
326         * Makefile.am (charset_tmp): Define.
327         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
328         (uninstall-local): Likewise.
329         Reported by Eli Zaretskii.
330
331 2000-03-29  Paul Eggert  <eggert@twinsun.com>
332
333         * time/strftime.c (my_strftime): Make sure we call the system
334         strftime, not ourselves, when invoking the underlying strftime.
335
336 2000-03-24  Jim Meyering  <meyering@lucent.com>
337
338         * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
339         (charset_alias): Define.
340         (install-exec-local): Factor out common code.
341         (uninstall-local): Split lines longer than 80.
342         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
343         (SUFFIXES): Define.
344         (.sed.in.sed): New rule.  Don't redirect directly to $@.
345         (CLEANFILES): Add ref-add.sed and ref-del.sed.
346
347 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
348
349         * config.charset: Output a line containing "Packages using this file".
350         * ref-add.sed.in, ref-del.sed.in: New files.
351         * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
352         ref-del.sed): New rules.
353
354 2000-03-17  Jim Meyering  <meyering@lucent.com>
355
356         * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
357         Otherwise, include <strings.h>
358
359 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
360
361         * unicodeio.c (utf8_wctomb): New function.
362         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
363         format instead of in UCS-4 with platform dependent endianness.
364
365 2000-03-07  Paul Eggert  <eggert@twinsun.com>
366
367         * savedir.c (savedir): Work even if directory size is
368         negative; this can happen with some screwy NFS configurations.
369
370 2000-03-06  Jim Meyering  <meyering@lucent.com>
371
372         * localcharset.c (get_charset_aliases): Don't try to free file_name
373         if it's NULL (because we ran out of memory).  From Bruno Haible.
374
375 2000-03-05  Jim Meyering  <meyering@lucent.com>
376
377         * localcharset.c ("path-concat.h"): Include.
378         (get_charset_aliases): Use path_concat instead of ANSI string
379         concatenation.
380
381         * unicodeio.h (PARAMS): Define.
382         Use it to guard prototype.
383
384 2000-03-04  Jim Meyering  <meyering@lucent.com>
385
386         * Makefile.am (install-exec-local): Create $(libdir) before installing
387         into it.
388         (uninstall-local): Uncomment this rule so `make distcheck' works
389         once again.
390
391         * unicodeio.c (<errno.h>): Include it.
392         (errno): Declare if not defined.
393
394         * localcharset.c: Add Bruno's comment justifying use of volatile.
395
396         * config.charset: New version, incorporating remarks from a linux
397         i18n mailing list.  From Bruno Haible.
398
399 2000-03-02  Jim Meyering  <meyering@lucent.com>
400
401         * Makefile.am (EXTRA_DIST): Add config.charset.
402
403 2000-03-01  Jim Meyering  <meyering@lucent.com>
404
405         * localcharset.c: Guard some #includes with `#if HAVE_...'.
406         * unicodeio.c: Likewise.
407
408 2000-02-02  Bruno Haible  <haible@clisp.cons.org>
409
410         * config.charset: New file.
411         * localcharset.c: New file.
412         * unicodeio.h, unicodeio.c: New files.
413         * Makefile.am (DEFS): Add -DLIBDIR=...
414         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
415         (noinst_HEADERS): Add unicodeio.h.
416         (all-local, install-exec-local, charset.alias): New targets.
417
418 2000-02-28  Paul Eggert  <eggert@twinsun.com>
419
420         * quotearg.c (ALERT_CHAR): New macro.
421         (quotearg_buffer_restyled): Use it.
422
423 2000-02-27  Jim Meyering  <meyering@lucent.com>
424
425         * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
426         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
427
428         * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
429         not `#if STDC_HEADERS'.
430         Declare malloc if needed.
431
432         * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
433         now that autoconf always defines the HAVE_DECL_ symbols.
434         * human.c: Likewise.
435         * same.c: Likewise.
436         * strtoumax.c: Likewise.
437
438         * backupfile.c: Arrange for cpp to fail if the configure-time
439         declaration check was not run.
440         * hash.c: Likewise.
441         * human.c: Likewise.
442         * same.c: Likewise.
443         * strtoumax.c: Likewise.
444
445         * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
446         then first look up the entire `.'-containing string as a login name.
447
448 2000-02-18  Paul Eggert  <eggert@twinsun.com>
449
450         * getdate.y: Handle two-digit years with leading zeros correctly.
451         (textint): New typedef.
452         (parser_control): Member year changed from int to textint.
453         All uses changed.
454         (YYSTYPE): Removed; replaced by %union with int and textint members.
455         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
456         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
457         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
458         (tSNUMBER, tUNUMBER): Now of type <textintval>.
459         (date, number, to_year): Use width of number in digits, not its value,
460         to determine whether it's a 2-digit year, or a 2-digit time.
461         (yylex): Store number of digits of numeric tokens.
462         Reported by John Kendall.
463
464         (parser_control): Changed from struct parser_control to typedef (for
465         consistency).  All uses changed.
466
467         (tID): Removed; not used.
468         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
469
470 2000-02-14  Paul Eggert  <eggert@twinsun.com>
471
472         * getpagesize.h (getpagesize): Port to VMS for Alpha;
473         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
474
475 2000-02-12  Jim Meyering  <meyering@lucent.com>
476
477         * userspec.c (ISDIGIT): Define it.
478         (isdigit): Remove definition.
479         (is_number): Use ISDIGIT, not isdigit.
480         <libintl.h>: Include.
481         (_ and N_): Define.
482         (parse_user_spec): Mark translatable strings.
483
484 2000-02-10  Jim Meyering  <meyering@lucent.com>
485
486         With these changes, nanosleep.[ch] are finally enough like the other
487         lib/* replacement files to compile on a few more losing systems.
488
489         * nanosleep.h: Don't include config.h.
490         Remove prototype from declaration of nanosleep.
491         (PARAMS): Remove now-unneeded definition.
492         * nanosleep.c: #undef nanosleep.
493         (rpl_nanosleep): Rename from nanosleep.
494
495 2000-02-03  Jim Meyering  <meyering@lucent.com>
496
497         * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
498         rather than with `#if HAVE_UTMPNAME'.
499
500 2000-02-01  Jim Meyering  <meyering@lucent.com>
501
502         * readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
503
504 2000-01-31  Jim Meyering  <meyering@lucent.com>
505
506         * nanosleep.h (nanosleep): Guard declaration with
507         `#if ! HAVE_DECL_NANOSLEEP'.
508         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
509         the declaration in that vendor's sys/timers.h.
510         Reported by Christian Krackowizer.
511
512         * quotearg.c (ISASCII): Add #undef and move definition to follow
513         inclusion of wctype.h to work around solaris2.6 namespace pollution.
514         (ISPRINT): Likewise.
515         Reported by Tom Tromey.
516
517 2000-01-30  Jim Meyering  <meyering@lucent.com>
518
519         * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
520         uses of ->ut_name.  The latter doesn't work with new Linux header files
521         where only utmpx.ut_user is declared.
522
523         * readutmp.h (UT_USER): Define.
524
525 2000-01-23  Jim Meyering  <meyering@lucent.com>
526
527         * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
528         obstack.c.
529
530 2000-01-22  Jim Meyering  <meyering@lucent.com>
531
532         * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
533         [! HAVE_DECL_STRTOULL]: Declare strtoull.
534         Required for some AIX systems.  Reported by Christian Krackowizer.
535         [TESTING] (main): New function.
536
537         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
538         * dirname.c (dir_name): Support for DOS-style file names with drive
539         letters.
540
541         * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
542
543         * strverscmp.c (ISDIGIT): Define.
544         (strverscmp): Use ISDIGIT, not isdigit.
545
546 2000-01-17  Paul Eggert  <eggert@twinsun.com>
547
548         * nanosleep.c (nanosleep):
549         Don't use SA_INTERRUPT to decide whether to call sigaction, as
550         POSIX.1 doesn't require SA_INTERRUPT and some systems
551         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
552         it's been part of POSIX.1 since day 1 (in 1988).
553
554 2000-01-17  Jim Meyering  <meyering@lucent.com>
555
556         * interlock: Remove unused file.  Reported by François Pinard.
557
558 2000-01-16  Paul Eggert  <eggert@twinsun.com>
559
560         * quotearg.c (quotearg_buffer_restyled): Do not quote
561         alert, backslash, formfeed, and vertical tab unnecessarily in
562         shell quoting style.
563
564 Local Variables:
565 version-control: never
566 End: