diff --git a/src/i_addrinfo.c b/src/i_addrinfo.c index e77774549..36633cfa3 100644 --- a/src/i_addrinfo.c +++ b/src/i_addrinfo.c @@ -80,10 +80,10 @@ static HMODULE WS_getfunctions(HMODULE tmp) { if (tmp != NULL) { - WS_getaddrinfo = (p_getaddrinfo)(LPVOID)GetProcAddress(tmp, "getaddrinfo"); + *(void**)&WS_getaddrinfo = FUNCPTRCAST(GetProcAddress(tmp, "getaddrinfo")); if (WS_getaddrinfo == NULL) return NULL; - WS_freeaddrinfo = (p_freeaddrinfo)(LPVOID)GetProcAddress(tmp, "freeaddrinfo"); + *(void**)&WS_freeaddrinfo = FUNCPTRCAST(GetProcAddress(tmp, "freeaddrinfo")); if (WS_freeaddrinfo == NULL) { WS_getaddrinfo = NULL; diff --git a/src/m_misc.c b/src/m_misc.c index ccd4522a0..cf5053078 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -63,7 +63,14 @@ typedef off_t off64_t; #if defined(__MINGW32__) && ((__GNUC__ > 7) || (__GNUC__ == 6 && __GNUC_MINOR__ >= 3)) && (__GNUC__ < 8) #define PRIdS "u" #elif defined (_WIN32) -#define PRIdS "Iu" +// pedantic: %I is nonstandard, is it ok to assume +// unsigned int? +//#define PRIdS "Iu" +#ifdef _WIN64 +#define PRIdS "lu" +#else +#define PRIdS "u" +#endif #elif defined (DJGPP) #define PRIdS "u" #else diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index 004a6ff33..feb58d2e9 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -2120,7 +2120,7 @@ void I_GetDiskFreeSpace(INT64 *freespace) if (!testwin95) { - pfnGetDiskFreeSpaceEx = (p_GetDiskFreeSpaceExA)(LPVOID)GetProcAddress(GetModuleHandleA("kernel32.dll"), "GetDiskFreeSpaceExA"); + *(void**)&pfnGetDiskFreeSpaceEx = FUNCPTRCAST(GetProcAddress(GetModuleHandleA("kernel32.dll"), "GetDiskFreeSpaceExA")); testwin95 = true; } if (pfnGetDiskFreeSpaceEx) @@ -2628,7 +2628,8 @@ const CPUInfoFlags *I_CPUInfo(void) #if defined (_WIN32) static CPUInfoFlags WIN_CPUInfo; SYSTEM_INFO SI; - p_IsProcessorFeaturePresent pfnCPUID = (p_IsProcessorFeaturePresent)(LPVOID)GetProcAddress(GetModuleHandleA("kernel32.dll"), "IsProcessorFeaturePresent"); + p_IsProcessorFeaturePresent pfnCPUID; + *(void**)&pfnCPUID = FUNCPTRCAST(GetProcAddress(GetModuleHandleA("kernel32.dll"), "IsProcessorFeaturePresent")); ZeroMemory(&WIN_CPUInfo,sizeof (WIN_CPUInfo)); if (pfnCPUID)