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