Commit 22623192 authored by John Palmieri's avatar John Palmieri

* configure.in: Add a check for DIR *dirp->dd_fd

* dbus/dbus-sysdeps-util-unix: if HAVE_DDFD is defined use
  DIR *dirp->dd_fd else use DIR *dirp->__dd_fd.  This takes care
  of both Solaris and Irix
parent 524ddfcb
2006-11-02 John (J5) Palmieri <johnp@redhat.com>
* configure.in: Add a check for DIR *dirp->dd_fd
* dbus/dbus-sysdeps-util-unix: if HAVE_DDFD is defined use
DIR *dirp->dd_fd else use DIR *dirp->__dd_fd. This takes care
of both Solaris and Irix
2006-11-01 Havoc Pennington <hp@redhat.com>
* bus/dbus-daemon.1.in: document standard_session_servicedirs
......
......@@ -526,10 +526,8 @@ AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
AC_CHECK_FUNCS(vsnprintf vasprintf nanosleep usleep poll setenv unsetenv socketpair getgrouplist fpathconf)
AC_MSG_CHECKING(for dirfd)
AC_TRY_COMPILE([
AC_TRY_LINK([
#include <sys/types.h>
#include <dirent.h>
],[
......@@ -542,6 +540,23 @@ dbus_have_dirfd=yes, dbus_have_dirfd=no)
AC_MSG_RESULT($dbus_have_dirfd)
if test "$dbus_have_dirfd" = yes; then
AC_DEFINE(HAVE_DIRFD,1,[Have dirfd function])
else
AC_MSG_CHECKING(for DIR *dirp->dd_fd)
AC_TRY_LINK([
#include <sys/types.h>
#include <dirent.h>
],[
DIR *dirp;
int fd;
dirp = opendir(".");
fd = dirp->dd_fd;
closedir(dirp);
],
dbus_have_ddfd=yes, dbus_have_ddfd=no)
AC_MSG_RESULT($dbus_have_ddfd)
if test "$dbus_have_ddfd" = yes; then
AC_DEFINE(HAVE_DDFD,1,[Have the ddfd member of DIR])
fi
fi
AC_CHECK_HEADERS(execinfo.h, [AC_CHECK_FUNCS(backtrace)])
......
......@@ -510,8 +510,10 @@ dirent_buf_size(DIR * dirp, size_t *size)
# if defined(HAVE_FPATHCONF) && defined(_PC_NAME_MAX)
# if defined(HAVE_DIRFD)
name_max = fpathconf(dirfd(dirp), _PC_NAME_MAX);
# else
# elif defined(HAVE_DDFD)
name_max = fpathconf(dirp->dd_fd, _PC_NAME_MAX);
# else
name_max = fpathconf(dirp->__dd_fd, _PC_NAME_MAX);
# endif /* HAVE_DIRFD */
if (name_max == -1)
# if defined(NAME_MAX)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment