Fix Windows Python plugin DLL selection

This commit is contained in:
2026-07-07 15:34:11 -06:00
parent c3d8f27f48
commit f068a0e0fa
6 changed files with 109 additions and 9 deletions

View File

@@ -25,6 +25,7 @@
#ifdef WIN32
#include <io.h>
#include <windows.h>
#else
#include <unistd.h>
#endif
@@ -56,6 +57,22 @@ typedef struct session zoitechat_context;
#endif
#define DEBUG(x) {x;}
#ifdef WIN32
static gboolean
plugin_windows_is_windows7 (void)
{
OSVERSIONINFOEXA version;
memset (&version, 0, sizeof (version));
version.dwOSVersionInfoSize = sizeof (version);
if (!GetVersionExA ((OSVERSIONINFOA *)&version))
return FALSE;
return version.dwPlatformId == VER_PLATFORM_WIN32_NT &&
version.dwMajorVersion == 6 && version.dwMinorVersion == 1;
}
#endif
/* crafted to be an even 32 bytes */
struct _zoitechat_hook
@@ -491,8 +508,10 @@ plugin_auto_load (session *sess)
for_files (lib_dir, "hcfishlim.dll", plugin_auto_load_cb);
for_files(lib_dir, "hclua.dll", plugin_auto_load_cb);
for_files (lib_dir, "hcperl.dll", plugin_auto_load_cb);
for_files (lib_dir, "hcpython3.dll", plugin_auto_load_cb);
for_files (lib_dir, "hcpython38.dll", plugin_auto_load_cb);
if (plugin_windows_is_windows7 ())
for_files (lib_dir, "hcpython38.dll", plugin_auto_load_cb);
else
for_files (lib_dir, "hcpython3.dll", plugin_auto_load_cb);
for_files (lib_dir, "hcupd.dll", plugin_auto_load_cb);
for_files (lib_dir, "hcsysinfo.dll", plugin_auto_load_cb);
#else