* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
* lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
symlink is not used.
* modules/symlinkat (Depends-on): Add symlink.
* modules/canonicalize-lgpl-tests (Depends-on): Likewise.
* modules/canonicalize-tests (Depends-on): Likewise.
* modules/lstat-tests (Depends-on): Likewise.
* modules/openat-tests (Depends-on): Likewise.
* modules/remove-tests (Depends-on): Likewise.
* modules/rmdir-tests (Depends-on): Likewise.
* modules/unlink-tests (Depends-on): Likewise.
* tests/test-canonicalize-lgpl.c (symlink): Delete stub.
* tests/test-canonicalize.c (symlink): Likewise.
* tests/test-fstatat.c (symlink): Likewise.
* tests/test-lstat.c (symlink): Likewise.
* tests/test-remove.c (symlink): Likewise.
* tests/test-rmdir.c (symlink): Likewise.
* tests/test-unlink.c (symlink): Likewise.
* tests/test-unlinkat.c (symlink): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
2009-09-23 Eric Blake <ebb9@byu.net>
+ symlink: use throughout gnulib
+ * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
+ * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
+ symlink is not used.
+ * modules/symlinkat (Depends-on): Add symlink.
+ * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
+ * modules/canonicalize-tests (Depends-on): Likewise.
+ * modules/lstat-tests (Depends-on): Likewise.
+ * modules/openat-tests (Depends-on): Likewise.
+ * modules/remove-tests (Depends-on): Likewise.
+ * modules/rmdir-tests (Depends-on): Likewise.
+ * modules/unlink-tests (Depends-on): Likewise.
+ * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
+ * tests/test-canonicalize.c (symlink): Likewise.
+ * tests/test-fstatat.c (symlink): Likewise.
+ * tests/test-lstat.c (symlink): Likewise.
+ * tests/test-remove.c (symlink): Likewise.
+ * tests/test-rmdir.c (symlink): Likewise.
+ * tests/test-unlink.c (symlink): Likewise.
+ * tests/test-unlinkat.c (symlink): Likewise.
+
symlink: new module, for Solaris 9 bug
* modules/symlink: New file.
* m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
#include <unistd.h>
#if !HAVE_SYMLINK
-/* Mingw lacks symlink, so this wrapper is trivial. */
+/* Mingw lacks symlink, and it is more efficient to provide a trivial
+ wrapper than to go through at-func.c to call rpl_symlink. */
# include <errno.h>
-# serial 2
+# serial 3
# See if we need to provide symlinkat/readlinkat replacement.
dnl Copyright (C) 2009 Free Software Foundation, Inc.
AC_REQUIRE([gl_FUNC_OPENAT])
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
- AC_CHECK_FUNCS_ONCE([symlink symlinkat readlinkat])
+ AC_CHECK_FUNCS_ONCE([symlinkat readlinkat])
if test $ac_cv_func_symlinkat = no; then
# No known system has readlinkat but not symlinkat
HAVE_SYMLINKAT=0
Depends-on:
same-inode
+symlink
configure.ac:
-AC_CHECK_FUNCS_ONCE([symlink])
Makefile.am:
TESTS += test-canonicalize-lgpl
Depends-on:
progname
same-inode
+symlink
configure.ac:
-AC_CHECK_FUNCS_ONCE([symlink])
Makefile.am:
TESTS += test-canonicalize
errno
same-inode
stdbool
+symlink
configure.ac:
-AC_CHECK_FUNCS_ONCE([symlink])
Makefile.am:
TESTS += test-lstat
Depends-on:
pathmax
+symlink
unlinkdir
configure.ac:
-AC_CHECK_FUNCS_ONCE([symlink])
Makefile.am:
TESTS += test-fstatat test-openat test-unlinkat
tests/test-remove.c
Depends-on:
+symlink
sys_stat
configure.ac:
-AC_CHECK_FUNCS_ONCE([symlink])
Makefile.am:
TESTS += test-remove
Depends-on:
stdbool
+symlink
configure.ac:
-AC_CHECK_FUNCS_ONCE([symlink])
Makefile.am:
TESTS += test-rmdir
fcntl-h
openat
readlink
+symlink
unistd
configure.ac:
Depends-on:
stdbool
+symlink
unlinkdir
configure.ac:
-AC_CHECK_FUNCS_ONCE([symlink])
Makefile.am:
TESTS += test-unlink
#include "same-inode.h"
-#if !HAVE_SYMLINK
-# define symlink(a,b) (-1)
-#endif /* !HAVE_SYMLINK */
-
#define ASSERT(expr) \
do \
{ \
#include "same-inode.h"
-#if !HAVE_SYMLINK
-# define symlink(a,b) (-1)
-#endif
-
#define ASSERT(expr) \
do \
{ \
#include "pathmax.h"
#include "same-inode.h"
-#if !HAVE_SYMLINK
-# define symlink(a,b) (-1)
-#endif
-
#define ASSERT(expr) \
do \
{ \
#include "same-inode.h"
-#if !HAVE_SYMLINK
-# define symlink(a,b) (-1)
-#endif
-
#define ASSERT(expr) \
do \
{ \
#include <sys/stat.h>
#include <unistd.h>
-#if !HAVE_SYMLINK
-# define symlink(a,b) (-1)
-#endif
-
#define ASSERT(expr) \
do \
{ \
#include <stdlib.h>
#include <sys/stat.h>
-#if !HAVE_SYMLINK
-# define symlink(a,b) (-1)
-#endif
-
#define ASSERT(expr) \
do \
{ \
#include "unlinkdir.h"
-#if !HAVE_SYMLINK
-# define symlink(a,b) (-1)
-#endif
-
#define ASSERT(expr) \
do \
{ \
#include "unlinkdir.h"
-#if !HAVE_SYMLINK
-# define symlink(a,b) (-1)
-#endif
-
#define ASSERT(expr) \
do \
{ \