From 74756a87fa409be2a67577640a0ab0ca768dc519 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Tue, 6 Oct 2020 10:25:02 +0100 Subject: [PATCH] glocalfileinfo: Fix use of fstatat() on macOS < 10.10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `g_local_file_fstatat()` needs to fall back to returning an error if `fstatat()` isn’t defined, which is the case on older versions of macOS (as well as Windows, which was already handled). Callers shouldn’t call `g_local_file_fstatat()` in these cases. (That’s already the case.) Signed-off-by: Philip Withnall Fixes: #2203 --- gio/glocalfileinfo.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gio/glocalfileinfo.h b/gio/glocalfileinfo.h index f2beb70cd..ff3e4994f 100644 --- a/gio/glocalfileinfo.h +++ b/gio/glocalfileinfo.h @@ -236,12 +236,12 @@ g_local_file_fstatat (int fd, return -1; } -#ifdef G_OS_WIN32 - /* Currently not supported on Windows */ +#if !defined(G_OS_WIN32) && defined(AT_FDCWD) + return fstatat (fd, path, stat_buf, flags); +#else + /* Currently not supported on Windows or macOS < 10.10 */ errno = ENOSYS; return -1; -#else - return fstatat (fd, path, stat_buf, flags); #endif }