aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPali Rohár <pali.rohar@gmail.com>2024-09-16 23:59:06 +0200
committerSilvio <silvio.traversaro@iit.it>2025-04-28 14:49:51 +0200
commite0520e25643b51e69aa78e5944cdf2853323b06a (patch)
tree6785ac6935379c890e5d62288e19c31faee0afe4 /src
parent5a4d701248f88fb1a6f66932c58d73e74dfadbd9 (diff)
downloaddlfcn-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.c8
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 }