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