Jim Meyering [Mon, 3 Jan 2011 10:50:43 +0000 (11:50 +0100)]
git-version-gen: include command name in one more diagnostic
* build-aux/git-version-gen: When the required .tarball-version file
was missing or unreadable, you might see the diagnostic from "cat",
but no trace of the name of the invoking script. Now, you still see
the diagnostic from cat, but also get one from "git-version-gen: ".
Inspired by a patch from Bruce Korb.
Jim Meyering [Mon, 3 Jan 2011 07:54:13 +0000 (08:54 +0100)]
update-copyright: adjust test to match changed code
* tests/test-update-copyright.sh: Change test's expected output
to match new actual output.
Bruno Haible [Mon, 3 Jan 2011 01:51:03 +0000 (02:51 +0100)]
getlogin_r: Avoid test failure on HP-UX 11.
* tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
ERANGE when the second argument is zero.
* doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
portability problem.
Bruce Korb [Mon, 3 Jan 2011 01:22:21 +0000 (17:22 -0800)]
document new copyright owner name changes
Bruce Korb [Mon, 3 Jan 2011 01:21:42 +0000 (17:21 -0800)]
document new copyright owner name changes
Simon Josefsson [Sun, 2 Jan 2011 19:02:03 +0000 (20:02 +0100)]
build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER environment variable.
Bruno Haible [Sun, 2 Jan 2011 18:34:18 +0000 (19:34 +0100)]
unigbrk: Avoid gcc warnings.
* lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
unused variable.
* lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
* lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
* tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
* tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
* tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
Change type of first argument to 'const char *'.
(main): Remove unused variable.
* tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
type of first argument to 'const char *'.
* tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
Likewise.
(main): Change type of variable 's'.
* tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
to 'int'.
Bruno Haible [Sun, 2 Jan 2011 17:40:29 +0000 (18:40 +0100)]
pwrite: Fix test whether it works and make it work on HP-UX 11.11.
* m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
bug.
* lib/pwrite.c: Undo 2010-12-31 patch.
* doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
Bruno Haible [Sun, 2 Jan 2011 17:35:20 +0000 (18:35 +0100)]
pread: Fix test whether it works.
* m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
Bruno Haible [Sun, 2 Jan 2011 13:36:30 +0000 (14:36 +0100)]
Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
* m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
ends in "6". Don't require a specific month name. Try also the locale
names found on HP-UX 11 and Solaris 7.
Bruno Haible [Sun, 2 Jan 2011 12:30:17 +0000 (13:30 +0100)]
tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
* lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
C linkage.
* doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
Ben Pfaff [Sat, 1 Jan 2011 23:15:40 +0000 (15:15 -0800)]
Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break().
This aids consistency, since the "cluster" term is not used elsewhere.
* lib/unigbrk.in.h: Update name.
* lib/unigbrk/u16-grapheme-breaks.c: Update name.
* lib/unigbrk/u16-grapheme-next.c: Update name.
* lib/unigbrk/u16-grapheme-prev.c: Update name.
* lib/unigbrk/u32-grapheme-breaks.c: Update name.
* lib/unigbrk/u32-grapheme-next.c: Update name.
* lib/unigbrk/u32-grapheme-prev.c: Update name.
* lib/unigbrk/u8-grapheme-breaks.c: Update name.
* lib/unigbrk/u8-grapheme-next.c: Update name.
* lib/unigbrk/u8-grapheme-prev.c: Update name.
* lib/unigbrk/uc-is-grapheme-break.c: Update name.
* tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
Suggested by Bruno Haible.
Ben Pfaff [Sat, 1 Jan 2011 23:11:53 +0000 (15:11 -0800)]
Remove u#-grapheme-len modules as too redundant with u#-grapheme-next.
Remove module 'u8-grapheme-len' as too redundant with
'u8-grapheme-next'.
* modules/unigbrk/u8-grapheme-len: Delete file.
* modules/unigbrk/u8-grapheme-len-tests: Delete file.
* lib/unigbrk.in.h: Remove prototype for deleted function.
* lib/unigbrk/u8-grapheme-len.c: Delete file.
* tests/unigbrk/test-u8-grapheme-len.c: Delete file.
Remove module 'u16-grapheme-len' as too redundant with
'u16-grapheme-next'.
* modules/unigbrk/u16-grapheme-len: Delete file.
* modules/unigbrk/u16-grapheme-len-tests: Delete file.
* lib/unigbrk.in.h: Remove prototype for deleted function.
* lib/unigbrk/u16-grapheme-len.c: Delete file.
* tests/unigbrk/test-u16-grapheme-len.c: Delete file.
Remove module 'u32-grapheme-len' as too redundant with
'u32-grapheme-next'.
* modules/unigbrk/u32-grapheme-len: Delete file.
* modules/unigbrk/u32-grapheme-len-tests: Delete file.
* lib/unigbrk.in.h: Remove prototype for deleted function.
* lib/unigbrk/u32-grapheme-len.c: Delete file.
* tests/unigbrk/test-u32-grapheme-len.c: Delete file.
Suggested by Bruno Haible.
Ben Pfaff [Sat, 1 Jan 2011 23:17:10 +0000 (15:17 -0800)]
unigbrk.in.h: Fix typo: "ben" => "been".
Reported by Bruno Haible.
Jim Meyering [Sat, 1 Jan 2011 19:17:23 +0000 (20:17 +0100)]
maint: update almost all copyright ranges to include 2011
Run the new "make update-copyright" rule.
Jim Meyering [Sat, 1 Jan 2011 21:09:12 +0000 (22:09 +0100)]
maint: update-copyright: exempt doc/INSTALL*
* Makefile (update-copyright): Also exclude doc/INSTALL*,
since they are generated. Suggested by Bruno Haible.
Jim Meyering [Sat, 1 Jan 2011 19:13:03 +0000 (20:13 +0100)]
maint: refine the update-copyright rule
* Makefile (update-copyright): Also exclude any file that includes
the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
code that merely generates the comment.
Ben Pfaff [Sat, 1 Jan 2011 16:47:34 +0000 (08:47 -0800)]
unigbrk: New modules for grapheme clusters.
New module 'u8-grapheme-len'.
* modules/unigbrk/u8-grapheme-len: New file.
* modules/unigbrk/u8-grapheme-len-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-len.c: New file.
* tests/unigbrk/test-u8-grapheme-len.c: New file.
New module 'u16-grapheme-len'.
* modules/unigbrk/u16-grapheme-len: New file.
* modules/unigbrk/u16-grapheme-len-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-len.c: New file.
* tests/unigbrk/test-u16-grapheme-len.c: New file.
New module 'u32-grapheme-len'.
* modules/unigbrk/u32-grapheme-len: New file.
* modules/unigbrk/u32-grapheme-len-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-len.c: New file.
* tests/unigbrk/test-u32-grapheme-len.c: New file.
New module 'u8-grapheme-next'.
* modules/unigbrk/u8-grapheme-next: New file.
* modules/unigbrk/u8-grapheme-next-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-next.c: New file.
* tests/unigbrk/test-u8-grapheme-next.c: New file.
New module 'u16-grapheme-next'.
* modules/unigbrk/u16-grapheme-next: New file.
* modules/unigbrk/u16-grapheme-next-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-next.c: New file.
* tests/unigbrk/test-u16-grapheme-next.c: New file.
New module 'u32-grapheme-next'.
* modules/unigbrk/u32-grapheme-next: New file.
* modules/unigbrk/u32-grapheme-next-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-next.c: New file.
* tests/unigbrk/test-u32-grapheme-next.c: New file.
New module 'u8-grapheme-prev'.
* modules/unigbrk/u8-grapheme-prev: New file.
* modules/unigbrk/u8-grapheme-prev-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-prev.c: New file.
* tests/unigbrk/test-u8-grapheme-prev.c: New file.
New module 'u16-grapheme-prev'.
* modules/unigbrk/u16-grapheme-prev: New file.
* modules/unigbrk/u16-grapheme-prev-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-prev.c: New file.
* tests/unigbrk/test-u16-grapheme-prev.c: New file.
New module 'u32-grapheme-prev'.
* modules/unigbrk/u32-grapheme-prev: New file.
* modules/unigbrk/u32-grapheme-prev-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-prev.c: New file.
* tests/unigbrk/test-u32-grapheme-prev.c: New file.
New module 'u8-grapheme-breaks'.
* modules/unigbrk/u8-grapheme-breaks: New file.
* modules/unigbrk/u8-grapheme-breaks-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-breaks.c: New file.
* tests/unigbrk/test-u8-grapheme-breaks.c: New file.
New module 'u16-grapheme-breaks'.
* modules/unigbrk/u16-grapheme-breaks: New file.
* modules/unigbrk/u16-grapheme-breaks-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-breaks.c: New file.
* tests/unigbrk/test-u16-grapheme-breaks.c: New file.
New module 'u32-grapheme-breaks'.
* modules/unigbrk/u32-grapheme-breaks: New file.
* modules/unigbrk/u32-grapheme-breaks-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-breaks.c: New file.
* tests/unigbrk/test-u32-grapheme-breaks.c: New file.
New module 'ulc-grapheme-breaks'.
* modules/unigbrk/ulc-grapheme-breaks: New file.
* modules/unigbrk/ulc-grapheme-breaks-tests: New file.
* m4/locale-ar.m4: New file.
* lib/unigbrk/ulc-grapheme-breaks.c: New file.
* tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
* tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
Ben Pfaff [Sat, 1 Jan 2011 16:25:31 +0000 (08:25 -0800)]
unigbrk: Fix uc_graphemeclusterbreak_property(), add comprehensive test.
gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
* lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c. I had
modified how this file was generated before I initially submitted
the module, but failed to regenerate it. This meant that several
of the level2 entries were wrong.
* lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
Remove the division-by-2 that is folded into the table now that
gbrkprop.h has been regenerated properly. Now -1 entries are
handled correctly.
New module 'unigbrk/uc-gbrk-prop-tests'.
* modules/unigbrk/uc-gbrk-prop-tests: New file.
* lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
* tests/unigbrk/test-uc-gbrk-prop.c: New file.
* tests/unigbrk/test-uc-gbrk-prop.h: New file.
Bruno Haible [Sat, 1 Jan 2011 11:53:47 +0000 (12:53 +0100)]
Avoid use of hexadecimal escapes.
* tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
instead of hexadecimal escapes.
Jim Meyering [Sat, 1 Jan 2011 11:10:16 +0000 (12:10 +0100)]
maint: new rule to update copyright year ranges
* Makefile (update-copyright): New rule.
Jim Meyering [Sat, 1 Jan 2011 10:47:35 +0000 (11:47 +0100)]
maint: indent with TABs in Makefile
* Makefile: Expand leading sequences of spaces to TABs
Jim Meyering [Sat, 1 Jan 2011 10:08:18 +0000 (11:08 +0100)]
version-etc: update the copyright year it reports
* lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
Bruno Haible [Sat, 1 Jan 2011 02:54:48 +0000 (03:54 +0100)]
isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
* lib/isfinite.c (zerof, zerod, zerol): New variables.
(gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
zero.
Bruno Haible [Sat, 1 Jan 2011 01:25:00 +0000 (02:25 +0100)]
pwrite: Work around HP-UX 11.11 bug.
* m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
works and set REPLACE_PWRITE if not.
* lib/pwrite.c (pwrite): Add an implementation that uses the system
function.
* doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
Bruno Haible [Sat, 1 Jan 2011 00:50:01 +0000 (01:50 +0100)]
pread: Work around HP-UX 11 bugs.
* m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
and set REPLACE_PREAD if not.
* doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
Eric Blake [Fri, 31 Dec 2010 18:42:21 +0000 (11:42 -0700)]
nl_langinfo: fix YESEXPR on Irix 6.5
* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
* lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
* doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
it.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Fri, 31 Dec 2010 22:05:03 +0000 (23:05 +0100)]
iconv: Document HP-UX 11 bug.
* doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
Bruno Haible [Fri, 31 Dec 2010 18:24:13 +0000 (19:24 +0100)]
ldexpl: Fix link error on HP-UX 11.
* m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
LDEXPL_LIBM, using $ISNANL_LIBM.
Eric Blake [Fri, 31 Dec 2010 18:12:55 +0000 (11:12 -0700)]
ftello: avoid compilation failure with SunStudio c89
* lib/ftello.c (ftello): Use lseek, not llseek.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Fri, 31 Dec 2010 16:44:58 +0000 (09:44 -0700)]
tests: avoid failing coreutils tests on cygwin
* tests/init.sh (find_exe_basenames_): Exempt [.exe.
(create_exe_shims_): Return 0 when skipping.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Fri, 31 Dec 2010 14:48:04 +0000 (15:48 +0100)]
sys_select: Avoid warning about missing memset declaration on HP-UX 11.
* lib/sys_select.in.h: On HP-UX, include also <string.h>.
Bruno Haible [Fri, 31 Dec 2010 14:38:30 +0000 (15:38 +0100)]
waitpid: Fix link error in C++ mode.
* lib/sys_wait.in.h: Remove extern "C" { ... } group.
Bruno Haible [Fri, 31 Dec 2010 14:03:46 +0000 (15:03 +0100)]
isnan: Use GCC built-ins when possible.
* lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
__builtin_isnan.
(gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
(isnan): Define using GCC built-ins for GCC >= 4.0.
Bruno Haible [Fri, 31 Dec 2010 13:55:09 +0000 (14:55 +0100)]
isnand: Fix mistake.
* m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
__builtin_isnand.
Bruno Haible [Fri, 31 Dec 2010 13:17:55 +0000 (14:17 +0100)]
open: Avoid C++ error on HP-UX 11.
* lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
Bruno Haible [Fri, 31 Dec 2010 13:01:33 +0000 (14:01 +0100)]
time_r: Add missing declarations on HP-UX 11.
* lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
instead of HAVE_LOCALTIME_R.
* m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
HAVE_LOCALTIME_R always.
* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
* modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
HAVE_LOCALTIME_R.
* doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
* doc/posix-functions/localtime_r.texi: Likewise.
Eric Blake [Wed, 29 Dec 2010 22:53:15 +0000 (15:53 -0700)]
mountlist: tweak previous commit
* lib/mountlist.c (me_remote): Guarantee trailing backslash.
Reported by Paul Eggert.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Tue, 28 Dec 2010 17:07:58 +0000 (10:07 -0700)]
mountlist: fix local drive detection on cygwin
* lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
that works for cygwin.
Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert [Wed, 29 Dec 2010 09:25:46 +0000 (01:25 -0800)]
ftoastr, snprintf: ftoastr + snprintf module
* lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
since the snprintf module now should be good enough here.
* modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
and gl_MODULE_INDICATOR([snprintf]), but the former enables
GNULIB_SNPRINTF only for the test directory, and the latter
doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
seems to suffice by itself.
Paul Eggert [Wed, 29 Dec 2010 04:41:30 +0000 (20:41 -0800)]
alloca: one step towards thread-safety
* lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
need for a static variable. All callers changed. This does not
make the alloca replacement thread-safe, but it's one step.
Paul Eggert [Tue, 28 Dec 2010 23:58:31 +0000 (15:58 -0800)]
tests: minor indenting change
* tests/init.sh: Sync from coreutils housekeeping patch
<http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
to keep lines within 80 columns.
Jim Meyering [Tue, 28 Dec 2010 14:12:47 +0000 (15:12 +0100)]
regex: don't infloop on persistent failing calloc
* lib/regexec.c (build_trtable): Return failure indication upon
calloc failure. Otherwise, re_search_internal could infloop on OOM.
In glibc, this was fixed for version 2.13:
http://sourceware.org/bugzilla/show_bug.cgi?id=12348
Bruno Haible [Tue, 28 Dec 2010 11:18:54 +0000 (12:18 +0100)]
linkat: Make implementation robust against system behaviour variations.
* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
way, and to -2 if it needs a generic runtime test.
* lib/linkat.c (solaris_optimized_link_immediate,
solaris_optimized_link_follow): New functions.
* tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
(check_same_link): Use it.
Ben Pfaff [Tue, 28 Dec 2010 05:05:16 +0000 (21:05 -0800)]
New modules for grapheme cluster breaking.
New module 'unigbrk/base'.
* modules/unigbrk/base: New file.
* lib/unigbrk.in.h: New file.
New module 'unigbrk/uc-gbrk-prop'.
* lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
* modules/unigbrk/uc-gbrk-prop: New file.
* lib/unigbrk/gbrkprop.h: New file.
* lib/unigbrk/uc-gbrk-prop.c: New file.
New module 'unigbrk/uc-is-grapheme-break'.
* modules/unigbrk/uc-is-grapheme-break: New file.
* modules/unigbrk/uc-is-grapheme-break-tests: New file.
* lib/unigbrk/uc-is-grapheme-break.c: New file.
* tests/unigbrk/test-uc-is-grapheme-break.c: New file.
* tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
* tests/unigbrk/GraphemeBreakTest.txt: New file.
With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
Bruno Haible [Mon, 27 Dec 2010 19:18:17 +0000 (20:18 +0100)]
linkat test: Avoid failure on Solaris 11 2010-11.
* tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
Paul Eggert [Mon, 27 Dec 2010 19:01:57 +0000 (11:01 -0800)]
utimens: work around glibc rounding bug on more platforms
* lib/utimens.c (fdutimens): Work around rounding bug even if
HAVE_WORKING_UTIMES. Reported for Linux 2.4.21 by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
Bruno Haible [Mon, 27 Dec 2010 17:53:31 +0000 (18:53 +0100)]
select tests: Improve comments.
* tests/test-select.c (do_select): Add comments.
Bruno Haible [Mon, 27 Dec 2010 17:52:47 +0000 (18:52 +0100)]
select tests: Safer way of handling timeout.
* tests/test-select.c (do_select_nowait): Zero-initialize the timeout
at every invocation.
Bruno Haible [Mon, 27 Dec 2010 17:51:56 +0000 (18:51 +0100)]
select tests: Use 'bool' where appropriate.
* tests/test-select.c (connect_to_socket): Change argument type to
'bool'.
Bruno Haible [Mon, 27 Dec 2010 17:51:03 +0000 (18:51 +0100)]
select tests: Use existing modules.
* modules/select-tests (Depends-on): Add pipe-posix, unistd.
(configure.ac): Don't test for unistd.h.
* tests/test-select.c: Include <unistd.h> always. Use pipe() as
declared in <unistd.h>.
Bruno Haible [Mon, 27 Dec 2010 13:28:11 +0000 (14:28 +0100)]
mbrtowc: Work around a Solaris 7 bug.
* m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
(gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
(gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
MBRTOWC_NULL_ARG1_BUG.
* lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
* tests/test-mbrtowc.c (main): Test support of a NULL first argument.
* doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
Jim Meyering [Mon, 27 Dec 2010 10:05:00 +0000 (11:05 +0100)]
read-file.c: tweak syntax
* lib/read-file.c (fread_file): Remove space after "*" in function
definitions.
Bruno Haible [Mon, 27 Dec 2010 10:04:43 +0000 (11:04 +0100)]
times test: Avoid gcc warnings on OSF/1.
* tests/test-times.c (main): Cast printf arguments from clock_t to
'long int'.
Paul Eggert [Mon, 27 Dec 2010 08:21:02 +0000 (00:21 -0800)]
utimens: work around glibc rounding bug on older Linux kernels
* lib/utimens.c (fdutimens): If invoking futimesat or futimes
on Linux with a glibc whose utimes might not work, then work
around a longstanding glibc bug involving rounding rather than
truncated time stamps. Reported for Linux 2.4.21 by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
Bruno Haible [Mon, 27 Dec 2010 00:27:33 +0000 (01:27 +0100)]
inet_ntop: Hide mismatch of declaration on NonStop Kernel.
* lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
_GL_CXXALIAS_SYS.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Mon, 27 Dec 2010 00:22:00 +0000 (01:22 +0100)]
inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
* lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
* m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
looking for the declaration.
* m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
* doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
problem.
* doc/posix-functions/inet_pton.texi: Likewise.
Bruno Haible [Sun, 26 Dec 2010 22:56:33 +0000 (23:56 +0100)]
arpa_inet: Use the common idioms with C++ support.
* lib/arpa_inet.in.h: Include c++defs.h.
(inet_ntop, inet_pton): Declare using the macros with C++ namespace
support.
* modules/arpa_inet (Depends-on): Add c++defs.
(Makefile.am): Substitute the contents of c++defs.h.
* modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
* modules/arpa_inet-c++-tests: New file.
* tests/test-arpa_inet-c++.cc: New file.
Bruno Haible [Sat, 25 Dec 2010 18:44:39 +0000 (19:44 +0100)]
Fix more C++ link errors on Solaris 8.
* modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
$(LIB_EACCESS).
* modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
* modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
* modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
* modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
* modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
Bruno Haible [Sun, 26 Dec 2010 02:45:21 +0000 (03:45 +0100)]
printf-posix: Fix link error when a non-GCC compiler is used.
* lib/stdio.in.h (printf): When not using GCC, override printf
correctly.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Sun, 26 Dec 2010 01:02:44 +0000 (02:02 +0100)]
strerror_r-posix: Update doc.
* doc/posix-functions/strerror_r.texi: Update doc about the return
value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
Paul Eggert [Sat, 25 Dec 2010 22:08:38 +0000 (14:08 -0800)]
utimens: simplify the logic of the previous change
* m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
This should not affect whether the test succeeds or fails.
Paul Eggert [Sat, 25 Dec 2010 21:49:15 +0000 (13:49 -0800)]
utimens: configure better on hosts with NFS clock skew
* m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
uses the clock of the local host. It might use the clock of the
NFS server. Reported for Linux 2.4.21 client by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
Bruno Haible [Sat, 25 Dec 2010 18:18:27 +0000 (19:18 +0100)]
ptsname test: Avoid failure on Solaris.
* tests/test-ptsname.c (main): For Solaris, use the recommended way to
open a pseudo-terminal; don't use BSD-style ptys.
* doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
Bruno Haible [Sat, 25 Dec 2010 16:58:02 +0000 (17:58 +0100)]
ptsname: Avoid ERANGE failure on some systems.
* lib/ptsname.c (buffer): Increase size.
Bruno Haible [Sat, 25 Dec 2010 16:17:36 +0000 (17:17 +0100)]
rename, renameat: Avoid test failures at NFS mounted locations.
* tests/test-rename.h (assert_nonexistent): Remove the old directory,
so that subsequent mkdir calls succeed.
Bruno Haible [Sat, 25 Dec 2010 15:54:32 +0000 (16:54 +0100)]
iswblank: Fix C++ link error on Solaris 8.
* lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
_GL_FUNCDECL_SYS.
Bruno Haible [Sat, 25 Dec 2010 15:45:53 +0000 (16:45 +0100)]
unistd: Fix C++ link error on Solaris 8.
* modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
Bruno Haible [Sat, 25 Dec 2010 14:01:15 +0000 (15:01 +0100)]
readlink doc: Mention an old glibc bug.
* doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
Bruno Haible [Sat, 25 Dec 2010 13:43:05 +0000 (14:43 +0100)]
fcntl-h: Fix for use of C++ on glibc systems.
* lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
also on glibc systems in C++ mode.
Reported by Gary V. Vaughan <gary@gnu.org>.
Bruno Haible [Sat, 25 Dec 2010 11:57:46 +0000 (12:57 +0100)]
roundl-ieee: Make it work on OSF/1 5.1 with cc.
* modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
Bruno Haible [Sat, 25 Dec 2010 11:06:28 +0000 (12:06 +0100)]
truncl-ieee: Make it work on OSF/1 5.1 with cc.
* doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
* m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
test whether truncl works according to ISO C 99 with IEC 60559.
* m4/truncl-ieee.m4: New file.
* modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
m4/signbit.m4.
(configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
Bruno Haible [Sat, 25 Dec 2010 11:03:18 +0000 (12:03 +0100)]
ceill-ieee: Make it work on OSF/1 5.1 with cc.
* doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
* m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
test whether ceill works according to ISO C 99 with IEC 60559.
* m4/ceill-ieee.m4: New file.
* modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
m4/signbit.m4.
(configure.ac): Invoke gl_FUNC_CEILL_IEEE.
Bruno Haible [Sat, 25 Dec 2010 10:26:23 +0000 (11:26 +0100)]
Ensure all prerequisites of <wchar.h> are included.
* m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
before <wchar.h>.
* m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
gl_MBRLEN_NUL_RETVAL): Likewise.
* m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
AC_FUNC_MBRTOWC): Likewise.
* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
* m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
* m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
Likewise.
* m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
* m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
(gl_WCHAR_H): Improve comments.
* m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
Bruno Haible [Sat, 25 Dec 2010 09:46:40 +0000 (10:46 +0100)]
strtok_r: Fix C syntax error in autoconf macro.
* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
characters in test program.
Bruno Haible [Sat, 25 Dec 2010 01:58:27 +0000 (02:58 +0100)]
ceil, trunc, round: Fix gcc warnings.
* lib/ceil.c (MIN): Undefine before redefining.
* lib/trunc.c (MIN): Likewise.
* lib/round.c (MIN): Likewise.
Include <math.h> first.
Karl Berry [Sat, 25 Dec 2010 01:21:32 +0000 (17:21 -0800)]
update from texinfo
Bruno Haible [Sat, 25 Dec 2010 00:26:18 +0000 (01:26 +0100)]
select tests: Avoid failures on OSF/1 5.1.
* tests/test-select.c (test_accept_first, test_socket_pair): Ignore
failure of closing the last socket; it may fail with ECONNRESET.
Eric Blake [Fri, 24 Dec 2010 20:39:50 +0000 (13:39 -0700)]
stdint: avoid HP-UX 10.20 preprocessor bug
* lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
than #if.
* tests/test-floor2.c (main): Likewise.
Reported by Peter O'Gorman.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Fri, 24 Dec 2010 20:27:09 +0000 (13:27 -0700)]
pipe: make obsoletion transition easier
* lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
* modules/pipe (Files): Include revived file.
(Include): Drop reference, to mirror getdate's behavior.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Fri, 24 Dec 2010 16:16:29 +0000 (17:16 +0100)]
sys_socket: Hide mismatch of declarations on NonStop Kernel.
* lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
_GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Fri, 24 Dec 2010 15:39:10 +0000 (16:39 +0100)]
gethostname: Ensure declaration on NonStop Kernel.
* lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Fri, 24 Dec 2010 15:27:04 +0000 (16:27 +0100)]
sys_select: Ensure all necessary types on NonStop Kernel.
* lib/sys_select.in.h: If the system does not have <sys/select.h>,
include <sys/time.h>.
* doc/posix-headers/sys_select.texi: Mention that it's missing on
NonStop Kernel.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Fri, 24 Dec 2010 15:21:59 +0000 (16:21 +0100)]
sys_select: Remove unneeded include.
* lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
have <sys/select.h>.
Bruno Haible [Fri, 24 Dec 2010 12:54:16 +0000 (13:54 +0100)]
gethostname: Provide a fallback for HOST_NAME_MAX.
* m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
nor MAXHOSTNAMELEN is found in the usual system headers, use 256
instead.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Fri, 24 Dec 2010 10:07:35 +0000 (11:07 +0100)]
sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
* tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
(SA_RESTART): Likewise.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Fri, 24 Dec 2010 10:03:44 +0000 (11:03 +0100)]
signal: Define NSIG.
* lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
* tests/test-signal.c (nsig): New variable.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Fri, 24 Dec 2010 09:20:00 +0000 (10:20 +0100)]
rename, renameat: Avoid test failures on OSF/1 5.1.
* tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
alternative error codes.
* tests/test-renameat.c (main): Likewise.
Bruno Haible [Fri, 24 Dec 2010 09:13:43 +0000 (10:13 +0100)]
*printf: Detect large precisions bug on Solaris 10/SPARC.
* m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
by Paul Eggert.
* tests/test-snprintf-posix.h (test_function): Add this test code here
too.
* tests/test-sprintf-posix.h (test_function): Likewise.
* tests/test-vasnprintf-posix.c (test_function): Likewise.
* tests/test-vasprintf-posix.c (test_function): Likewise.
* doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
around by gnulib.
* doc/posix-functions/printf.texi: Likewise.
* doc/posix-functions/snprintf.texi: Likewise.
* doc/posix-functions/sprintf.texi: Likewise.
* doc/posix-functions/vfprintf.texi: Likewise.
* doc/posix-functions/vprintf.texi: Likewise.
* doc/posix-functions/vsnprintf.texi: Likewise.
* doc/posix-functions/vsprintf.texi: Likewise.
* doc/posix-functions/dprintf.texi: Undo last commit.
* doc/posix-functions/vdprintf.texi: Likewise.
Paul Eggert [Fri, 24 Dec 2010 08:06:16 +0000 (00:06 -0800)]
tests: port test-fdutimensat.c to Solaris 8
* tests/test-fdutimensat.c (do_fdutimens): Don't assume
fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
On Solaris 8, it fails with errno == ENOSYS, because there is no
futimens (so it can't use the fd), and there is no lutimens (so it
can't implement AT_SYMLINK_NOFOLLOW on symlinks).
Paul Eggert [Fri, 24 Dec 2010 07:32:55 +0000 (23:32 -0800)]
vsnprintf: make more consistent with snprintf; doc fixes
* doc/posix-functions/snprintf.texi (snprintf): The workaround for
the byte count return problem was promoted from the snprintf-posix
to the snprintf module.
* doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
* m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
* tests/test-snprintf.c (main): Check the byte count returned.
* tests/test-vsnprintf.c (main): Likewise.
Eric Blake [Thu, 23 Dec 2010 16:11:10 +0000 (09:11 -0700)]
sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
* modules/sigpipe (License): Relax license.
Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert [Wed, 22 Dec 2010 23:13:59 +0000 (15:13 -0800)]
doc: document Solaris printf bug with large float precisions
* doc/posix-functions/dprintf.texi (dprintf):
* doc/posix-functions/fprintf.texi (fprintf):
* doc/posix-functions/printf.texi (printf):
* doc/posix-functions/snprintf.texi (snprintf):
* doc/posix-functions/sprintf.texi (sprintf):
* doc/posix-functions/vdprintf.texi (vdprintf):
* doc/posix-functions/vfprintf.texi (vfprintf):
* doc/posix-functions/vprintf.texi (vprintf):
* doc/posix-functions/vsnprintf.texi (vsnprintf):
* doc/posix-functions/vsprintf.texi (vsprintf):
Mention that these functions mishandle large floating point
precisions on Solaris 10. The same bug is also present in Solaris
8, and I assume earlier. This causes "cd gnulib-tests; make
check" to fail on Solaris 8 (and I assume, later) when building
the latest coreutils, in test-vasprintf-posix's call to
my_asprintf (&result, "%.4000f %d", 1.0, 99). I have not checked
the wide flavors (e.g., wprintf) so this patch just updates the
documentation for the narrow ones.
Paul Eggert [Wed, 22 Dec 2010 20:27:46 +0000 (12:27 -0800)]
test-posixtm.c: add two tests
* tests/test-posixtm.c: Add two tests, to highlight the
bug in Solaris 10 (and earlier) localtime. Gnulib doesn't work
around this bug; this is merely to document it.
Bruno Haible [Wed, 22 Dec 2010 18:25:34 +0000 (19:25 +0100)]
getlogin_r: Work around portability problem on OSF/1.
* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
* lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
* lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
test for a truncated result.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
* modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
* modules/getlogin_r (Depends-on): Add memchr.
* doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
Bruno Haible [Wed, 22 Dec 2010 16:53:09 +0000 (17:53 +0100)]
ptsname: Avoid test failure on OSF/1 5.1.
* modules/ptsname-tests (Depends-on): Add 'same-inode'.
* tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
(same_slave): New function.
(main): Use it to compare ptsname's result with the expected file name.
Bruno Haible [Wed, 22 Dec 2010 16:37:34 +0000 (17:37 +0100)]
Port extended stdio modules to HP NonStop Kernel.
* lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
macros.
* lib/fbufmode.c: Update comments.
* lib/fflush.c: Likewise.
* lib/fpurge.c: Likewise.
* lib/freadable.c: Likewise.
* lib/freadahead.c: Likewise.
* lib/freading.c: Likewise.
* lib/freadptr.c: Likewise.
* lib/freadseek.c: Likewise.
* lib/fseeko.c: Likewise.
* lib/fseterr.c: Likewise.
* lib/fwritable.c: Likewise.
* lib/fwriting.c: Likewise.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Wed, 22 Dec 2010 16:09:26 +0000 (17:09 +0100)]
ttyname_r: Work around bug on OSF/1 5.1.
* doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
instead of "guessing no" when the OSF/1 bug or the Solaris bug is
present.
* lib/ttyname_r.c (ttyname_r): Update comments.
Bruno Haible [Wed, 22 Dec 2010 15:15:31 +0000 (16:15 +0100)]
Oops, fix last ChangeLog entry.
Bruno Haible [Wed, 22 Dec 2010 15:10:58 +0000 (16:10 +0100)]
round: Implement result sign according to IEEE 754.
* lib/round.c (MIN, MINUS_ZERO): New macros.
(FUNC): Return -0.0 for -0.5 < x < 0.
* tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
* tests/test-round-ieee.c (main): Likewise.
* tests/test-roundl-ieee.c (main): Likewise.