gnulib.git
12 years agomaint: reduce list of files exempt from sc_prohibit_leading_TABs
Jim Meyering [Thu, 7 Jul 2011 11:45:25 +0000 (13:45 +0200)]
maint: reduce list of files exempt from sc_prohibit_leading_TABs

* Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
now that it no longer contains leading TABs.
Remove unused "url=FIXME" statement.

12 years agopthread_sigmask: Assume POSIX when not gl_THREADLIB.
Paul Eggert [Fri, 8 Jul 2011 17:49:07 +0000 (10:49 -0700)]
pthread_sigmask: Assume POSIX when not gl_THREADLIB.

* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
When gl_THREADLIB is not in use, assume that the POSIX sematics
are desired.  This is better for Emacs, which uses POSIX semantics
on GNUish and/or POSIXish platforms, and does not use threads at
all otherwise.

12 years agopthread_sigmask: fix typo when testing for libraries
Paul Eggert [Fri, 8 Jul 2011 17:45:41 +0000 (10:45 -0700)]
pthread_sigmask: fix typo when testing for libraries

* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
AC_LINK_IFELSE, not AC_COMPILE_IFELSE.

12 years agofts: introduce FTS_NOATIME
Eric Blake [Thu, 7 Jul 2011 17:37:37 +0000 (11:37 -0600)]
fts: introduce FTS_NOATIME

This gives clients the option to try a non-invasive traversal,
where merely visiting a directory does not update its timestamp,
where such is supported by the kernel.

Note that this is best-effort.  FTS_NOATIME is silently ignored
on systems that lack O_NOATIME support - it is up to the caller
to decide whether to issue an error when the gnulib replacement
<fcntl.h> defined O_NOATIME to 0, and/or detect older Linux
kernels where O_NOATIME is defined to non-zero but has no effect.

Note that whiteout support and O_NOATIME support are currently
orthogonal: there is no way to get O_NOATIME behavior when using
__opendir2 to visit whiteouts on BSD systems.  So far, I don't
know of any system with both __opendir2 and O_NOATIME; if such
a system exists, then fts_build() needs a tweak (then again,
such a system would probably add DTF_NOATIME for __opendir2).

* lib/fts_.h (FTS_NOATIME): New bit flag.
(FTS_OPTIONMASK): Adjust.
* lib/fts.c (diropen, fts_open, fts_build): Honor it.
(fd_ring_check): Debug code unconditionally uses O_NOATIME.
Needed for findutils bug http://savannah.gnu.org/bugs/?33724

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoTests for module 'thread'.
Bruno Haible [Fri, 8 Jul 2011 11:28:54 +0000 (13:28 +0200)]
Tests for module 'thread'.

* modules/thread-tests: New file.
* tests/test-thread_self.c: New file.
* tests/test-thread_create.cc: New file.

12 years agothread: Avoid gcc warnings when using gl_thread_self().
Bruno Haible [Fri, 8 Jul 2011 11:25:16 +0000 (13:25 +0200)]
thread: Avoid gcc warnings when using gl_thread_self().

* lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
'void *'.
(gl_thread_self_pointer): Update.

12 years agosignal-c++-tests: Check declaration of pthread_sigmask.
Bruno Haible [Fri, 8 Jul 2011 02:13:53 +0000 (04:13 +0200)]
signal-c++-tests: Check declaration of pthread_sigmask.

* tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
* modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
$(LIB_PTHREAD_SIGMASK).

12 years agopthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
Bruno Haible [Fri, 8 Jul 2011 02:05:45 +0000 (04:05 +0200)]
pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.

* lib/signal.in.h (pthread_sigmask): Override if
REPLACE_PTHREAD_SIGMASK is 1.
* m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
REPLACE_PTHREAD_SIGMASK.
* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
* modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
* modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
(Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).

12 years agopthread_sigmask: Ensure declaration in <signal.h> also on Solaris 2.6.
Bruno Haible [Fri, 8 Jul 2011 01:38:33 +0000 (03:38 +0200)]
pthread_sigmask: Ensure declaration in <signal.h> also on Solaris 2.6.

12 years agopthread_sigmask: Ensure declaration in <signal.h>.
Bruno Haible [Fri, 8 Jul 2011 00:24:27 +0000 (02:24 +0200)]
pthread_sigmask: Ensure declaration in <signal.h>.

* lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, include
<pthread.h>.
* doc/posix-functions/pthread_sigmask.texi: Mention the header file
problem.

12 years agopthread_sigmask: Document the module.
Bruno Haible [Fri, 8 Jul 2011 00:18:06 +0000 (02:18 +0200)]
pthread_sigmask: Document the module.

* doc/posix-functions/pthread_sigmask.texi: Mention the new module.

12 years agopthread_sigmask: Follow gnulib conventions.
Bruno Haible [Fri, 8 Jul 2011 00:11:26 +0000 (02:11 +0200)]
pthread_sigmask: Follow gnulib conventions.

* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
gl_PTHREAD_SIGMASK.
* modules/pthread_sigmask (configure.ac): Update.

12 years agopthread_sigmask: Make declaration C++ safe.
Bruno Haible [Fri, 8 Jul 2011 00:08:15 +0000 (02:08 +0200)]
pthread_sigmask: Make declaration C++ safe.

* lib/signal.in.h: In two special conditions, just do an #include_next.
(pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
* m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
* m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
not REPLACE_PTHREAD_MASK.
* modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
not REPLACE_PTHREAD_MASK.
* modules/pthread_sigmask (Depends-on, configure.ac): Update condition.

12 years agopthread_sigmask: Fix return value.
Bruno Haible [Thu, 7 Jul 2011 23:51:49 +0000 (01:51 +0200)]
pthread_sigmask: Fix return value.

* lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
* lib/pthread_sigmask.c: New file.
* modules/pthread_sigmask (Files): Add it.
(configure.ac): Invoke AC_LIBOBJ.

12 years agogetopt: more portable argv creation
Eric Blake [Thu, 7 Jul 2011 22:10:30 +0000 (16:10 -0600)]
getopt: more portable argv creation

* m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
const, use char arrays rather than strings.
Suggested by Paul Eggert.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoTests for module 'sigprocmask'.
Bruno Haible [Thu, 7 Jul 2011 17:52:19 +0000 (19:52 +0200)]
Tests for module 'sigprocmask'.

* modules/sigprocmask-tests: New file.
* tests/test-sigprocmask.c: New file.

12 years agofloat tests: Tweak.
Bruno Haible [Thu, 7 Jul 2011 17:50:35 +0000 (19:50 +0200)]
float tests: Tweak.

* tests/test-float.c (main): Tweak skip message.

12 years agogetopt: avoid compiler warning during configure
Eric Blake [Thu, 7 Jul 2011 17:02:23 +0000 (11:02 -0600)]
getopt: avoid compiler warning during configure

Some compilers (or warning settings within a compiler) rightfully
complain about assigning a string literal to a char *, since this
can lead to undefined behavior if those characters are modified.
Use the same casts as in the test file to avoid a spurious rejection
of a system getopt merely because of warnings.

* m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
assigning string literals to non-const pointer.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agogetopt-gnu: avoid crash in glibc getopt
Eric Blake [Thu, 7 Jul 2011 16:24:20 +0000 (10:24 -0600)]
getopt-gnu: avoid crash in glibc getopt

Use of "W;" in an option string may be rare, but we might as well
avoid crashing on it.

* m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
* tests/test-getopt.h (test_getopt): Enhance test.
* tests/test-getopt_long.h (test_getopt_long): Likewise.
* doc/posix-functions/getopt.texi (getopt): Document it.
* doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agogetopt: handle W; without long options in getopt
Eric Blake [Thu, 7 Jul 2011 14:54:11 +0000 (08:54 -0600)]
getopt: handle W; without long options in getopt

This reverts commit cbf381169705782b144b2733798a62c11aa473a5, in
favor of the upstream glibc fix (commit 01636b214) plus a C89 fix.

[BZ #12922]
* lib/getopt.c (_getopt_internal_r): When "W;" is in short options
but no long options are defined, just return 'W'.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoAvoid literal tabs.
Bruno Haible [Thu, 7 Jul 2011 11:14:37 +0000 (13:14 +0200)]
Avoid literal tabs.

* m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
variable containing a tab instead of a literal tab.
Reported by Jim Meyering.

12 years agoComments.
Bruno Haible [Thu, 7 Jul 2011 11:01:34 +0000 (13:01 +0200)]
Comments.

* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.

12 years agosys_select: Fix compilation error on mingw, introduced on 2011-06-30.
Bruno Haible [Thu, 7 Jul 2011 01:34:18 +0000 (03:34 +0200)]
sys_select: Fix compilation error on mingw, introduced on 2011-06-30.

* lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
<winsock2.h>.
(rpl_fd_isset, FD_ISSET): New definitions, copied from
lib/sys_socket.in.h.
(close, gethostname): Hide declarations from <winsock2.h>.
(socket, connect, accept, bind, getpeername, getsockname, getsockopt,
listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
* lib/sys_socket.in.h (close, gethostname): Tweak indentation.
(select): Don't override if gnulib's <sys/select.h> was already
included.
* lib/unistd.in.h (socket, connect, accept, bind, getpeername,
getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
setsockopt, shutdown, select): Tweak indentation.

12 years ago* modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
Paul Eggert [Wed, 6 Jul 2011 17:48:21 +0000 (10:48 -0700)]
* modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR

and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
in an application that does not use the sys_select module.

12 years agopoll: do not return 0 on timeout=-1
Erik Faye-Lund [Wed, 6 Jul 2011 10:10:51 +0000 (12:10 +0200)]
poll: do not return 0 on timeout=-1

* lib/poll.c: Loop with yield if no events occured

12 years agopthread_sigmask: always replace when not using pthread
Eric Blake [Wed, 6 Jul 2011 15:30:38 +0000 (09:30 -0600)]
pthread_sigmask: always replace when not using pthread

On mingw, when using win32 threading, the pthread_sigmask replacement
function was not being installed.

* m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
replacement when using some threading other than pthread.  Fix
logic bug.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoComments.
Bruno Haible [Wed, 6 Jul 2011 14:59:51 +0000 (16:59 +0200)]
Comments.

* m4/printf.m4: Update comments about mingw.

12 years agosys_select: define sigset_t more portably
Paul Eggert [Wed, 6 Jul 2011 07:42:24 +0000 (00:42 -0700)]
sys_select: define sigset_t more portably

* lib/sys_select.in.h: Always include <sys/types.h>, since
we now need sigset_t and mingw defines it there.
Include <signal.h> before split inclusion guard, to avoid
mishaps on Solaris, whose <signal.h> eventually includes us.
* m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
(gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
which come from ...
* m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
gl_CHECK_TYPE_SIGSET_T.
(gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
does the real work.
* modules/sys_select (Depends-on): Add 'signal'.

12 years ago* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
Paul Eggert [Wed, 6 Jul 2011 07:09:12 +0000 (00:09 -0700)]
* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.

Suggested by Bruno Haible.

12 years agopselect: Use pthread_sigmask, not sigprocmask.
Paul Eggert [Wed, 6 Jul 2011 07:05:40 +0000 (00:05 -0700)]
pselect: Use pthread_sigmask, not sigprocmask.

* lib/pselect.c (pselect): Use pthread_sigmask, as it supports
multithreaded apps better than sigprocmask does.
* modules/pselect (Depends-on): Depend on pthread_sigmask, not
sigprocmask directly.

12 years agomodules/pselect: Add Bruno and Jim to maintainers.
Paul Eggert [Wed, 6 Jul 2011 07:02:53 +0000 (00:02 -0700)]
modules/pselect: Add Bruno and Jim to maintainers.

12 years ago* modules/pselect: Add select, LIBSOCKET.
Paul Eggert [Wed, 6 Jul 2011 07:01:23 +0000 (00:01 -0700)]
* modules/pselect: Add select, LIBSOCKET.

12 years ago* lib/pselect.c (pselect): Use plain name, without "rpl_".
Paul Eggert [Wed, 6 Jul 2011 06:58:08 +0000 (23:58 -0700)]
* lib/pselect.c (pselect): Use plain name, without "rpl_".

Don't #undef,  since we don't need any underlying pselect.
* modules/pselect (Depends-on): Use our pselect.o if !HAVE_PSELECT.
Both changes suggested by Bruno Haible.

12 years agopselect: document better
Paul Eggert [Wed, 6 Jul 2011 06:48:19 +0000 (23:48 -0700)]
pselect: document better

* MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
* doc/posix-functions/pselect.texi (pselect): Document new module.

12 years agopthread_sigmask: new module
Paul Eggert [Wed, 6 Jul 2011 06:44:24 +0000 (23:44 -0700)]
pthread_sigmask: new module

* MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
* doc/posix-functions/pthread_sigmask.texi: Document new module.
* lib/signal.in.h (pthread_sigmask): Arrange for replacement.
This is done only as a macro; I don't know how well that'll
work for C++.  Move <sys/types.h> include before the include_next,
to avoid mishap on Solaris.
* m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
* modules/signal (Makefile.am): Substitute the check's results.
* modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.

12 years agotest-pselect: new module
Paul Eggert [Tue, 5 Jul 2011 21:46:08 +0000 (14:46 -0700)]
test-pselect: new module

* modules/pselect-tests, tests/test-pselect.c: New files.
* tests/test-select.c, tests/test-sys_select-c++.cc:
If TEST_PSELECT is defined, test pselect instead of testing select.

12 years ago* tests/test-sys_select.c (sigset_t): Test for it, too.
Paul Eggert [Tue, 5 Jul 2011 21:42:11 +0000 (14:42 -0700)]
* tests/test-sys_select.c (sigset_t): Test for it, too.

Suggested by Bruno Haible.

12 years agosnprintf: guarantee %1$d, for libintl
Eric Blake [Fri, 1 Jul 2011 14:20:06 +0000 (08:20 -0600)]
snprintf: guarantee %1$d, for libintl

Newer mingw (but not yet mingw64) provides two flavors of
snprintf: _snprintf defers straight to msvcrt, which has broken
return value and does not understand %llu or %zu; and snprintf,
which fixes these two bugs but does not understand %1$s.

Libintl specifically favors _snprintf, with broken return value,
even when compiled on mingw with a fixed snprintf, because the
only behavior which it wants to fix is %1$s handling.  But this
means that the replacement libintl_snprintf has a broken return.

If one uses the 'snprintf-posix' module, then the gnulib
replacement kicks in, and does everything that libintl needs, so
on mingw, <libintl.h> specifically avoids overriding snprintf if
it detected that gnulib replaced snprintf.  However, if one only
uses the 'snprintf' module and also uses libintl, this means
there are two problems:

1. The gnulib 'snprintf' module does not replace the mingw
snprintf function, because it has proper return values, while the
libintl.h header knows that %1$d is broken so snprintf must be
replaced, with the end result that the application gets the
libintl replacement snprintf with broken return values in spite
of the gnulib module.

2. Conversely, if the application did '#define snprintf snprintf',
that would be enough to make libintl avoid installing its own
replacement because libintl would see the define as a sign that
gnulib is happy with snprintf.  However, if gnulib didn't enforce
%1$s, users can end up with translated strings that break when
passed to the native snprintf.

Happily, the gnulib snprintf replacement already guarantees %1$s
without needing any further preprocessor macros defined, and
without dragging in the LGPLv3+ bulk of snprintf-posix, so the
problem boils down to guaranteeing that gnulib will replace
snprintf if it lacks %1$s support.  Basically, gnulib must
replace snprintf under all the same conditions as libintl, as
well as any other conditions of its own, if the libintl trick
of deferring to gnulib is to work correctly.

* m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
* m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
* doc/posix-functions/snprintf.texi (snprintf): Update.
* doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
* tests/test-snprintf.c (main): Enhance test.
* tests/test-vsnprintf.c (main): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agomaint: exempt stdio-read.c and stdio-write.c from the cppi check
Jim Meyering [Tue, 5 Jul 2011 08:32:30 +0000 (10:32 +0200)]
maint: exempt stdio-read.c and stdio-write.c from the cppi check

* Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
per Bruno's request, to accommodate this idiom (no space after "#")
even when the function is inside an #if block:
char *
gets (char *s)
#undef gets
{
  ...
}

12 years agomaint: indent with spaces, not TABs, and add a rule to check this
Jim Meyering [Mon, 4 Jul 2011 10:31:05 +0000 (12:31 +0200)]
maint: indent with spaces, not TABs, and add a rule to check this

* tests/test-userspec.c: Indent with spaces, not TABs.
* tests/test-argp.c: Likewise.
* tests/test-c-stack2.sh: Likewise.
* tests/test-parse-duration.sh: Likewise
* m4/strtod.m4: Likewise.
* m4/alloca.m4: Likewise.
* m4/pselect.m4: Likewise.
* Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.

12 years agomaint.mk: correct omissions in prohibit_argmatch_without_use check
Jim Meyering [Sun, 3 Jul 2011 21:00:15 +0000 (23:00 +0200)]
maint.mk: correct omissions in prohibit_argmatch_without_use check

This rule would mistakenly report that argmatch.h is included without
use even when both the argmatch and invalid_arg macro were used.
* top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
of argmatch and invalid_arg.

12 years agoComments about EINTR.
Bruno Haible [Sun, 3 Jul 2011 11:36:43 +0000 (13:36 +0200)]
Comments about EINTR.

* lib/safe-read.h: Explain the purpose of this module.
* lib/safe-write.h: Likewise.
* doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
module.
* doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
module.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

12 years agoautoupdate
Karl Berry [Fri, 1 Jul 2011 14:29:04 +0000 (07:29 -0700)]
autoupdate

12 years agoxnanosleep: Rewrite to use new dtotimespec module.
Paul Eggert [Thu, 30 Jun 2011 22:23:29 +0000 (15:23 -0700)]
xnanosleep: Rewrite to use new dtotimespec module.

It has the conversion code that used to be in xnanosleep.
* lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
(TIME_T_MAX): Remove.
(xnanosleep): Rewrite in terms of dtotimespec.
* modules/xnanosleep (Depends-on): Add dtotimespec.
Remove intprops, stdbool.

12 years agotimespec-add, timespec-sub: new modules
Paul Eggert [Thu, 30 Jun 2011 22:17:31 +0000 (15:17 -0700)]
timespec-add, timespec-sub: new modules

* lib/timespec.h (timespec_add, timespec_sub): New decls.
* lib/timespec-add.c, lib/timespec-sub.c:
* modules/timespec-add, modules/timespec-sub: New files.

12 years agodtotimespec: new module
Paul Eggert [Thu, 30 Jun 2011 22:14:25 +0000 (15:14 -0700)]
dtotimespec: new module

* lib/timespec.h (dtotimespec): New decl.
* lib/dtotimespec.c, modules/dtotimespec: New files.

12 years ago* lib/timespec.h (timespectod): New inline function.
Paul Eggert [Thu, 30 Jun 2011 22:06:54 +0000 (15:06 -0700)]
* lib/timespec.h (timespectod): New inline function.

12 years ago* lib/timespec.h (timespec_sign): New inline function.
Paul Eggert [Thu, 30 Jun 2011 22:04:56 +0000 (15:04 -0700)]
* lib/timespec.h (timespec_sign): New inline function.

12 years agopselect: new module
Paul Eggert [Thu, 30 Jun 2011 21:57:39 +0000 (14:57 -0700)]
pselect: new module

* lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
(pselect): New decls.
* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
since the standard pselect decl uses 'restrict'.
(gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
HAVE_PSELECT, REPLACE_PSELECT.
* modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
HAVE_PSELECT, REPLACE_PSELECT.
* lib/pselect.c, m4/pselect.m4, modules/pselect: New files.

12 years agosys_select: don't depend on sys_socket
Paul Eggert [Thu, 30 Jun 2011 17:58:24 +0000 (10:58 -0700)]
sys_select: don't depend on sys_socket

This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
<http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
This fix works on GNU and GNU-like platforms, but has not been tested
on native Windows.
* lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
gl_HEADER_SYS_SOCKET.
* modules/sys_select (Files): Add m4/sys_socket_h.m4, for
gl_PREREQ_SYS_H_WINSOCK2.

12 years agopipe2: fix C89 compile problem
Eric Blake [Wed, 29 Jun 2011 23:05:08 +0000 (17:05 -0600)]
pipe2: fix C89 compile problem

IRIX cc didn't like the initialization.

* lib/pipe2.c (pipe2): Avoid C99 array initialization.
Reported by Bruno Haible.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agopipe, pipe2: don't corrupt fd on error
Eric Blake [Wed, 29 Jun 2011 21:46:50 +0000 (15:46 -0600)]
pipe, pipe2: don't corrupt fd on error

I noticed a potential subtle double-close bug in libvirt.  There,
a common idiom is to initialize an int fd[2]={-1,-1}, then have
multiple error paths goto common cleanup code.  In the cleanup
code, the fds are closed if they are not already -1; this works
if the error label is reached before the pipe call, or after
pipe succeeds, but if it was the pipe call itself that jumped
to the error label, then it is relying on failed pipe() not
altering the values already in fd array prior to the failure.
Our pipe2 replacement violated this assumption, and could leave
a non-negative value in the array, which in turn would let
libvirt close an already-closed fd, possibly nuking an unrelated
fd opened by another thread that happened to get the same value.

As a result, I raised a POSIX issue regarding the behavior of
pipe on failure: http://austingroupbugs.net/view.php?id=467

Using that test program, I learned that most systems leave fd
unchanged on error, but that mingw always assigns -1 into the
array.  This fixes the mingw pipe() replacement, as well as
the gnulib pipe2() replacement.

I don't know of any race-free way to work around a cygwin crash:
http://cygwin.com/ml/cygwin/2011-06/msg00328.html - we could
always open() and then close() two fds to guess whether two
spare fd still remain before calling pipe(), but that is racy.

* lib/pipe.c (pipe): Leave fd unchanged on error.
* lib/pipe2.c (pipe2): Likewise.
* doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
* doc/glibc-functions/pipe2.texi (pipe2): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agommap-anon: do not use regular expressions inadvertently
Paolo Bonzini [Tue, 28 Jun 2011 14:46:39 +0000 (16:46 +0200)]
mmap-anon: do not use regular expressions inadvertently

* m4/mmap-anon.m4: Remove trailing period from strings sought
in the output.

12 years agonanosleep: fix integer overflow problem
Paul Eggert [Sat, 25 Jun 2011 21:23:56 +0000 (14:23 -0700)]
nanosleep: fix integer overflow problem

* lib/nanosleep.c (my_usleep): Don't assume signed integer
arithmetic wraps around on overflow.

12 years agonanosleep: simplify carrying
Paul Eggert [Sat, 25 Jun 2011 18:55:20 +0000 (11:55 -0700)]
nanosleep: simplify carrying

* lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
first call to the underyling nanosleep, not for the last one.
This doesn't fix any bugs, but it simplifies the computation of
the remaining delay.  Found while auditing integer overflow issues.

12 years agodup2: remove test for existence of fcntl
Paul Eggert [Sat, 25 Jun 2011 08:56:52 +0000 (01:56 -0700)]
dup2: remove test for existence of fcntl

* m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
"#if HAVE_FCNTL", in the configure-time test program.
This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
and therefore speeds up "configure" a bit.  Found while
adding the dup2 module to Emacs.

12 years agomaint.mk: enhance useless header checks
Eric Blake [Fri, 24 Jun 2011 21:46:01 +0000 (15:46 -0600)]
maint.mk: enhance useless header checks

Libvirt was mistakenly using <intprops.h> instead of "intprops.h"
in one place; when I fixed that, I was surprised to get a
syntax-check failure from an unused header.

* top/maint.mk (_sc_header_without_use): Check both include
styles.
(sc_prohibit_assert_without_use)
(sc_prohibit_close_stream_without_use)
(sc_prohibit_getopt_without_use)
(sc_prohibit_quotearg_without_use)
(sc_prohibit_quote_without_use)
(sc_prohibit_long_options_without_use)
(sc_prohibit_inttostr_without_use)
(sc_prohibit_ignore_value_without_use)
(sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
(sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
(sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
(sc_prohibit_hash_pjw_without_use)
(sc_prohibit_safe_read_without_use)
(sc_prohibit_argmatch_without_use)
(sc_prohibit_canonicalize_without_use)
(sc_prohibit_root_dev_ino_without_use)
(sc_prohibit_openat_without_use)
(sc_prohibit_c_ctype_without_use)
(sc_prohibit_signal_without_use)
(sc_prohibit_stdio--_without_use)
(sc_prohibit_stdio-safer_without_use)
(sc_prohibit_strings_without_use)
(sc_prohibit_intprops_without_use)
(sc_prohibit_stddef_without_use)
(sc_prohibit_xfreopen_without_use): Update clients.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agosyntax-check: keep one maint.mk rule in sync with its header
Jim Meyering [Fri, 24 Jun 2011 18:52:00 +0000 (20:52 +0200)]
syntax-check: keep one maint.mk rule in sync with its header

* Makefile (sc_check_sym_list): Add a rule to prevent a repeat
of the bug Eric has just fixed, with today's commit 25e4c2ec.
I prefer to avoid temporary files here, so use <(...), but that
is not supported by /bin/sh, so...
(SHELL): Define to /bin/bash.

12 years agomaint.mk: update sc_prohibit_intprops_without_use
Eric Blake [Fri, 24 Jun 2011 17:51:56 +0000 (11:51 -0600)]
maint.mk: update sc_prohibit_intprops_without_use

This syntax check needs to reflect commit 8cc0fee and following.

* top/maint.mk (_intprops_names): Match recent changes.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agostrerror-override: No-op tweak.
Bruno Haible [Fri, 24 Jun 2011 09:23:26 +0000 (11:23 +0200)]
strerror-override: No-op tweak.

* lib/strerror-override.h (strerror_override): Reorder conditions,
for consistency with lib/strerror-override.c.

12 years agoautoupdate
Karl Berry [Thu, 23 Jun 2011 16:16:46 +0000 (09:16 -0700)]
autoupdate

12 years agomaint.mk: test further PATH_MAX issues
Eric Blake [Thu, 23 Jun 2011 12:40:38 +0000 (06:40 -0600)]
maint.mk: test further PATH_MAX issues

* top/maint.mk (sc_prohibit_path_max_array): Rename...
(sc_prohibit_path_max_allocation): ...and also test alloca.
Suggested by Jim Meyering.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agomaint.mk: add syntax-check to avoid char[PATH_MAX]
Eric Blake [Wed, 22 Jun 2011 21:02:24 +0000 (15:02 -0600)]
maint.mk: add syntax-check to avoid char[PATH_MAX]

POSIX allows PATH_MAX to be undefined.  And even if you use the
gnulib pathmax module, where "pathmax.h" guarantees a definition,
the definition might not be constant or might be so large as to
be wasteful or cause stack overflows.  PATH_MAX should only be
used as a limit or hueristic, not an array size.

* top/maint.mk (sc_prohibit_path_max_array): New rule.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agostat: be robust to PATH_MAX definition
Eric Blake [Mon, 20 Jun 2011 22:55:24 +0000 (16:55 -0600)]
stat: be robust to PATH_MAX definition

Make this stack-allocation of PATH_MAX bytes more robust.

* lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
* modules/stat (Depends-on): Add verify.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agolink: work around IRIX bug
Eric Blake [Wed, 22 Jun 2011 18:15:02 +0000 (12:15 -0600)]
link: work around IRIX bug

On IRIX 6.5, link(file, "dangling") creates the target of dangling
as a link to file, rather than failing with EEXIST.

* m4/link.m4 (gl_FUNC_LINK): Expose the bug.
* lib/link.c (rpl_link): Work around it.
* tests/test-link.h (test_link): Enhance test.
* doc/posix-functions/link.texi (link): Document the bug.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agogetopt: silence clang warning
Eric Blake [Wed, 22 Jun 2011 17:17:40 +0000 (11:17 -0600)]
getopt: silence clang warning

http://sourceware.org/bugzilla/show_bug.cgi?id=12922

Only triggered by a program that uses "W;" in the short opt string
without providing a longopts array; that can be argued to be a
programmer error, so gnulib won't bother replacing glibc getopt if
it has that bug.

* lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
dereference.
Reported by Gustavo Martin Domato.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agobootstrap: do not insert a blank line into each .gitignore file
Jim Meyering [Wed, 22 Jun 2011 06:21:05 +0000 (08:21 +0200)]
bootstrap: do not insert a blank line into each .gitignore file

* build-aux/bootstrap (sort_patterns): Filter out blank lines.

12 years agoperror: test for output mismatch
Eric Blake [Tue, 21 Jun 2011 22:44:30 +0000 (16:44 -0600)]
perror: test for output mismatch

On IRIX 6.5, strerror(-1) returns NULL but perror("") for errno
of -1 prints "Unknown error"; POSIX requires that the two must
match, so we must replace perror.  But since IRIX also lacks
strerror_r, our probe for a working [__xpg_]strerror_r was
never even happening.

* m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
perror on IRIX.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agostrerror_r: fix OpenBSD behavior on out-of-range
Eric Blake [Tue, 21 Jun 2011 16:00:55 +0000 (10:00 -0600)]
strerror_r: fix OpenBSD behavior on out-of-range

On OpenBSD, strerror_r(1000,buf,19) gives "Unknown error: " rather
than "Unknown error: 100" while failing with ERANGE.  Admittedly,
this behavior is nice, since a truncated integer is misleading,
but all other platforms use maximal strings on ERANGE and we are
already replacing strerror_r for other reasons, so it is easier
to work around this behavior than to adjust the testsuite (how
do you quickly decide if the only reason that the ERANGE string
was shorter than maximal was because the implementation avoided
truncating an integer?).

This patch intentionally avoids dragging in the strnlen module.

* lib/strerror_r.c (strerror_r): Always use maximal string.
* doc/posix-functions/strerror_r.texi (strerror_r): Document it.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agostrerror_r: fix OpenBSD behavior on 0
Eric Blake [Tue, 21 Jun 2011 14:50:51 +0000 (08:50 -0600)]
strerror_r: fix OpenBSD behavior on 0

OpenBSD treats strerror_r(0,,) as a success, but with a message
"Undefined error: 0"; while this is distinct from strerror_r(-1,,)
returning "Unknown error: -1", it does not imply success.  Meanwhile,
if buf is short enough for ERANGE, then we can't use strstr to look
for "Unknown" or "Undefined" in the resulting message, like we had
been doing for strerror().  Fix this by shifting the burden - now
the strerror-override code guarantees that 0 will have an
override when needed.

* lib/strerror-override.c (strerror_override): Also override 0
when needed.
* lib/strerror-override.h (strerror_override): Likewise.
* lib/strerror.c (strerror): Simplify, now that 0 override is done
earlier.
* lib/strerror_r.c (strerror_r): Likewise.
* m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
behavior...
(gl_FUNC_STRERROR_0): ...into new macro.
* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
is overridden.
(gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
* modules/strerror-override (Files): Add strerror.m4.
(configure.ac): Also provide override for 0 when needed.
* doc/posix-functions/strerror.texi (strerror): Document this.
* doc/posix-functions/perror.texi (perror): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoperror: adjust array size
Eric Blake [Tue, 21 Jun 2011 16:10:06 +0000 (10:10 -0600)]
perror: adjust array size

If we ever adjust strerror-override.h to have a larger size for
STACKBUF_LEN, then perror should also pick up the adjustment.

* modules/perror (Depends-on): Add strerror-override.
* lib/perror.c (perror): Use it to avoid magic number.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agostrerror-override: reduce size
Eric Blake [Tue, 21 Jun 2011 15:40:46 +0000 (09:40 -0600)]
strerror-override: reduce size

* lib/strerror-override.c (strerror_override): Use fewer lines.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agopathmax: Ensure correct value for PATH_MAX on HP-UX.
Bruno Haible [Mon, 20 Jun 2011 22:18:27 +0000 (00:18 +0200)]
pathmax: Ensure correct value for PATH_MAX on HP-UX.

* lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.

12 years agoalloca: port to compilers that can optimize like GCC 4.6.0
Paul Eggert [Mon, 20 Jun 2011 22:03:03 +0000 (15:03 -0700)]
alloca: port to compilers that can optimize like GCC 4.6.0

* lib/alloca.c (find_stack_direction): New signature, taken from
Autoconf git.  This works with GCC 4.6.0.  This code should never
be used with GCC 4.6.0 itself, as GCC has alloca, but it might
be used with other compilers that optimize as well as GCC 4.6.0 does.
(alloca): Adjust to new signature.
* m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
New macro, which patches Autoconf in a similar way.

12 years agoc-stack: stop worrying about stack direction
Paul Eggert [Mon, 20 Jun 2011 21:59:13 +0000 (14:59 -0700)]
c-stack: stop worrying about stack direction

* lib/c-stack.c (find_stack_direction): Remove.
(segv_handler): Don't worry about stack direction growth, as it's
too much of a pain to configure this correctly, given how compilers
are optimizing-away our stack-growth detection code.  Instead, assume
that any access to just before or just after the stack is OK.
* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
Don't require AC_FUNC_ALLOCA; no longer needed.

12 years agotest-stat: don't allocate PATH_MAX bytes
Eric Blake [Mon, 20 Jun 2011 21:12:10 +0000 (15:12 -0600)]
test-stat: don't allocate PATH_MAX bytes

POSIX allows systems (like Hurd) that don't define PATH_MAX, or
which define it larger than a reasonable stack allocation should
be.  The test originally used stack allocation to avoid portability
problems with getcwd, but the getcwd-lgpl module solves those.

* tests/test-stat.h (test_stat_func): Don't stack-allocate a
PATH_MAX-sized buffer.
* modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
* modules/stat-tests (Depends-on): Likewise.
* tests/test-fstatat.c (includes): Drop pathmax.h.
* tests/test-stat.c (includes): Likewise.
Reported by Bruno Haible.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agofloat: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
Bruno Haible [Mon, 20 Jun 2011 10:38:05 +0000 (12:38 +0200)]
float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.

* lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
* lib/float.c: New file.
* m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
REPLACE_FLOAT_LDBL.
* modules/float (Files): Add lib/float.c.
(configure.ac): Invoke AC_LIBOBJ.
* doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.

12 years agoTests for module 'float'.
Bruno Haible [Mon, 20 Jun 2011 10:27:26 +0000 (12:27 +0200)]
Tests for module 'float'.

* modules/float-tests: New file.
* tests/test-float.c: New file.

12 years agoisinf: Coding style.
Bruno Haible [Sun, 19 Jun 2011 19:19:27 +0000 (21:19 +0200)]
isinf: Coding style.

* lib/isinf.c: Use GNU coding style.

12 years agolinkat test: Avoid test failure on AIX 7.1.
Bruno Haible [Sun, 19 Jun 2011 18:41:46 +0000 (20:41 +0200)]
linkat test: Avoid test failure on AIX 7.1.

* tests/test-linkat.c (main): Allow EINVAL as alternate error value.
* tests/test-link.h (test_link): Likewise.

12 years agopread test: Avoid test failure on OpenBSD 4.9.
Bruno Haible [Sun, 19 Jun 2011 14:36:39 +0000 (16:36 +0200)]
pread test: Avoid test failure on OpenBSD 4.9.

* tests/test-pread.c (main): Allow EFBIG instead of EINBAL.

12 years agosprintf-posix: Fix test failure on AIX 7.1.
Bruno Haible [Sun, 19 Jun 2011 14:06:42 +0000 (16:06 +0200)]
sprintf-posix: Fix test failure on AIX 7.1.

* m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
* doc/posix-functions/dprintf.texi: Mention limited precision problem
on AIX.
* doc/posix-functions/fprintf.texi: Likewise.
* doc/posix-functions/printf.texi: Likewise.
* doc/posix-functions/snprintf.texi: Likewise.
* doc/posix-functions/sprintf.texi: Likewise.
* doc/posix-functions/vdprintf.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.

12 years agoroundl-ieee: Fix test failure on AIX 7.1.
Bruno Haible [Sun, 19 Jun 2011 13:05:39 +0000 (15:05 +0200)]
roundl-ieee: Fix test failure on AIX 7.1.

* m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
* doc/posix-functions/roundl.texi: Mention problem with negative
arguments.

12 years agoround-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
Bruno Haible [Sun, 19 Jun 2011 12:41:22 +0000 (14:41 +0200)]
round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.

* modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
* doc/posix-functions/round.texi: Mention problem with negative
arguments.
* doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.

12 years agoroundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
Bruno Haible [Sun, 19 Jun 2011 12:06:51 +0000 (14:06 +0200)]
roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.

* m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
* modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
* doc/posix-functions/roundf.texi: Mention problem with negative
arguments.
* doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.

12 years agoceilf-ieee: Work around bug on MacOS X 10.5.
Bruno Haible [Sun, 19 Jun 2011 10:50:52 +0000 (12:50 +0200)]
ceilf-ieee: Work around bug on MacOS X 10.5.

* doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.

12 years agofloor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
Bruno Haible [Sun, 19 Jun 2011 10:48:10 +0000 (12:48 +0200)]
floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.

* m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
IEEE compliant, avoid compiler optimizations.
* m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
* m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
* m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
* m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
* m4/round.m4 (gl_FUNC_ROUND): Likewise.
* m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.

12 years agoceilf-ieee: Work around bug on AIX 7.1.
Bruno Haible [Sun, 19 Jun 2011 09:54:43 +0000 (11:54 +0200)]
ceilf-ieee: Work around bug on AIX 7.1.

* m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
* doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.

12 years agoceil-ieee: Work around bug on AIX 7.1.
Bruno Haible [Sun, 19 Jun 2011 09:35:09 +0000 (11:35 +0200)]
ceil-ieee: Work around bug on AIX 7.1.

* m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
* doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.

12 years agofsync test: Avoid test failure on MacOS X and AIX.
Bruno Haible [Sun, 19 Jun 2011 01:13:17 +0000 (03:13 +0200)]
fsync test: Avoid test failure on MacOS X and AIX.

* tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
EINVAL.

12 years agoopenat, fdopendir tests: Fix link errors.
Bruno Haible [Sat, 18 Jun 2011 21:06:53 +0000 (23:06 +0200)]
openat, fdopendir tests: Fix link errors.

* modules/openat-tests (Depends-on): Add progname.
* modules/fdopendir-tests (Depends-on): Likewise.
* tests/test-fchownat.c: Include progname.h.
(main): Call set_program_name.
* tests/test-fstatat.c: Include progname.h.
(main): Call set_program_name.
* tests/test-mkdirat.c: Include progname.h.
(main): Call set_program_name.
* tests/test-openat.c: Include progname.h.
(main): Call set_program_name.
* tests/test-unlinkat.c: Include progname.h.
(main): Call set_program_name.
* tests/test-fdopendir.c: Include progname.h.
(main): Call set_program_name.

12 years agoDoc update.
Bruno Haible [Sat, 18 Jun 2011 21:02:39 +0000 (23:02 +0200)]
Doc update.

* doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
HP-UX.
* doc/posix-functions/pthread_attr_setstack.texi: Likewise.

12 years agogetcwd tests: Avoid compilation error on HP-UX 11.31.
Bruno Haible [Sat, 18 Jun 2011 20:22:23 +0000 (22:22 +0200)]
getcwd tests: Avoid compilation error on HP-UX 11.31.

* modules/getcwd-tests (Depends-on): Add pathmax.
* tests/test-getcwd.c: Include pathmax.h.

12 years agoisfinite, isinf: Fix link error on AIX 6 and 7.
Bruno Haible [Sat, 18 Jun 2011 18:26:19 +0000 (20:26 +0200)]
isfinite, isinf: Fix link error on AIX 6 and 7.

* m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
needed, also test the macro with a 'float' argument.
* m4/isinf.m4 (gl_ISINF): Likewise.

12 years agogetloadavg: Don't clobber LIBS. Regression from previous commit.
Bruno Haible [Sat, 18 Jun 2011 16:32:53 +0000 (18:32 +0200)]
getloadavg: Don't clobber LIBS. Regression from previous commit.

* m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
AC_CHECK_LIB from here...
(gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
(gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
gl_func_getloadavg_done.
Reported by Tom G. Christensen <tgc@jupiterrise.com>.

12 years agoclean-temp: Improve documentation.
Bruno Haible [Sat, 18 Jun 2011 09:25:17 +0000 (11:25 +0200)]
clean-temp: Improve documentation.

* lib/clean-temp.h: Explain better how to use this module.
Reported by John Darrington <john@darrington.wattle.id.au>.

12 years agopread, pwrite: Avoid cc warning on AIX.
Bruno Haible [Fri, 17 Jun 2011 22:29:40 +0000 (00:29 +0200)]
pread, pwrite: Avoid cc warning on AIX.

* lib/unistd.in.h (pread): Undefine before defining as a macro.
(pwrite): Likewise.

12 years agospawn-pipe tests: Fix link error.
Bruno Haible [Fri, 17 Jun 2011 16:08:21 +0000 (18:08 +0200)]
spawn-pipe tests: Fix link error.

* tests/test-spawn-pipe-child.c: Undefine fprintf.
Reported by Tom G. Christensen <tgc@jupiterrise.com>.

12 years agoTests: Remove unnecessary dependency.
Bruno Haible [Fri, 17 Jun 2011 14:34:36 +0000 (16:34 +0200)]
Tests: Remove unnecessary dependency.

* modules/canonicalize-tests (Depends-on): Remove progname.
* modules/chown-tests (Depends-on): Likewise.
* modules/dirname-tests (Depends-on): Likewise.
* modules/fdopendir-tests (Depends-on): Likewise.
* modules/fdutimensat-tests (Depends-on): Likewise.
* modules/hash-tests (Depends-on): Likewise.
* modules/lchown-tests (Depends-on): Likewise.
* modules/linkat-tests (Depends-on): Likewise.
* modules/renameat-tests (Depends-on): Likewise.
* modules/spawn-pipe-tests (Depends-on): Likewise.
* modules/utimensat-tests (Depends-on): Likewise.

12 years agospawn-pipe tests: Fix link error.
Bruno Haible [Fri, 17 Jun 2011 11:44:41 +0000 (13:44 +0200)]
spawn-pipe tests: Fix link error.

* tests/test-spawn-pipe-child.c: Undefine fflush.