From c3d6f07b8e4d22df533ce7a90660ae1da2df5476 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Thu, 16 May 2024 16:54:39 -0400 Subject: stat: Support __st_birthtim on OpenBSD --- build/has/--st-birthtim.c | 9 +++++++++ build/header.mk | 1 + src/stat.c | 3 +++ 3 files changed, 13 insertions(+) create mode 100644 build/has/--st-birthtim.c diff --git a/build/has/--st-birthtim.c b/build/has/--st-birthtim.c new file mode 100644 index 0000000..4da621f --- /dev/null +++ b/build/has/--st-birthtim.c @@ -0,0 +1,9 @@ +// Copyright © Tavian Barnes +// SPDX-License-Identifier: 0BSD + +#include + +int main(void) { + struct stat sb = {0}; + return sb.__st_birthtim.tv_sec; +} diff --git a/build/header.mk b/build/header.mk index 8412fd5..3cea6d7 100644 --- a/build/header.mk +++ b/build/header.mk @@ -9,6 +9,7 @@ include build/exports.mk # All header fragments we generate HEADERS := \ + gen/has/--st-birthtim.h \ gen/has/acl-get-entry.h \ gen/has/acl-get-file.h \ gen/has/acl-get-tag-type.h \ diff --git a/src/stat.c b/src/stat.c index 5a10a99..2044564 100644 --- a/src/stat.c +++ b/src/stat.c @@ -116,6 +116,9 @@ void bfs_stat_convert(struct bfs_stat *dest, const struct stat *src) { #if BFS_HAS_ST_BIRTHTIM dest->btime = src->st_birthtim; dest->mask |= BFS_STAT_BTIME; +#elif BFS_HAS___ST_BIRTHTIM + dest->btime = src->__st_birthtim; + dest->mask |= BFS_STAT_BTIME; #elif BFS_HAS_ST_BIRTHTIMESPEC dest->btime = src->st_birthtimespec; dest->mask |= BFS_STAT_BTIME; -- cgit v1.2.3