aboutsummaryrefslogtreecommitdiffstats
path: root/common/init.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2025-10-21 02:51:49 +0000
committerNIIBE Yutaka <[email protected]>2025-10-21 02:51:49 +0000
commit61ff3759e827fed5ea47897af1291443aeb5172e (patch)
tree6156759636758ab01a45218dda24eb82727a796f /common/init.c
parenttests:w32: Fix the add-recipeint test for Windows. (diff)
downloadgnupg-61ff3759e827fed5ea47897af1291443aeb5172e.tar.gz
gnupg-61ff3759e827fed5ea47897af1291443aeb5172e.zip
common,dirmngr:w32: Fix for semi-hosted environment.
* common/init.c [HAVE_W32_SYSTEM] (windows_semihosted_by_wine): New. (_init_common_subsystems): Initialize the variable. * common/stringhelp.c (change_slashes): Don't change slashes under semi-hosted environment. * common/util.h [HAVE_W32_SYSTEM] (windows_semihosted_by_wine): New. * dirmngr/dns-stuff.c [HAVE_W32_SYSTEM] (check_inet_support): Disable the check by "..localmachine" under semi-hosted environment. -- GnuPG-bug-id: 7138 Signed-off-by: NIIBE Yutaka <[email protected]>
Diffstat (limited to 'common/init.c')
-rw-r--r--common/init.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/common/init.c b/common/init.c
index 8ea51c8b0..ebe73ee6a 100644
--- a/common/init.c
+++ b/common/init.c
@@ -73,6 +73,9 @@ gpg_err_source_t default_errsource = 0;
#if HAVE_W32_SYSTEM
static void prepare_w32_commandline (int *argcp, char ***argvp);
+
+/* Whether or not if this program is running under Wine. */
+int windows_semihosted_by_wine;
#endif /*HAVE_W32_SYSTEM*/
@@ -167,6 +170,12 @@ _init_common_subsystems (gpg_err_source_t errsource, int *argcp, char ***argvp)
WSAStartup (0x202, &wsadat);
}
+ {
+ HMODULE hntdll = GetModuleHandle ("ntdll.dll");
+ if (hntdll
+ && GetProcAddress (hntdll, "wine_get_version"))
+ windows_semihosted_by_wine = 1;
+ }
#endif
if (!gcry_check_version (NEED_LIBGCRYPT_VERSION))