summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-sysdeps-util-unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'dbus/dbus-sysdeps-util-unix.c')
-rw-r--r--dbus/dbus-sysdeps-util-unix.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/dbus/dbus-sysdeps-util-unix.c b/dbus/dbus-sysdeps-util-unix.c
index 98c8992b..57c943d2 100644
--- a/dbus/dbus-sysdeps-util-unix.c
+++ b/dbus/dbus-sysdeps-util-unix.c
@@ -507,9 +507,12 @@ static dbus_bool_t
dirent_buf_size(DIR * dirp, size_t *size)
{
long name_max;
-# if defined(HAVE_FPATHCONF) && defined(HAVE_DIRFD) \
- && defined(_PC_NAME_MAX)
- name_max = fpathconf(dirfd(dirp), _PC_NAME_MAX);
+# if defined(HAVE_FPATHCONF) && defined(_PC_NAME_MAX)
+# if defined(HAVE_DIRFD)
+ name_max = fpathconf(dirfd(dirp), _PC_NAME_MAX);
+# else
+ name_max = fpathconf(dirp->dd_fd, _PC_NAME_MAX);
+# endif /* HAVE_DIRFD */
if (name_max == -1)
# if defined(NAME_MAX)
name_max = NAME_MAX;