]> git.sesse.net Git - vlc/blobdiff - src/libvlc.c
Interaction: avoid thread if there is no provider
[vlc] / src / libvlc.c
index ecfd6f0bd6b026a0f9c8b83ba1ed341091b53a13..f2974204dd1a2a34beccb179f788d4791c17ff61 100644 (file)
@@ -864,9 +864,12 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
 
     if( psz_modules && *psz_modules && psz_control && *psz_control )
     {
-        psz_modules = (char *)realloc( psz_modules, strlen( psz_modules ) +
-                                                    strlen( psz_control ) + 1 );
-        sprintf( psz_modules, "%s:%s", psz_modules, psz_control );
+        char* psz_tmp;
+        if( asprintf( &psz_tmp, "%s:%s", psz_modules, psz_control ) != -1 )
+        {
+            free( psz_modules );
+            psz_modules = psz_tmp;
+        }
     }
     else if( psz_control && *psz_control )
     {
@@ -898,9 +901,8 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
      * Always load the hotkeys interface if it exists
      */
     libvlc_InternalAddIntf( p_libvlc, "hotkeys,none" );
-#ifdef WIN32
-    libvlc_InternalAddIntf( p_libvlc, "globalhotkeys,none" );
-#endif
+    if( module_exists( "globalhotkeys" ) )
+        libvlc_InternalAddIntf( p_libvlc, "globalhotkeys,none" );
 
 #ifdef HAVE_DBUS
     /* loads dbus control interface if in one-instance mode