aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/utils/backtrace.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2014-06-06 16:32:31 +0200
committerMartin Willi <martin@revosec.ch>2014-06-06 16:33:50 +0200
commit4f31b3f7243d4d368ac88bda6af477e542d77aae (patch)
tree1e931ba67796aece980de91caa301cb2ae196ed6 /src/libstrongswan/utils/backtrace.c
parent9d228ddb04b7adc7c5904b98bc7857b12176904a (diff)
parentfd372e13a238180102168770ff8e60c82ba59da2 (diff)
downloadstrongswan-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.c12
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]",