gnulib.git
12 years agoisnanl, isnand, isnanf: Work around MSVC bug.
Bruno Haible [Sat, 17 Sep 2011 15:58:10 +0000 (17:58 +0200)]
isnanl, isnand, isnanf: Work around MSVC bug.

* lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.

12 years agosys_socket tests: Fix recent mistake.
Bruno Haible [Sat, 17 Sep 2011 15:40:17 +0000 (17:40 +0200)]
sys_socket tests: Fix recent mistake.

* tests/test-sys_socket.c (t1): Avoid collision of identifiers.

12 years agoputenv: Support for MSVC.
Bruno Haible [Sat, 17 Sep 2011 15:34:03 +0000 (17:34 +0200)]
putenv: Support for MSVC.

* modules/putenv (Depends-on): Add environ.
* lib/putenv.c (environ): Disable declaration.
* lib/unistd.in.h: Update comment.

12 years agomath: Avoid macro redefinition warnings on MSVC.
Bruno Haible [Sat, 17 Sep 2011 15:14:38 +0000 (17:14 +0200)]
math: Avoid macro redefinition warnings on MSVC.

* lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
Undefine before redefining.

12 years agodoc: Mention functions which are declared as macros.
Bruno Haible [Sat, 17 Sep 2011 15:10:12 +0000 (17:10 +0200)]
doc: Mention functions which are declared as macros.

* doc/posix-functions/*[fl].texi: Mention that some functions are
defined as macros with arguments only.

12 years agoAdd dependencies to new dirent related modules.
Bruno Haible [Sat, 17 Sep 2011 14:53:15 +0000 (16:53 +0200)]
Add dependencies to new dirent related modules.

* modules/backupfile (Depends-on): Add opendir, readdir, closedir.
* modules/fts (Depends-on): Likewise.
* modules/glob (Depends-on): Likewise.
* modules/savedir (Depends-on): Likewise.
* modules/scandir (Depends-on): Likewise.
* modules/dirent-safer (Depends-on): Add opendir, closedir.
* modules/fdopendir (Depends-on): Add opendir.

12 years agoinet_pton: Fix mistake in last commit.
Bruno Haible [Sat, 17 Sep 2011 14:05:19 +0000 (16:05 +0200)]
inet_pton: Fix mistake in last commit.

12 years agoinet_pton: Support for MSVC on Windows Vista or newer.
Bruno Haible [Sat, 17 Sep 2011 13:09:53 +0000 (15:09 +0200)]
inet_pton: Support for MSVC on Windows Vista or newer.

* lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
* lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
HAVE_DECL_INET_PTON is defined.
* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
On platforms with <winsock2.h>, test whether inet_pton is declared in
<ws2tcpip.h>. If so, arrange to replace it.
* m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
REPLACE_INET_PTON.
* modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
* modules/inet_pton (Files): Add m4/sys_socket_h.m4.
(Depends-on, configure.ac): Update condition.
* doc/posix-functions/inet_pton.texi: Mention the MSVC problem.

12 years agoinet_ntop: Support for MSVC on Windows Vista or newer.
Bruno Haible [Sat, 17 Sep 2011 12:56:11 +0000 (14:56 +0200)]
inet_ntop: Support for MSVC on Windows Vista or newer.

* lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
* lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
HAVE_DECL_INET_NTOP is defined.
* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
On platforms with <winsock2.h>, test whether inet_ntop is declared in
<ws2tcpip.h>. If so, arrange to replace it.
* m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
REPLACE_INET_NTOP.
* modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
* modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
(Depends-on, configure.ac): Update condition.
* doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.

12 years agotest-fsync: yet another enhancement
Eric Blake [Fri, 16 Sep 2011 23:15:39 +0000 (17:15 -0600)]
test-fsync: yet another enhancement

* tests/test-fsync.c (main): Also test behavior on read-only text
file.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoEnhance fsync, fdatasync tests.
Bruno Haible [Fri, 16 Sep 2011 21:55:06 +0000 (23:55 +0200)]
Enhance fsync, fdatasync tests.

* tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
* tests/test-fdatasync.c (main): Likewise.

12 years agoFix last ChangeLog entry.
Bruno Haible [Fri, 16 Sep 2011 21:44:07 +0000 (23:44 +0200)]
Fix last ChangeLog entry.

12 years agoSupport for MSVC compiler: Ensure mode_t gets defined.
Bruno Haible [Fri, 16 Sep 2011 21:43:21 +0000 (23:43 +0200)]
Support for MSVC compiler: Ensure mode_t gets defined.

* m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
* m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
* tests/test-fcntl-h.c: Check that mode_t is defined.
* tests/test-sys_stat.c: Likewise.
* tests/test-sys_types.c: Likewise.
* doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
* doc/posix-headers/sys_stat.texi: Likewise.
* doc/posix-headers/sys_types.texi: Likewise.

12 years agosys_stat: Support for MSVC.
Bruno Haible [Fri, 16 Sep 2011 21:17:49 +0000 (23:17 +0200)]
sys_stat: Support for MSVC.

* lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
* tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
* doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
MSVC.

12 years agoSupport for MSVC compiler: Ensure off_t gets defined.
Bruno Haible [Fri, 16 Sep 2011 20:55:49 +0000 (22:55 +0200)]
Support for MSVC compiler: Ensure off_t gets defined.

* lib/unistd.in.h: Include <sys/types.h>.
* tests/test-fcntl-h.c: Check that off_t is defined.
* tests/test-sys_stat.c: Likewise.
* tests/test-sys_types.c: Likewise.

12 years agofdatasync: port to Solaris
Eric Blake [Fri, 16 Sep 2011 20:12:01 +0000 (14:12 -0600)]
fdatasync: port to Solaris

Cater to Solaris requiring extra libraries for fdatasync.

* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
* modules/fdatasync (Link): Document it.
* modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agofdatasync: port to MacOS X 10.7
Eric Blake [Fri, 16 Sep 2011 19:49:16 +0000 (13:49 -0600)]
fdatasync: port to MacOS X 10.7

MacOS X 10.7 added an fdatasync syscall and exports a symbol for it,
but fails to declare it anywhere.  Lacking any hard evidence that this
syscall is broken, we will just provide the declaration and use it.

* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
declared.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
* modules/unistd (Makefile.am): Substitute it.
* lib/unistd.in.h (fdatasync): Declare on MacOS.
* doc/posix-functions/fdatasync.texi (fdatasync): Document it.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agofdatasync: minor improvements
Eric Blake [Fri, 16 Sep 2011 18:47:13 +0000 (12:47 -0600)]
fdatasync: minor improvements

Picks up some ideas by Paul Eggert from here:
https://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00157.html

* modules/fdatasync (Depends-on): Add condition for fsync.
* lib/fdatasync.c (fdatasync): Add comment.
* tests/test-unistd-c++.cc: Test fdatasync.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agounistd: update refs to newer POSIX
Eric Blake [Fri, 16 Sep 2011 18:12:41 +0000 (12:12 -0600)]
unistd: update refs to newer POSIX

usleep only exists in POSIX 2001, but for the rest of the functions
where we pointed to online POSIX specs, we might as well point to the
latest version of the standard.

* lib/unistd.in.h: Prefer POSIX 2008 over 2001.
Suggested by Bruno Haible.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agofdatasync: new module
Eric Blake [Fri, 16 Sep 2011 15:59:23 +0000 (09:59 -0600)]
fdatasync: new module

At least libvirt would like to use the lighter-weight fdatasync
on platforms where it is supported, while still guaranteeing full
sync (via the heavy-weight fsync fallback) on all platforms.

I've got an open question to the Austin Group, since the POSIX 2008
wording is self-contradictory (unlike fsync, fdatasync requires
EBADF on non-writable fds, but still mentions that read() errors
must be propagated).  I can see how fsync() would affect atime after
read() while fdatasync() can skip that, explaining why fdatasync()
might have the EBADF requirement, but on the other hand, that prevents
an implementation (like ours) where fdatasync is a straight alias of
fsync.  At any rate, glibc allows fdatasync on read-only fds.

* modules/fsync (Description): Document difference to fdatasync.
* modules/fdatasync: New module.
* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
* lib/fdatasync.c (fdatasync): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
defaults.
* modules/unistd (Makefile.am): Set witnesses.
* lib/unistd.in.h (fdatasync): Declare.
* MODULES.html.sh: Document it.
* doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
* modules/fdatasync-tests: New test.
* tests/test-fdatasync.c: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agotest-fsync: enhance tests
Eric Blake [Fri, 16 Sep 2011 16:28:13 +0000 (10:28 -0600)]
test-fsync: enhance tests

This test failed to compile on mingw, which lacks ENOTSUP.  Furthermore,
it wasn't testing POSIX behavior on invalid fds.

* modules/fsync-tests (Depends-on): Add errno, for mingw.
* tests/test-fsync.c (main): Enhance test.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoSupport for MSVC compiler: Ensure ssize_t gets defined.
Bruno Haible [Thu, 15 Sep 2011 16:00:32 +0000 (18:00 +0200)]
Support for MSVC compiler: Ensure ssize_t gets defined.

* doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
* doc/posix-headers/stdio.texi: Likewise.
* modules/stdio (Depends-on): Add ssize_t.
* modules/sys_socket (Depends-on): Likewise.
* modules/sys_types (Depends-on): Likewise.
* modules/sys_uio (Depends-on): Likewise.
* modules/unistd (Depends-on): Likewise.
* tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
* tests/test-sys_types.c: Check that ssize_t is defined.

12 years agoAvoid using #, the m4 comment starter character, near brackets.
Bruno Haible [Wed, 14 Sep 2011 23:00:17 +0000 (01:00 +0200)]
Avoid using #, the m4 comment starter character, near brackets.

* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
delimiter character in sed expressions.
* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
Suggested by Eric Blake.

12 years agoProperly quote AC_CHECK_DECLS' 4th argument.
Bruno Haible [Wed, 14 Sep 2011 22:23:57 +0000 (00:23 +0200)]
Properly quote AC_CHECK_DECLS' 4th argument.

* m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
argument.
* m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
* m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
* m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
* m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
* m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
* m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
* m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
* m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
* m4/isfinite.m4 (gl_ISFINITE): Likewise.
* m4/isinf.m4 (gl_ISINF): Likewise.
* m4/logb.m4 (gl_FUNC_LOGB): Likewise.
* m4/readutmp.m4 (gl_READUTMP): Likewise.
* m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
* m4/round.m4 (gl_FUNC_ROUND): Likewise.
* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
* m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
* m4/signbit.m4 (gl_SIGNBIT): Likewise.
* m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
* m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
* m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
Reported by Eric Blake.

12 years agoProperly quote AC_CHECK_DECL's 4th argument.
Bruno Haible [Wed, 14 Sep 2011 21:41:59 +0000 (23:41 +0200)]
Properly quote AC_CHECK_DECL's 4th argument.

* m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
argument.
* m4/argp.m4 (gl_ARGP): Likewise.
* m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
* m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
* m4/cosl.m4 (gl_FUNC_COSL): Likewise.
* m4/expl.m4 (gl_FUNC_EXPL): Likewise.
* m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
* m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
* m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
* m4/logl.m4 (gl_FUNC_LOGL): Likewise.
* m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
* m4/sinl.m4 (gl_FUNC_SINL): Likewise.
* m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
* m4/tanl.m4 (gl_FUNC_TANL): Likewise.
Reported by Eric Blake.

12 years agoopendir: avoid compile warning
Eric Blake [Wed, 14 Sep 2011 14:19:35 +0000 (08:19 -0600)]
opendir: avoid compile warning

If HAVE_OPENDIR but also REPLACE_FCHDIR, then errno was used without
including the proper header.

* lib/opendir.c (includes): Always include errno.h.
Reported by Tatsuro MATSUOKA.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agomaint.mk: sc_tight_scope: propagate failure from sub-make
Jim Meyering [Wed, 14 Sep 2011 12:39:35 +0000 (14:39 +0200)]
maint.mk: sc_tight_scope: propagate failure from sub-make

* top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
Reported by Martin von Gagern.

12 years agotempname: Support for MSVC.
Bruno Haible [Wed, 14 Sep 2011 00:52:31 +0000 (02:52 +0200)]
tempname: Support for MSVC.

* doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
MSVC.
* modules/tempname (Depends-on): Add fcntl-h.

12 years agosys_time: Support for MSVC.
Bruno Haible [Wed, 14 Sep 2011 00:08:36 +0000 (02:08 +0200)]
sys_time: Support for MSVC.

* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
include <winsock2.h>.
* lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
function declarations that collide with POSIX.
* modules/sys_time (Files): Add m4/sys_socket_h.m4.
(Makefile.am): Substitute HAVE_WINSOCK2_H.

12 years agostat: Support for MSVC.
Bruno Haible [Tue, 13 Sep 2011 11:05:56 +0000 (13:05 +0200)]
stat: Support for MSVC.

* lib/stat.c: Include pathmax.h.
* modules/stat (Depends-on): Add pathmax.

12 years agopathmax: Support for native Windows.
Bruno Haible [Tue, 13 Sep 2011 11:02:16 +0000 (13:02 +0200)]
pathmax: Support for native Windows.

* lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.

12 years agoNew modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
Bruno Haible [Mon, 12 Sep 2011 23:37:35 +0000 (01:37 +0200)]
New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.

* lib/dirent.in.h (struct dirent): New type.
(DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
DT_WHT): New macros.
(DIR): New type.
(opendir, closedir): Declare only if the module 'opendir' is enabled.
(readdir, rewinddir): New declarations.
* lib/dirent-private.h: New file.
* lib/opendir.c: New file.
* lib/readdir.c: New file.
* lib/rewinddir.c: New file.
* lib/closedir.c: New file.
* lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
* m4/opendir.m4: New file.
* m4/readdir.m4: New file.
* m4/rewinddir.m4: New file.
* m4/closedir.m4: New file.
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
REPLACE_CLOSEDIR here.
* m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
readdir, rewinddir are declared.
(gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
HAVE_REWINDDIR, HAVE_CLOSEDIR.
* modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
* modules/opendir: New file.
* modules/readdir: New file.
* modules/rewinddir: New file.
* modules/closedir: New file.
* doc/posix-functions/opendir.texi: Mention the 'opendir' module.
* doc/posix-functions/readdir.texi: Mention the 'readdir' module.
* doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
* doc/posix-functions/closedir.texi: Mention the 'closedir' module.
* NEWS: Mention the 'fchdir' change.

12 years agoasm-underscore.m4: Support for MSVC.
Bruno Haible [Sun, 11 Sep 2011 23:41:44 +0000 (01:41 +0200)]
asm-underscore.m4: Support for MSVC.

* m4/asm-underscore.m4 (gl_C_ASM): New macro.
(gl_ASM_SYMBOL_PREFIX): Require it. Use its results.

12 years agoExpand range of versions of glibc for which _GNU_SOURCE is needed to get crypt.
Reuben Thomas [Sun, 11 Sep 2011 22:36:41 +0000 (23:36 +0100)]
Expand range of versions of glibc for which _GNU_SOURCE is needed to get crypt.

12 years agodoc: Update regarding MSVC 9.
Bruno Haible [Sun, 11 Sep 2011 19:56:17 +0000 (21:56 +0200)]
doc: Update regarding MSVC 9.

* doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
tested".
* doc/posix-functions/*.texi: Update with info about MSVC 9.
* doc/posix-headers/*.texi: Likewise.
* doc/pastposix-functions/*.texi: Likewise.
* doc/glibc-functions/*.texi: Likewise.
* doc/glibc-headers/*.texi: Likewise.

12 years agounistd et al.: Don't assume <unistd.h> exists.
Bruno Haible [Sun, 11 Sep 2011 19:44:32 +0000 (21:44 +0200)]
unistd et al.: Don't assume <unistd.h> exists.

* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
does not exist.
* m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
exist. But include <stdlib.h>.
* m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
include <io.h> and <stdlib.h> instead. Don't test symbolink links if
symlink() does not exist.
* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
include <io.h> instead.
* m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
include <direct.h> instead.
* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
* m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
<io.h> instead.
* m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
correctly if the system does not have hard links.
* m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
<direct.h> instead.
* m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
it when looking for function declarations.
* m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
<direct.h> and <io.h> instead.
* doc/posix-headers/unistd.texi: More details about MSVC problem.

12 years agostrcase: Support for MSVC.
Bruno Haible [Sun, 11 Sep 2011 19:23:39 +0000 (21:23 +0200)]
strcase: Support for MSVC.

* modules/strcase (Status, Notice): Remove obsoletion mark.
* doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
* doc/posix-functions/strncasecmp.texi: Likewise.

12 years agostrings: Don't assume <strings.h> exists.
Bruno Haible [Sun, 11 Sep 2011 19:15:40 +0000 (21:15 +0200)]
strings: Don't assume <strings.h> exists.

* lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
* m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
* modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
* doc/posix-headers/strings.texi: Mention the MSVC problem.

12 years agodirent: Don't assume <dirent.h> exists.
Bruno Haible [Sun, 11 Sep 2011 19:11:58 +0000 (21:11 +0200)]
dirent: Don't assume <dirent.h> exists.

* lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
* m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
* modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
* doc/posix-headers/dirent.texi: Mention the MSVC problem.

12 years agoFix wint_t on MSVC.
Bruno Haible [Sun, 11 Sep 2011 18:47:03 +0000 (20:47 +0200)]
Fix wint_t on MSVC.

* lib/wchar.in.h (wint_t): On MSVC, override it.
* lib/wctype.in.h (wint_t): Likewise.
* m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
MSVC.
* doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
* doc/posix-headers/wctype.texi: Likewise.

12 years agosys_types: Fix typo.
Bruno Haible [Sun, 11 Sep 2011 17:34:44 +0000 (19:34 +0200)]
sys_types: Fix typo.

* lib/sys_types.in.h: Fix typo in comment.
Reported by Paul Eggert.

12 years agoautoupdate
Karl Berry [Sun, 11 Sep 2011 16:58:28 +0000 (09:58 -0700)]
autoupdate

12 years agoSupport for MSVC compiler: Ensure size_t gets defined.
Bruno Haible [Sun, 11 Sep 2011 16:24:16 +0000 (18:24 +0200)]
Support for MSVC compiler: Ensure size_t gets defined.

* modules/strings (Depends-on): Add 'sys_types'.
* modules/sys_uio (Depends-on): Likewise.
* lib/sys_uio.in.h: Update comment.

12 years agoC++ tests for module 'sys_types'.
Bruno Haible [Sun, 11 Sep 2011 16:20:05 +0000 (18:20 +0200)]
C++ tests for module 'sys_types'.

* modules/sys_types-c++-tests: New file.
* tests/test-sys_types-c++.cc: New file.

12 years agoTests for module 'sys_types'.
Bruno Haible [Sun, 11 Sep 2011 16:17:54 +0000 (18:17 +0200)]
Tests for module 'sys_types'.

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

12 years agoNew module 'sys_types'.
Bruno Haible [Sun, 11 Sep 2011 16:14:00 +0000 (18:14 +0200)]
New module 'sys_types'.

* lib/sys_types.in.h: New file.
* m4/sys_types_h.m4: New file.
* modules/sys_types: New file.
* doc/posix-headers/sys_types.texi: Mention the new module and the
size_t problem on MSVC 9.

12 years agoSupport for MSVC compiler: Avoid division by a literal 0.
Bruno Haible [Sun, 11 Sep 2011 15:29:11 +0000 (17:29 +0200)]
Support for MSVC compiler: Avoid division by a literal 0.

* lib/math.in.h (NAN): Define through a function call also on MSVC.
* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
* m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
(gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
* tests/infinity.h: New file.
* tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
on MSVC.
* tests/test-ceilf1.c: Include infinity.h.
(main): Use Infinityf.
* tests/test-ceil1.c: Include infinity.h.
(main): Use Infinityd.
* tests/test-ceill.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-dprintf-posix.c: Include infinity.h.
(test_function): Use Infinityd.
* tests/test-floorf1.c: Include infinity.h.
(main): Use Infinityf.
* tests/test-floor1.c: Include infinity.h.
(main): Use Infinityd.
* tests/test-floorl.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-fprintf-posix.c: Include infinity.h.
(test_function): Use Infinityd.
* tests/test-frexp.c: Include infinity.h.
(main): Use Infinityd.
* tests/test-frexpl.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-isfinite.c: Include infinity.h.
(test_isfinitef): Use Infinityf.
(test_isfinited): Use Infinityd.
(test_isfinitel): Use Infinityl.
* tests/test-isinf.c: Include infinity.h.
(test_isinff): Use Infinityf.
(test_isinfd): Use Infinityd.
(test_isinfl): Use Infinityl.
* tests/test-isnan.c: Include infinity.h.
(test_float): Use Infinityf.
(test_double): Use Infinityd.
(test_long_double): Use Infinityl.
* tests/test-isnanf.h: Include infinity.h.
(main): Use Infinityf.
* tests/test-isnand.h: Include infinity.h.
(main): Use Infinityd.
* tests/test-isnanl.h: Include infinity.h.
(main): Use Infinityl.
* tests/test-ldexpl.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-printf-posix.h: Include infinity.h.
(test_function): Use Infinityd.
* tests/test-roundf1.c: Include infinity.h.
(main): Use Infinityf.
* tests/test-round1.c: Include infinity.h.
(main): Use Infinityd.
* tests/test-roundl.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-signbit.c: Include infinity.h.
(test_signbitf): Use Infinityf.
(test_signbitd): Use Infinityd.
(test_signbitl): Use Infinityl.
* tests/test-snprintf-posix.h: Include infinity.h.
(test_function): Use Infinityd, Infinityl.
* tests/test-sprintf-posix.h: Include infinity.h.
(test_function): Use Infinityd, Infinityl.
* tests/test-truncf1.c: Include infinity.h.
(main): Use Infinityf.
* tests/test-trunc1.c: Include infinity.h.
(main): Use Infinityd.
* tests/test-truncl.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-vasnprintf-posix.c: Include infinity.h.
(test_function): Use Infinityd, Infinityl.
* tests/test-vasprintf-posix.c: Include infinity.h.
(test_function): Use Infinityd, Infinityl.
* modules/ceilf-tests (Files): Add tests/infinity.h.
* modules/ceil-tests (Files): Likewise.
* modules/ceill-tests (Files): Likewise.
* modules/dprintf-posix-tests (Files): Likewise.
* modules/floorf-tests (Files): Likewise.
* modules/floor-tests (Files): Likewise.
* modules/floorl-tests (Files): Likewise.
* modules/fprintf-posix-tests (Files): Likewise.
* modules/frexp-tests (Files): Likewise.
* modules/frexp-nolibm-tests (Files): Likewise.
* modules/frexpl-tests (Files): Likewise.
* modules/frexpl-nolibm-tests (Files): Likewise.
* modules/isfinite-tests (Files): Likewise.
* modules/isinf-tests (Files): Likewise.
* modules/isnan-tests (Files): Likewise.
* modules/isnanf-tests (Files): Likewise.
* modules/isnanf-nolibm-tests (Files): Likewise.
* modules/isnand-tests (Files): Likewise.
* modules/isnand-nolibm-tests (Files): Likewise.
* modules/isnanl-tests (Files): Likewise.
* modules/isnanl-nolibm-tests (Files): Likewise.
* modules/ldexpl-tests (Files): Likewise.
* modules/printf-posix-tests (Files): Likewise.
* modules/roundf-tests (Files): Likewise.
* modules/round-tests (Files): Likewise.
* modules/roundl-tests (Files): Likewise.
* modules/signbit-tests (Files): Likewise.
* modules/snprintf-posix-tests (Files): Likewise.
* modules/sprintf-posix-tests (Files): Likewise.
* modules/truncf-tests (Files): Likewise.
* modules/trunc-tests (Files): Likewise.
* modules/truncl-tests (Files): Likewise.
* modules/vasnprintf-posix-tests (Files): Likewise.
* modules/vasprintf-posix-tests (Files): Likewise.
* modules/vdprintf-posix-tests (Files): Likewise.
* modules/vfprintf-posix-tests (Files): Likewise.
* modules/vprintf-posix-tests (Files): Likewise.
* modules/vsnprintf-posix-tests (Files): Likewise.
* modules/vsprintf-posix-tests (Files): Likewise.
* modules/xprintf-posix-tests (Files): Likewise.

12 years agoEnsure pid_t gets defined.
Bruno Haible [Sun, 11 Sep 2011 12:14:04 +0000 (14:14 +0200)]
Ensure pid_t gets defined.

* m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
* m4/sched_h.m4 (gl_SCHED_H): Likewise.
* m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
* m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
* m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
* m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
* m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
* tests/test-fcntl-h.c: Check that pid_t is defined.
* tests/test-sched.c: Likewise.
* tests/test-termios.c: Likewise.
* tests/test-time.c: Likewise.
* doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
* doc/posix-headers/signal.texi: Likewise.
* doc/posix-headers/sys_types.texi: Likewise.
* doc/posix-headers/time.texi: Likewise.

12 years agoacl: Fix compilation on Solaris 10 (older version).
Bruno Haible [Sun, 11 Sep 2011 09:56:35 +0000 (11:56 +0200)]
acl: Fix compilation on Solaris 10 (older version).

* lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
of ACE_EVERYONE.
* lib/set-mode-acl.c (qset_acl): Likewise.
Reported by Christian Jullien <eligis@orange.fr>.

12 years agoiconv, unsetenv: Add support for MSVC compiler.
Bruno Haible [Sat, 10 Sep 2011 20:30:20 +0000 (22:30 +0200)]
iconv, unsetenv: Add support for MSVC compiler.

* m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
* m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.

12 years ago*printf: Add support for MSVC compiler.
Bruno Haible [Sat, 10 Sep 2011 19:18:08 +0000 (21:18 +0200)]
*printf: Add support for MSVC compiler.

* m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
handles the exception caused by the %n directive. When cross-compiling,
guess no on native Windows.
(gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
emulate it through vsnprintf.
* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
* doc/posix-functions/dprintf.texi: Update documentation regarding
MSVC 9.
* 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/swprintf.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.
* doc/glibc-functions/asprintf.texi: Likewise.
* doc/glibc-functions/obstack_printf.texi: Likewise.
* doc/glibc-functions/obstack_vprintf.texi: Likewise.
* doc/glibc-functions/vasprintf.texi: Likewise.

12 years agonocrash: Add support for native Windows.
Bruno Haible [Sat, 10 Sep 2011 18:54:24 +0000 (20:54 +0200)]
nocrash: Add support for native Windows.

* m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.

12 years agoabsolute-header, include-next: Add support for MSVC compiler.
Bruno Haible [Sat, 10 Sep 2011 09:35:17 +0000 (11:35 +0200)]
absolute-header, include-next: Add support for MSVC compiler.

* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
AC_CANONICAL_HOST. On native Windows, recognize also backslash as
directory separator in #line directives.
* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
recognize also backslash as directory separator in #line directives.

12 years agoChangeLog: change each leading sequence of 8 spaces to a TAB
Jim Meyering [Thu, 8 Sep 2011 15:30:48 +0000 (17:30 +0200)]
ChangeLog: change each leading sequence of 8 spaces to a TAB

12 years agomaint.mk: mark the post-release commit log with "maint: " prefix
Jim Meyering [Thu, 8 Sep 2011 15:26:05 +0000 (17:26 +0200)]
maint.mk: mark the post-release commit log with "maint: " prefix

* top/maint.mk (emit-commit-log): Add "maint: " prefix to the
one-line commit-log summary.

12 years agoDoc about crypt functions.
Bruno Haible [Thu, 8 Sep 2011 09:58:44 +0000 (11:58 +0200)]
Doc about crypt functions.

* doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
systems.
* doc/posix-functions/encrypt.texi: Likewise.
* doc/posix-functions/setkey.texi: Likewise.

12 years agogc: Fix copyright header.
Simon Josefsson [Thu, 8 Sep 2011 07:30:13 +0000 (09:30 +0200)]
gc: Fix copyright header.

* lib/gc.h: Fix copyright header.

12 years agopthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
Bruno Haible [Wed, 7 Sep 2011 22:48:59 +0000 (00:48 +0200)]
pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.

* m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
AC_LINK_IFELSE instead of AC_SEARCH_LIBS.

12 years agoopenat: Work around compilation error with OSF/1 5.1 DTK cc.
Bruno Haible [Wed, 7 Sep 2011 22:03:50 +0000 (00:03 +0200)]
openat: Work around compilation error with OSF/1 5.1 DTK cc.

* lib/fopen.c: Use different syntax for include of <stdio.h>.
* lib/freopen.c: Likewise.
* lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
* lib/lstat.c: Likewise.
* lib/stat.c: Likewise.
* lib/open.c: Use different syntax for include of <fcntl.h>.
* lib/openat.c: Include fcntl.h again, explicitly.

12 years agoRevert last commit.
Bruno Haible [Wed, 7 Sep 2011 21:52:31 +0000 (23:52 +0200)]
Revert last commit.

12 years agoopenat: Work around compilation error with OSF/1 5.1 DTK cc.
Bruno Haible [Wed, 7 Sep 2011 09:48:23 +0000 (11:48 +0200)]
openat: Work around compilation error with OSF/1 5.1 DTK cc.

* lib/openat.h: Use different syntax for include of <fcntl.h>.

12 years agoparse-datetime: document the newly accepted format
J.T. Conklin [Sun, 4 Sep 2011 21:11:23 +0000 (23:11 +0200)]
parse-datetime: document the newly accepted format

* doc/parse-datetime.texi (Combined date and time of day items):
New section.

12 years agoautoupdate
Karl Berry [Tue, 6 Sep 2011 13:40:41 +0000 (06:40 -0700)]
autoupdate

12 years agoacl: Fix a test failure on newer Solaris 10 with ZFS.
Bruno Haible [Tue, 6 Sep 2011 10:05:45 +0000 (12:05 +0200)]
acl: Fix a test failure on newer Solaris 10 with ZFS.

* tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
ENOSYS as no ACL.
Reported by Jim Meyering.

12 years agoacl: Update for AIX >= 5.3 with NFS.
Bruno Haible [Tue, 6 Sep 2011 09:32:18 +0000 (11:32 +0200)]
acl: Update for AIX >= 5.3 with NFS.

* lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
ENOSYS as no ACL.

12 years agoacl: Fix a test failure on AIX >= 5.3 with NFS.
Bruno Haible [Tue, 6 Sep 2011 09:24:23 +0000 (11:24 +0200)]
acl: Fix a test failure on AIX >= 5.3 with NFS.

* tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
as no ACL.

12 years agoacl: Fix a test failure on IRIX 6.5 with NFS.
Bruno Haible [Tue, 6 Sep 2011 08:38:52 +0000 (10:38 +0200)]
acl: Fix a test failure on IRIX 6.5 with NFS.

* lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
* lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
* lib/copy-acl.c (qcopy_acl): Likewise.

12 years agoopenat: port to AIX 7.1 with large files
Paul Eggert [Tue, 6 Sep 2011 00:40:58 +0000 (17:40 -0700)]
openat: port to AIX 7.1 with large files

AIX 7.1 does a "#define openat open64at" if large files are in use,
so we can't simply #undef openat.  Use the orig_openat trick (similar
to orig_open in lib/open.c) to work around the problem.  Problem
reported by Kevin Brott for GNU tar, in the thread containing
<http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
* lib/openat.c (__need_system_fcntl_h): Define first.
Include <fcntl.h> and <sys/types.h> before undefining.
(orig_openat) [HAVE_OPENAT]: New inline function.
(openat) [HAVE_OPENAT]: Do not undef.
(rpl_openat): Use orig_openat, not openat.

12 years agoacl: Avoid errors on NonStop Kernel.
Joachim Schmitz [Mon, 5 Sep 2011 22:34:33 +0000 (00:34 +0200)]
acl: Avoid errors on NonStop Kernel.

* lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
ENOTSUP errors.

12 years agoacl: Clean up Solaris code.
Bruno Haible [Mon, 5 Sep 2011 22:26:07 +0000 (00:26 +0200)]
acl: Clean up Solaris code.

* lib/acl-internal.h: Remove no-op #if.
* lib/file-has-acl.c: Likewise.
* lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
* lib/copy-acl.c (qcopy_acl): Likewise.

12 years agoacl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version).
Bruno Haible [Mon, 5 Sep 2011 22:01:24 +0000 (00:01 +0200)]
acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version).

* lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
trivial.

12 years agoacl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
Bruno Haible [Mon, 5 Sep 2011 21:45:11 +0000 (23:45 +0200)]
acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).

* lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
10.
* lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
(acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
* lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
instead of acl_get, facl_get, acl_set, facl_set.

12 years agocopy-file: Try unit tests on more file systems.
Bruno Haible [Mon, 5 Sep 2011 09:25:09 +0000 (11:25 +0200)]
copy-file: Try unit tests on more file systems.

* tests/test-copy-file-1.sh: New file.
* tests/test-copy-file-2.sh: New file.
* modules/copy-file-tests (Files): Add them.
(Makefile.am): Add them to TESTS.

12 years agoacl: Try unit tests on more file systems.
Bruno Haible [Mon, 5 Sep 2011 09:23:55 +0000 (11:23 +0200)]
acl: Try unit tests on more file systems.

* tests/test-file-has-acl-1.sh: New file.
* tests/test-file-has-acl-2.sh: New file.
* tests/test-set-mode-acl-1.sh: New file.
* tests/test-set-mode-acl-2.sh: New file.
* tests/test-copy-acl-1.sh: New file.
* tests/test-copy-acl-2.sh: New file.
* modules/acl-tests (Files): Add them.
(Makefile.am): Add them to TESTS.

12 years agoacl: Remove unused code in last commit.
Bruno Haible [Mon, 5 Sep 2011 00:38:24 +0000 (02:38 +0200)]
acl: Remove unused code in last commit.

12 years agoacl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
Bruno Haible [Sun, 4 Sep 2011 22:44:13 +0000 (00:44 +0200)]
acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).

* lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
10.
(OLD_ALLOW, OLD_DENY): New macros.
(NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
ACE_ACCESS_ALLOWED_ACE_TYPE.
(NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
ACE_ACCESS_DENIED_ACE_TYPE.
(OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
(NEW_ACE_EXECUTE): Fix value.
(NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
NEW_ACE_SYNCHRONIZE): New macros.
* lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
instead of acl_fromtext, acl_set, facl_set.
Fixes a coreutils/tests/cp/perm failure.

12 years agoopenat: test for fstatat (..., 0) bug
Paul Eggert [Sun, 4 Sep 2011 03:17:33 +0000 (20:17 -0700)]
openat: test for fstatat (..., 0) bug

Further testing with tar suggests that fstatat (..., 0)
does not work in general, on AIX 7.1; see
<http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
So, give up entirely on AIX 7.1's fstatat, and fall back on our
replacement fstatat (which is what older AIX releases were using
anyway).
* lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
use is now changed to orig_fstatat.  This was probably the right
thing to do anyway.
(FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
(rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
(rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
(AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
* m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
if the bug is found.

12 years agoopenat: test for fstatat (AT_FDCWD, ..., 0) bug
Paul Eggert [Sat, 3 Sep 2011 17:03:22 +0000 (10:03 -0700)]
openat: test for fstatat (AT_FDCWD, ..., 0) bug

This tests for another fstatat bug on AIX 7.1:
fstatat (AT_FDCWD, ..., 0) does not work.  See
<http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
* lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
(LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
(rpl_fstatat): Adjust so that it works around either (or both)
bugs if present.
* m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.

12 years agoavoid literal : in index entries
Karl Berry [Sat, 3 Sep 2011 16:56:26 +0000 (09:56 -0700)]
avoid literal : in index entries

12 years agoAllow the user to override the choice of AR, ARFLAGS, RANLIB.
Bruno Haible [Fri, 2 Sep 2011 20:15:45 +0000 (22:15 +0200)]
Allow the user to override the choice of AR, ARFLAGS, RANLIB.

* m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
values of AR, ARFLAGS, RANLIB.
Reported by John W. Eaton <jwe@gnu.org> for Octave.

12 years agoFind 'ar' program that fits with --host argument.
Bruno Haible [Fri, 2 Sep 2011 20:00:24 +0000 (22:00 +0200)]
Find 'ar' program that fits with --host argument.

* m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.

12 years agotests: init.sh: Support any non-GNU diff.
Bruno Haible [Fri, 2 Sep 2011 16:27:55 +0000 (18:27 +0200)]
tests: init.sh: Support any non-GNU diff.

* tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
Solaris 8.

12 years agotests: init.sh: work also with any non-GNU diff that supports -u
Bruno Haible [Fri, 2 Sep 2011 12:13:59 +0000 (14:13 +0200)]
tests: init.sh: work also with any non-GNU diff that supports -u

* tests/init.sh: Relax check for diff -u support.
Rather than checking for GNU diff via --version, simply check
for support for -u itself.  Useful at least on OpenBSD 4.9,
AIX 7.1, IRIX 6.5 and Solaris 10.

12 years agostrtoimax, strtoumax: Document problem on HP-UX 11.
Bruno Haible [Thu, 1 Sep 2011 23:39:22 +0000 (01:39 +0200)]
strtoimax, strtoumax: Document problem on HP-UX 11.

* doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
* doc/posix-functions/strtoumax.texi: Likewise.

12 years agostrtoumax: Avoid link error on OSF/1 with DTK cc.
Bruno Haible [Thu, 1 Sep 2011 23:36:31 +0000 (01:36 +0200)]
strtoumax: Avoid link error on OSF/1 with DTK cc.

* m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
defined as a function.
* modules/strtoumax (Depends-on, configure.ac): Test only whether
strtoumax is defined, not whether it is declared.

12 years agostrtoimax: Avoid link error on OSF/1 with DTK cc.
Bruno Haible [Thu, 1 Sep 2011 23:35:53 +0000 (01:35 +0200)]
strtoimax: Avoid link error on OSF/1 with DTK cc.

* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
defined as a function.
* modules/strtoimax (Depends-on, configure.ac): Test only whether
strtoimax is defined, not whether it is declared.

12 years agoimaxdiv: Avoid link error on OSF/1 with DTK cc.
Bruno Haible [Thu, 1 Sep 2011 23:33:11 +0000 (01:33 +0200)]
imaxdiv: Avoid link error on OSF/1 with DTK cc.

* m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
as a function.
* modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
whether it is declared.

12 years agoimaxabs: Avoid link error on OSF/1 with DTK cc.
Bruno Haible [Thu, 1 Sep 2011 23:32:05 +0000 (01:32 +0200)]
imaxabs: Avoid link error on OSF/1 with DTK cc.

12 years agoTests for module 'strtoumax'.
Bruno Haible [Thu, 1 Sep 2011 22:53:00 +0000 (00:53 +0200)]
Tests for module 'strtoumax'.

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

12 years agoTests for module 'strtoimax'.
Bruno Haible [Thu, 1 Sep 2011 22:52:28 +0000 (00:52 +0200)]
Tests for module 'strtoimax'.

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

12 years agoTests for module 'imaxdiv'.
Bruno Haible [Thu, 1 Sep 2011 22:51:51 +0000 (00:51 +0200)]
Tests for module 'imaxdiv'.

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

12 years agoTests for module 'imaxabs'.
Bruno Haible [Thu, 1 Sep 2011 22:51:11 +0000 (00:51 +0200)]
Tests for module 'imaxabs'.

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

12 years agopthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
Bruno Haible [Thu, 1 Sep 2011 21:03:26 +0000 (23:03 +0200)]
pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.

* m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
pthread_create.

12 years ago* lib/fstatat.c: Include <sys/types.h> before <sys/stat.h>.
Paul Eggert [Thu, 1 Sep 2011 20:10:42 +0000 (13:10 -0700)]
* lib/fstatat.c: Include <sys/types.h> before <sys/stat.h>.

12 years agoopenat: work around AIX 7.1 fstatat issue
Paul Eggert [Thu, 1 Sep 2011 19:53:10 +0000 (12:53 -0700)]
openat: work around AIX 7.1 fstatat issue

This should fix the problem that was not properly fixed
in the previous change, dated 2011-08-30.
* lib/fstatat.c: Include <sys/stat.h> twice, the first with
__need_system_stat_h defined.
(orig_fstatat) [HAVE_FSTATAT]: New function.
(rpl_fstatat): Go back to the old way of doing things,
except call orig_fstatat instead of fstatat.
* m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
Remove unnecessary check whether fstatat fills in st_size etc.

12 years agosys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
Bruno Haible [Thu, 1 Sep 2011 10:15:11 +0000 (12:15 +0200)]
sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.

* lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
just include the system's header.

12 years agotests: avoid spurious assertion failure in test-float.c on ppc64
Jim Meyering [Wed, 31 Aug 2011 15:47:18 +0000 (17:47 +0200)]
tests: avoid spurious assertion failure in test-float.c on ppc64

* tests/test-float.c (test_long_double): Comment out an assertion,
LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
with gcc-4.4.4.

12 years agomaint: indent with spaces, not TABs
Jim Meyering [Wed, 31 Aug 2011 15:15:35 +0000 (17:15 +0200)]
maint: indent with spaces, not TABs

I need to get in the habit of running gnulib's "make check".
Both of these would have been caught.
* m4/largefile.m4: Indent with spaces, not TABs.
* lib/parse-datetime.y (iso_8601_time): Likewise.
Spotted by Pádraig Brady.

12 years agotest-parse-datetime.c: accommodate a relatively strict gcc warning
Jim Meyering [Wed, 31 Aug 2011 14:43:29 +0000 (16:43 +0200)]
test-parse-datetime.c: accommodate a relatively strict gcc warning

* tests/test-parse-datetime.c (gmt_offset): Declare function "static",
to avoid a warning from gcc's -Werror=missing-declarations.
Insert a few spaces-before-funcall-parenthesis.

12 years agoparse-datetime: accept ISO 8601 date and time rep with "T" separator
J.T. Conklin [Wed, 17 Aug 2011 23:40:49 +0000 (16:40 -0700)]
parse-datetime: accept ISO 8601 date and time rep with "T" separator

The parser now accepts ISO 8601 date-time strings with "T" as the
separator.  It has long parsed dates like "2004-02-29 16:21:42"
with a space between the date and time strings.  Now it also parses
"2004-02-29T16:21:42" and fractional-second and time-zone-annotated
variants like "2004-02-29T16:21:42.333-07:00"

* lib/parse-datetime.y: Parse ISO 8601 extended date and time
of day representation using the 'T' separator character.
* doc/parse-datetime.texi (General date syntax): replace use of
deprecated --iso-8601 option with --rfc-3339 in example of date
command output formats that can be parsed.
* tests/test-parse-datetime.c (tm_diff): New function, taken from
lib/parse-datetime.y.
(gmt_offset): New function.
(main): Add additional test cases to validate ISO8601 extended
date and time of day format parsing.