From fe28e088a9c2d4945b720b045b4fa74d2de3d895 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Fri, 14 Oct 2022 14:06:08 +0900 Subject: common,w32: Fix struct stat on Windows. * common/sysutils.c [HAVE_W32_SYSTEM] (gnupg_stat): Select appropriate structure. -- GnuPG-bug-id: 5897 Signed-off-by: NIIBE Yutaka --- common/sysutils.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'common/sysutils.c') diff --git a/common/sysutils.c b/common/sysutils.c index c30f9a0ce..bbed309a8 100644 --- a/common/sysutils.c +++ b/common/sysutils.c @@ -1237,10 +1237,20 @@ int gnupg_stat (const char *name, struct stat *statbuf) { # ifdef HAVE_W32_SYSTEM +# if __MINGW32_MAJOR_VERSION > 3 + /* mingw.org's MinGW */ +# define STRUCT_STAT _stat +# elif defined(_USE_32BIT_TIME_T) + /* MinGW64 for i686 */ +# define STRUCT_STAT _stat32 +# else + /* MinGW64 for x86_64 */ +# define STRUCT_STAT _stat64i32 +# endif if (any8bitchar (name)) { wchar_t *wname; - struct _stat32 st32; + struct STRUCT_STAT st32; int ret; wname = utf8_to_wchar (name); -- cgit v1.2.3