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