From 74758fc3c3af39eb96ee673fd9c673828b34a6aa Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Tue, 13 Jul 2021 21:34:46 -0700 Subject: [PATCH] Util: Detect futimens/futimes instead of guessing --- CMakeLists.txt | 3 +++ src/util/vfs/vfs-fd.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ad9196db..52fe8387b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -317,6 +317,9 @@ find_function(setlocale) find_function(snprintf_l) find_function(uselocale) +find_function(futimens) +find_function(futimes) + if(ANDROID AND ANDROID_NDK_MAJOR GREATER 13) set(HAVE_STRTOF_L ON) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") diff --git a/src/util/vfs/vfs-fd.c b/src/util/vfs/vfs-fd.c index c15ab5ca1..b67d701fa 100644 --- a/src/util/vfs/vfs-fd.c +++ b/src/util/vfs/vfs-fd.c @@ -200,9 +200,9 @@ static bool _vfdSync(struct VFile* vf, void* buffer, size_t size) { UNUSED(size); struct VFileFD* vfd = (struct VFileFD*) vf; #ifndef _WIN32 -#ifdef __HAIKU__ +#ifdef HAVE_FUTIMENS futimens(vfd->fd, NULL); -#else +#elif defined(HAVE_FUTIMES) futimes(vfd->fd, NULL); #endif if (buffer && size) {