Paul Eggert [Fri, 6 Jul 2007 16:42:06 +0000 (16:42 +0000)]
* lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
includes <cygwin/sys_time.h> which includes <sys/select.h> which
include <sys/time.h>.
Reported by Eric Blake.
Eric Blake [Fri, 6 Jul 2007 14:22:21 +0000 (14:22 +0000)]
Fix testing canonicalize on cygwin.
* modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
Revert patch from 2007-06-19.
* tests/test-canonicalize-lgpl.c (main): Instead, skip test when
canonicalize module is also in use.
* tests/test-canonicalize.c: New file.
* tests/test-canonicalize.sh: Likewise.
* modules/canonicalize-tests: Likewise.
Jim Meyering [Wed, 4 Jul 2007 21:46:44 +0000 (21:46 +0000)]
* lib/getugroups.h: New file.
* lib/getugroups.c: Include "getugroups.h".
Remove uses of "register" keyword.
Move local variable, "cp", down into scope where used.
Give "username" parameter the "const" attribute.
* modules/getugroups (Files): Add lib/getugroups.h
Paul Eggert [Mon, 2 Jul 2007 08:19:55 +0000 (08:19 +0000)]
* lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
#define __STDC_LIMIT_MACROS temporarily while including
<stdint.h>, so that __STDC_LIMIT_MACROS is defined.
Problem reported by Joel E. Denny in
<http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
Simon Josefsson [Thu, 28 Jun 2007 09:25:21 +0000 (09:25 +0000)]
2007-06-27 Simon Josefsson <simon@josefsson.org>
Bruno Haible <bruno@clisp.org>
* m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
(gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
Paul Eggert [Sat, 23 Jun 2007 19:47:10 +0000 (19:47 +0000)]
* lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
method that I hope also handles the double-include problem noted
by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
Ralf Wildenhues [Sat, 23 Jun 2007 07:40:57 +0000 (07:40 +0000)]
* gnulib-tool (IFS): Initialize early, so we don't set it to
empty later.
(self_abspathname): Rewrite algorithm to set it, reindent.
(func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
(func_create_megatestdir): Merge some sed scripts.
Ralf Wildenhues [Fri, 22 Jun 2007 18:16:39 +0000 (18:16 +0000)]
* gnulib-tool (func_add_or_update, func_create_testdir): Do not
simplify `sed_replace_build_aux' scripts, they are portable but
echoing them with `echo' is not.
Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
Jim Meyering [Tue, 19 Jun 2007 06:43:37 +0000 (06:43 +0000)]
xreadlink-with-size: Remove module. No longer used.
Ex-callers now use xreadlink or mreadlink-with-size.
* modules/xreadlink-with-size: Remove module.
* lib/xreadlink-with-size.c: Remove file.
* lib/xreadlink.h (xreadlink_with_size): Remove prototype.
(xreadlink): Remove inaccurate comment. The one in xreadlink.c,
just before the function definition *is* accurate.
Jim Meyering [Tue, 19 Jun 2007 06:13:40 +0000 (06:13 +0000)]
Eliminate one way canonicalize_filename_mode could exit.
* lib/canonicalize.c (canonicalize_filename_mode):
Use mreadlink_with_size, not xreadlink_with_size.
Paul Eggert [Mon, 18 Jun 2007 23:09:12 +0000 (23:09 +0000)]
Detect porting problems to FreeBSD/arm, which has time_t wider than
long int. Original problem reported for GNU diff by Xin Li in
<http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
* modules/getdate (Depends-on): Add intprops, verify.
* lib/getdate.y: Include intprops.h, verify.h. Verify that time_t
is an integer type no wider than long int.
Jim Meyering [Mon, 18 Jun 2007 12:21:16 +0000 (12:21 +0000)]
New module: mreadlink-with-size.
* MODULES.html.sh: Add mreadlink-with-size.
* modules/mreadlink-with-size: New module
* modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
not xreadlink-with-size.
* lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
Paul Eggert [Sat, 16 Jun 2007 06:10:44 +0000 (06:10 +0000)]
Revamp lchown so that it lives in unistd.h where it belongs.
* lib/lchown.h: Remove.
* lib/dirchownmod.c: Don't include lib/lchown.h.
* lib/fchownat.c: Likewise.
* lib/openat.c: Likewise.
* lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
does not follow symlinks.
(EOPNOTSUPP): Define if not defined.
* lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
is defined to 0.
(lchown): New decl.
* m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
Do not check for lchown decl.
Set REPLACE_LCHOWN.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
REPLACE_LCHOWN.
* modules/chown: Make it clear it follows symlinks.
* modules/lchown: Make it clear it doesn't follow symlinks.
(Files): Remove lib/lchown.h
(Depends-on): Add unistd.
(configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
(Include): Include <unistd.h>, not "lchown.h".
* modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
REPLACE_LCHOWN.