diff options
author | Martin Willi <martin@revosec.ch> | 2014-06-06 16:32:31 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2014-06-06 16:33:50 +0200 |
commit | 4f31b3f7243d4d368ac88bda6af477e542d77aae (patch) | |
tree | 1e931ba67796aece980de91caa301cb2ae196ed6 /src/libstrongswan/utils/backtrace.c | |
parent | 9d228ddb04b7adc7c5904b98bc7857b12176904a (diff) | |
parent | fd372e13a238180102168770ff8e60c82ba59da2 (diff) | |
download | strongswan-4f31b3f7243d4d368ac88bda6af477e542d77aae.tar.bz2 strongswan-4f31b3f7243d4d368ac88bda6af477e542d77aae.tar.xz |
Merge branch 'win-32bit'
Fixes some issues when building 32-bit Windows binaries. Mostly related
to the call API. Introduces a Travis 32-bit Windows build variant.
Diffstat (limited to 'src/libstrongswan/utils/backtrace.c')
-rw-r--r-- | src/libstrongswan/utils/backtrace.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libstrongswan/utils/backtrace.c b/src/libstrongswan/utils/backtrace.c index 3bb163545..65e74160b 100644 --- a/src/libstrongswan/utils/backtrace.c +++ b/src/libstrongswan/utils/backtrace.c @@ -33,10 +33,18 @@ #ifdef WIN32 # include <psapi.h> /* missing in MinGW */ +#ifdef WIN64 +#ifndef GetModuleInformation WINBOOL K32GetModuleInformation(HANDLE hProcess, HMODULE hModule, LPMODULEINFO lpmodinfo, DWORD cb); +#define GetModuleInformation K32GetModuleInformation +#endif /* !GetModuleInformation */ +#ifndef GetModuleFileNameEx DWORD K32GetModuleFileNameExA(HANDLE hProcess, HMODULE hModule, LPTSTR lpFilename, DWORD nSize); +#define GetModuleFileNameEx K32GetModuleFileNameExA +#endif /* !GetModuleFileNameEx */ +#endif /* WIN64 */ #endif typedef struct private_backtrace_t private_backtrace_t; @@ -525,9 +533,9 @@ METHOD(backtrace_t, log_, void, if (GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, this->frames[i], &module) && - K32GetModuleInformation(GetCurrentProcess(), module, + GetModuleInformation(GetCurrentProcess(), module, &info, sizeof(info)) && - K32GetModuleFileNameExA(GetCurrentProcess(), module, + GetModuleFileNameEx(GetCurrentProcess(), module, filename, sizeof(filename))) { println(file, " %s%s%s @ %p [%p]", |