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