mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-26 05:56:14 +01:00
glocalfile: Only use O_DIRECTORY if available
Solaris 10 for example doesn't have it. https://bugzilla.gnome.org/show_bug.cgi?id=708860
This commit is contained in:
parent
e631507c50
commit
7eb1e5fc5b
12
configure.ac
12
configure.ac
@ -1224,6 +1224,18 @@ AS_IF([test "$ac_cv_func_statfs" = yes], [
|
|||||||
AC_MSG_ERROR([unable to determine number of arguments to statfs()])])])
|
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
|
# Check whether to use an included printf
|
||||||
#
|
#
|
||||||
|
@ -2699,7 +2699,11 @@ g_local_file_measure_size_of_file (gint parent_fd,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
#ifdef AT_FDCWD
|
#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)
|
if (dir_fd < 0)
|
||||||
return g_local_file_measure_size_error (state->flags, errno, name, error);
|
return g_local_file_measure_size_error (state->flags, errno, name, error);
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user