From 6b6514dc5f361bd3871c447e42fde55cff7d252e Mon Sep 17 00:00:00 2001 From: mjmac Date: Thu, 28 Dec 2006 02:45:16 +0000 Subject: [PATCH] * fix build breakage when this branch is built in a real SLES10 env --- libsysio/configure.in | 14 ++++++++++++++ libsysio/include/sysio.h | 4 ++++ libsysio/src/readlink.c | 4 ++++ 3 files changed, 22 insertions(+) diff --git a/libsysio/configure.in b/libsysio/configure.in index c6b6e30..4ed6794 100644 --- a/libsysio/configure.in +++ b/libsysio/configure.in @@ -209,6 +209,20 @@ if test "$machine" = rs6000; then machine="powerpc" fi +AC_MSG_CHECKING(if readlink returns ssize_t) +AC_TRY_COMPILE([ + include +],[ + ssize_t readlink(const char *, char *, size_t); +], + readlink_returns_ssize_t="yes", + readlink_returns_ssize_t="yes" +) +AC_MSG_RESULT($readlink_returns_ssize_t) +if test x$readlink_returns_ssize_t = xyes; then + AC_DEFINE(HAVE_POSIX_1003_READLINK, 1, [readlink returns ssize_t]) +fi + # If we can't provoke the declaration of stat64 then we assume the # environment supports 64-bit file support naturally. Beware! AC_MSG_CHECKING(whether _LARGEFILE64_SOURCE definition is required) diff --git a/libsysio/include/sysio.h b/libsysio/include/sysio.h index 770d741..bae86c2 100644 --- a/libsysio/include/sysio.h +++ b/libsysio/include/sysio.h @@ -247,7 +247,11 @@ extern int SYSIO_INTERFACE_NAME(ftruncate64)(int fd, off64_t length); #endif extern int SYSIO_INTERFACE_NAME(rmdir)(const char *path); extern int SYSIO_INTERFACE_NAME(symlink)(const char *path1, const char *path2); +#ifdef HAVE_POSIX_1003_READLINK +extern ssize_t SYSIO_INTERFACE_NAME(readlink)(const char *path, +#else extern int SYSIO_INTERFACE_NAME(readlink)(const char *path, +#endif char *buf, size_t bufsiz); extern int SYSIO_INTERFACE_NAME(link)(const char *oldpath, const char *newpath); diff --git a/libsysio/src/readlink.c b/libsysio/src/readlink.c index 8693dc3..2497dfd 100644 --- a/libsysio/src/readlink.c +++ b/libsysio/src/readlink.c @@ -55,7 +55,11 @@ #include "inode.h" #include "sysio-symbols.h" +#ifdef HAVE_POSIX_1003_READLINK +ssize_t +#else int +#endif SYSIO_INTERFACE_NAME(readlink)(const char *path, char *buf, size_t bufsiz) { struct intent intent; -- 1.8.3.1