Commit 7eb1e5fc authored by William Orr's avatar William Orr Committed by Colin Walters

glocalfile: Only use O_DIRECTORY if available

Solaris 10 for example doesn't have it.

https://bugzilla.gnome.org/show_bug.cgi?id=708860
parent e631507c
......@@ -1224,6 +1224,18 @@ AS_IF([test "$ac_cv_func_statfs" = yes], [
AC_MSG_ERROR([unable to determine number of arguments to statfs()])])])
])
dnl
dnl open takes O_DIRECTORY as an option
dnl
AC_MSG_CHECKING([open() option O_DIRECTORY])
AC_TRY_COMPILE([#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>],
[open(0, O_DIRECTORY, 0);],[
AC_MSG_RESULT([yes])
AC_DEFINE(HAVE_OPEN_O_DIRECTORY, 1, [open option O_DIRECTORY])],[
AC_MSG_RESULT([no])])
#
# Check whether to use an included printf
#
......
......@@ -2699,7 +2699,11 @@ g_local_file_measure_size_of_file (gint parent_fd,
return FALSE;
#ifdef AT_FDCWD
dir_fd = openat (parent_fd, name->data, O_RDONLY | O_DIRECTORY);
#ifdef HAVE_OPEN_O_DIRECTORY
dir_fd = openat (parent_fd, name->data, O_RDONLY|O_DIRECTORY);
#else
dir_fd = openat (parent_fd, name->data, O_RDONLY);
#endif
if (dir_fd < 0)
return g_local_file_measure_size_error (state->flags, errno, name, error);
#endif
......
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