Fix compiler warning
authorBernhard Miklautz <bernhard.miklautz@thincast.com>
Thu, 1 Dec 2016 10:40:38 +0000 (11:40 +0100)
committerBernhard Miklautz <bernhard.miklautz@thincast.com>
Thu, 1 Dec 2016 14:36:49 +0000 (15:36 +0100)
FreeRDP/client/common/client.c: In function ‘freerdp_client_context_new’:
FreeRDP/client/common/client.c:86:38: warning: passing argument 1 of ‘freerdp_register_addin_provider’ from incompatible pointer type
  if (freerdp_register_addin_provider(freerdp_channels_load_static_addin_entry,
FreeRDP/include/freerdp/addin.h:60:17: note: expected ‘FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN’ but argument is of type ‘void * (*)(const CHAR *, CHAR *, CHAR *, DWORD)’
 FREERDP_API int freerdp_register_addin_provider(
In file included from FreeRDP/client/common/compatibility.c:27:0:
FreeRDP/include/freerdp/addin.h:60:17: note: expected ‘FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN’ but argument is of type ‘void * (*)(const CHAR *, CHAR *, CHAR *, DWORD)’
 FREERDP_API int freerdp_register_addin_provider(

gcc (Debian 4.9.2-10) 4.9.2

channels/client/addin.c
include/freerdp/client/channels.h

index ba28e2c..dba6154 100644 (file)
@@ -367,7 +367,7 @@ BOOL freerdp_channels_is_virtual_channel_entry_ex(LPCSTR pszName)
        return FALSE;
 }
 
-void* freerdp_channels_load_static_addin_entry(LPCSTR pszName, LPSTR pszSubsystem, LPSTR pszType, DWORD dwFlags)
+PVIRTUALCHANNELENTRY freerdp_channels_load_static_addin_entry(LPCSTR pszName, LPSTR pszSubsystem, LPSTR pszType, DWORD dwFlags)
 {
        int i, j;
        STATIC_SUBSYSTEM_ENTRY* subsystems;
@@ -387,11 +387,11 @@ void* freerdp_channels_load_static_addin_entry(LPCSTR pszName, LPSTR pszSubsyste
                                                if (pszType)
                                                {
                                                        if (strcmp(subsystems[j].type, pszType) == 0)
-                                                               return (void*) subsystems[j].entry;
+                                                               return subsystems[j].entry;
                                                }
                                                else
                                                {
-                                                       return (void*) subsystems[j].entry;
+                                                       return subsystems[j].entry;
                                                }
                                        }
                                }
@@ -404,7 +404,7 @@ void* freerdp_channels_load_static_addin_entry(LPCSTR pszName, LPSTR pszSubsyste
                                                return NULL;
                                }
                        
-                               return (void*) CLIENT_STATIC_ADDIN_TABLE[i].entry;
+                               return CLIENT_STATIC_ADDIN_TABLE[i].entry;
                        }
                }
        }
index 4f58b18..4e71fcc 100644 (file)
@@ -29,7 +29,7 @@ extern "C" {
 #endif
 
 FREERDP_API void* freerdp_channels_client_find_static_entry(const char* name, const char* identifier);
-FREERDP_API void* freerdp_channels_load_static_addin_entry(LPCSTR pszName, LPSTR pszSubsystem, LPSTR pszType, DWORD dwFlags);
+FREERDP_API PVIRTUALCHANNELENTRY freerdp_channels_load_static_addin_entry(LPCSTR pszName, LPSTR pszSubsystem, LPSTR pszType, DWORD dwFlags);
 
 FREERDP_API FREERDP_ADDIN** freerdp_channels_list_addins(LPSTR lpName, LPSTR lpSubsystem, LPSTR lpType, DWORD dwFlags);
 FREERDP_API void freerdp_channels_addin_list_free(FREERDP_ADDIN** ppAddins);