diff options
author | Oliver Schneider <oliver@assarbad.net> | 2018-04-05 23:20:34 +0300 |
---|---|---|
committer | Oliver Schneider <oliver@assarbad.net> | 2018-04-05 23:20:34 +0300 |
commit | ca2892052b5ad03e5745c5f62ef7eeb791ba52b8 (patch) | |
tree | 3fcb456be7cfada6ee1e9a3d00baa7dbb55d19c5 /3rdparty | |
parent | f57ac71db43c6218ee0e611751a3d345f02df902 (diff) |
Improved logic in wow64.c
Diffstat (limited to '3rdparty')
-rw-r--r-- | 3rdparty/lua/src/modules/winreg.c | 4 | ||||
-rw-r--r-- | 3rdparty/lua/src/modules/wow64.c | 16 |
2 files changed, 11 insertions, 9 deletions
diff --git a/3rdparty/lua/src/modules/winreg.c b/3rdparty/lua/src/modules/winreg.c index 8676ff9..13ab0eb 100644 --- a/3rdparty/lua/src/modules/winreg.c +++ b/3rdparty/lua/src/modules/winreg.c @@ -36,9 +36,7 @@ #include "lua-winreg/src/lua_int64.c" #include "lua-winreg/src/lua_mtutil.c" #include "lua-winreg/src/lua_tstring.c" -#ifndef LUA_REG_NO_HIVEOPS -# include "lua-winreg/src/win_privileges.c" -#endif // LUA_REG_NO_HIVEOPS +#include "lua-winreg/src/win_privileges.c" #include "lua-winreg/src/win_registry.c" #include "lua-winreg/src/win_trace.c" #include "lua-winreg/src/winreg.c" diff --git a/3rdparty/lua/src/modules/wow64.c b/3rdparty/lua/src/modules/wow64.c index b490750..30c8ef5 100644 --- a/3rdparty/lua/src/modules/wow64.c +++ b/3rdparty/lua/src/modules/wow64.c @@ -22,13 +22,17 @@ static int luaC_iswow64_(lua_State* L) { typedef BOOL (WINAPI *TFNIsWow64Process) (HANDLE, PBOOL); static int cachedResult = 0; - TFNIsWow64Process pfnIsWow64Process = (TFNIsWow64Process)GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")), "IsWow64Process"); - if(pfnIsWow64Process) + HMODULE hKernel32 = GetModuleHandle(TEXT("kernel32.dll")); + if(hKernel32) { - BOOL bIsWow64 = FALSE; - // Ignore result, instead presume it's not WOW64 - (void)pfnIsWow64Process(GetCurrentProcess(), &bIsWow64); - cachedResult = (bIsWow64) ? 1 : 0; + TFNIsWow64Process pfnIsWow64Process = (TFNIsWow64Process)GetProcAddress(hKernel32, "IsWow64Process"); + if(pfnIsWow64Process) + { + BOOL bIsWow64 = FALSE; + // Ignore result, instead presume it's not WOW64 + (void)pfnIsWow64Process(GetCurrentProcess(), &bIsWow64); + cachedResult = (bIsWow64) ? 1 : 0; + } } pcachedResult = &cachedResult; } |