From 15f22d4d2caa93a64d4c929d8fc2c29d86f1562c Mon Sep 17 00:00:00 2001 From: Peter Pentchev Date: Sat, 2 Apr 2022 20:44:53 +0100 Subject: [PATCH] Fix the build on kFreeBSD - no UTIME_NOW. Forwarded: no Last-Update: 2022-03-20 Gbp-Pq: Name 0018-kfreebsd-ftbfs-utime-now.patch --- programs/util.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/programs/util.c b/programs/util.c index 89c0d05..3621288 100644 --- a/programs/util.c +++ b/programs/util.c @@ -28,7 +28,8 @@ extern "C" { # include /* _chmod */ #else # include /* chown, stat */ -# if PLATFORM_POSIX_VERSION < 200809L || !defined(st_mtime) +# if PLATFORM_POSIX_VERSION < 200809L || !defined(st_mtime) || defined(__FreeBSD_kernel__) +# include # include /* utime */ # else # include /* AT_FDCWD */ @@ -182,8 +183,9 @@ int UTIL_setFileStat(const char *filename, const stat_t *statbuf) * check because there are some platforms that claim to be POSIX 2008 * compliant but which do not have st_mtim... * And then there is alpha, which doesn't define st_mtime, but still has it. + * Also, kFreeBSD does not seem to define UTIME_NOW. */ -#if (PLATFORM_POSIX_VERSION >= 200809L) && (defined(st_mtime) || defined(__alpha__)) +#if (PLATFORM_POSIX_VERSION >= 200809L) && (defined(st_mtime) || defined(__alpha__)) && (!defined(__FreeBSD_kernel__)) { /* (atime, mtime) */ struct timespec timebuf[2] = { {0, UTIME_NOW} }; -- 2.30.2