skalibs

Mirror/fork of https://skarnet.org/software/skalibs/
git clone https://ccx.te2000.cz/git/skalibs
Log | Files | Refs | README | LICENSE

commit b80efa2003d8208dc5ebdee285c363dc9c5e5844
parent 47b410cd382d965c2c449f9c30c533b5d12def19
Author: Laurent Bercot <ska-skaware@skarnet.org>
Date:   Tue, 12 Sep 2023 20:03:04 +0000

 Try another workaround for bad struct stat

Signed-off-by: Laurent Bercot <ska@appnovation.com>

Diffstat:
Msrc/include/skalibs/stat.h | 29+++++++++++------------------
Msrc/sysdeps/trystatimespec.c | 3+++
2 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/src/include/skalibs/stat.h b/src/include/skalibs/stat.h @@ -3,29 +3,22 @@ #ifndef SKALIBS_STAT_H #define SKALIBS_STAT_H -#include <skalibs/sysdeps.h> - -#ifdef SKALIBS_HASSTATIM - -#define ST_ATIM st_atim -#define ST_MTIM st_mtim -#define ST_CTIM st_ctim + /* + This header must always be paired with skalibs/nonposix.h + (which must always come first). + If you #include <sys/stat.h> before this, it will not work. + */ -#else - -#ifdef SKALIBS_HASSTATIMESPEC +#include <skalibs/sysdeps.h> -#define ST_ATIM st_atimespec -#define ST_MTIM st_mtimespec -#define ST_CTIM st_ctimespec +#include <sys/stat.h> -#else +#if !defined(SKALIBS_HASSTATIM) && defined(SKALIBS_HASSTATIMESPEC) -#define ST_ATIM st_how_the_fuck_do_you_even_get_atime_on_this_OS -#define ST_MTIM st_how_the_fuck_do_you_even_get_mtime_on_this_OS -#define ST_CTIM st_how_the_fuck_do_you_even_get_ctime_on_this_OS +#define st_atim st_atimespec +#define st_mtim st_mtimespec +#define st_ctim st_ctimespec #endif -#endif #endif diff --git a/src/sysdeps/trystatimespec.c b/src/sysdeps/trystatimespec.c @@ -1,5 +1,8 @@ /* ISC license. */ +#undef _POSIX_C_SOURCE +#undef _XOPEN_SOURCE + #include <sys/stat.h> #include <time.h>