bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gettimeofday: do not use LoadLibrary when built for Windows


From: Bruno Haible
Subject: Re: [PATCH] gettimeofday: do not use LoadLibrary when built for Windows Store apps
Date: Fri, 29 May 2020 12:34:29 +0200
User-agent: KMail/5.1.3 (Linux/4.4.0-177-generic; KDE/5.18.0; x86_64; ; )

Daiki Ueno wrote:
> this change seems to
> break MinGW cross build, because GetFinalPathNameByHandleFunc is defined
> only if !(_WIN32_WINNT >= _WIN32_WINNT_VISTA), but referred to from
> _gl_convert_FILETIME_to_timespec without the guard:

Oops, indeed. With the appropriate _WIN32_WINNT setting, I'm getting errors in
all three files:

C:\cygwin64\home\bruno\testdir2\gllib\gettimeofday.c(95): error C2065: 
'GetSystemTimePreciseAsFileTimeFunc': undeclared identifier

C:\cygwin64\home\bruno\testdir2\gllib\isatty.c(99): error C2065: 
'GetNamedPipeClientProcessIdFunc': undeclared identifier
C:\cygwin64\home\bruno\testdir2\gllib\isatty.c(100): error C2065: 
'QueryFullProcessImageNameFunc': undeclared identifier

C:\cygwin64\home\bruno\testdir2\gllib\stat-w32.c(259): error C2065: 
'GetFinalPathNameByHandleFunc': undeclared identifier

This patch fixes it.


2020-05-29  Bruno Haible  <bruno@clisp.org>

        Fix compilation error on native Windows (regression from 2020-05-28).
        Reported by Daiki Ueno.
        * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
        macro when not using dynamic loading.
        * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
        QueryFullProcessImageNameFunc): Likewise.
        * lib/stat-w32.c (GetFileInformationByHandleExFunc,
        GetFinalPathNameByHandleFunc): Likewise.

diff --git a/lib/gettimeofday.c b/lib/gettimeofday.c
index 3d53115..93914ba 100644
--- a/lib/gettimeofday.c
+++ b/lib/gettimeofday.c
@@ -56,6 +56,10 @@ initialize (void)
   initialized = TRUE;
 }
 
+# else
+
+#  define GetSystemTimePreciseAsFileTimeFunc GetSystemTimePreciseAsFileTime
+
 # endif
 
 #endif
diff --git a/lib/isatty.c b/lib/isatty.c
index fc771d1..4c5b8e3 100644
--- a/lib/isatty.c
+++ b/lib/isatty.c
@@ -71,6 +71,11 @@ initialize (void)
   initialized = TRUE;
 }
 
+#else
+
+# define GetNamedPipeClientProcessIdFunc GetNamedPipeClientProcessId
+# define QueryFullProcessImageNameFunc QueryFullProcessImageName
+
 #endif
 
 static BOOL IsConsoleHandle (HANDLE h)
diff --git a/lib/stat-w32.c b/lib/stat-w32.c
index 02ad9ab..cca12dd 100644
--- a/lib/stat-w32.c
+++ b/lib/stat-w32.c
@@ -78,6 +78,11 @@ initialize (void)
   initialized = TRUE;
 }
 
+#else
+
+# define GetFileInformationByHandleExFunc GetFileInformationByHandleEx
+# define GetFinalPathNameByHandleFunc GetFinalPathNameByHandle
+
 #endif
 
 /* Converts a FILETIME to GMT time since 1970-01-01 00:00:00.  */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]