diff options
author | Pali Rohár <pali.rohar@gmail.com> | 2024-09-16 23:59:06 +0200 |
---|---|---|
committer | Silvio <silvio.traversaro@iit.it> | 2025-04-28 14:49:51 +0200 |
commit | e0520e25643b51e69aa78e5944cdf2853323b06a (patch) | |
tree | 6785ac6935379c890e5d62288e19c31faee0afe4 /src | |
parent | 5a4d701248f88fb1a6f66932c58d73e74dfadbd9 (diff) | |
download | dlfcn-win32-e0520e25643b51e69aa78e5944cdf2853323b06a.tar.gz dlfcn-win32-e0520e25643b51e69aa78e5944cdf2853323b06a.tar.bz2 dlfcn-win32-e0520e25643b51e69aa78e5944cdf2853323b06a.zip |
Do not cast between function pointer and data pointer when not required
This is undefined in C and also C++. Both gcc and msvc allows to cast
between two incompatible function pointers without triggering warnings
transitionally via void(*)(void) function pointer. Replace transitional
LPVOID cast by void(*)(void) cast.
Diffstat (limited to 'src')
-rw-r--r-- | src/dlfcn.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/dlfcn.c b/src/dlfcn.c index 0f9fa38..2711e60 100644 --- a/src/dlfcn.c +++ b/src/dlfcn.c | |||
@@ -261,7 +261,7 @@ static UINT MySetErrorMode( UINT uMode ) | |||
261 | { | 261 | { |
262 | kernel32 = GetModuleHandleA( "Kernel32.dll" ); | 262 | kernel32 = GetModuleHandleA( "Kernel32.dll" ); |
263 | if( kernel32 != NULL ) | 263 | if( kernel32 != NULL ) |
264 | SetThreadErrorModePtr = (BOOL (WINAPI *)(DWORD, DWORD *)) (LPVOID) GetProcAddress( kernel32, "SetThreadErrorMode" ); | 264 | SetThreadErrorModePtr = (BOOL (WINAPI *)(DWORD, DWORD *)) (void(*)(void)) GetProcAddress( kernel32, "SetThreadErrorMode" ); |
265 | if( SetThreadErrorModePtr == NULL ) | 265 | if( SetThreadErrorModePtr == NULL ) |
266 | failed = TRUE; | 266 | failed = TRUE; |
267 | } | 267 | } |
@@ -292,7 +292,7 @@ static HMODULE MyGetModuleHandleFromAddress( const void *addr ) | |||
292 | { | 292 | { |
293 | kernel32 = GetModuleHandleA( "Kernel32.dll" ); | 293 | kernel32 = GetModuleHandleA( "Kernel32.dll" ); |
294 | if( kernel32 != NULL ) | 294 | if( kernel32 != NULL ) |
295 | GetModuleHandleExAPtr = (BOOL (WINAPI *)(DWORD, LPCSTR, HMODULE *)) (LPVOID) GetProcAddress( kernel32, "GetModuleHandleExA" ); | 295 | GetModuleHandleExAPtr = (BOOL (WINAPI *)(DWORD, LPCSTR, HMODULE *)) (void(*)(void)) GetProcAddress( kernel32, "GetModuleHandleExA" ); |
296 | if( GetModuleHandleExAPtr == NULL ) | 296 | if( GetModuleHandleExAPtr == NULL ) |
297 | failed = TRUE; | 297 | failed = TRUE; |
298 | } | 298 | } |
@@ -334,7 +334,7 @@ static BOOL MyEnumProcessModules( HANDLE hProcess, HMODULE *lphModule, DWORD cb, | |||
334 | /* Windows 7 and newer versions have K32EnumProcessModules in Kernel32.dll which is always pre-loaded */ | 334 | /* Windows 7 and newer versions have K32EnumProcessModules in Kernel32.dll which is always pre-loaded */ |
335 | kernel32 = GetModuleHandleA( "Kernel32.dll" ); | 335 | kernel32 = GetModuleHandleA( "Kernel32.dll" ); |
336 | if( kernel32 != NULL ) | 336 | if( kernel32 != NULL ) |
337 | EnumProcessModulesPtr = (BOOL (WINAPI *)(HANDLE, HMODULE *, DWORD, LPDWORD)) (LPVOID) GetProcAddress( kernel32, "K32EnumProcessModules" ); | 337 | EnumProcessModulesPtr = (BOOL (WINAPI *)(HANDLE, HMODULE *, DWORD, LPDWORD)) (void(*)(void)) GetProcAddress( kernel32, "K32EnumProcessModules" ); |
338 | 338 | ||
339 | /* Windows Vista and older version have EnumProcessModules in Psapi.dll which needs to be loaded */ | 339 | /* Windows Vista and older version have EnumProcessModules in Psapi.dll which needs to be loaded */ |
340 | if( EnumProcessModulesPtr == NULL ) | 340 | if( EnumProcessModulesPtr == NULL ) |
@@ -345,7 +345,7 @@ static BOOL MyEnumProcessModules( HANDLE hProcess, HMODULE *lphModule, DWORD cb, | |||
345 | MySetErrorMode( uMode ); | 345 | MySetErrorMode( uMode ); |
346 | if( psapi != NULL ) | 346 | if( psapi != NULL ) |
347 | { | 347 | { |
348 | EnumProcessModulesPtr = (BOOL (WINAPI *)(HANDLE, HMODULE *, DWORD, LPDWORD)) (LPVOID) GetProcAddress( psapi, "EnumProcessModules" ); | 348 | EnumProcessModulesPtr = (BOOL (WINAPI *)(HANDLE, HMODULE *, DWORD, LPDWORD)) (void(*)(void)) GetProcAddress( psapi, "EnumProcessModules" ); |
349 | if( EnumProcessModulesPtr == NULL ) | 349 | if( EnumProcessModulesPtr == NULL ) |
350 | FreeLibrary( psapi ); | 350 | FreeLibrary( psapi ); |
351 | } | 351 | } |