]> git.sesse.net Git - vlc/commitdiff
Allow NULL module capability
authorRémi Denis-Courmont <remi@remlab.net>
Mon, 15 Aug 2011 15:57:31 +0000 (18:57 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Mon, 15 Aug 2011 15:55:02 +0000 (18:55 +0300)
The module will never be proved. This applies to the "main" module
and the playlist demux (which only has submodules).

src/libvlc-module.c
src/modules/entry.c
src/modules/modules.c

index 61bb03e01c2ef1ae8da6e3d54619f2104def25b5..8189587c3ca3aacfc5e73d7d15b3cf34d7e16488 100644 (file)
@@ -2811,7 +2811,6 @@ vlc_module_begin ()
     /* add_usage_hint( PLAYLIST_USAGE ) */
 
     set_description( N_("main program") )
-    set_capability( "main", 100 )
 vlc_module_end ()
 
 /*****************************************************************************
index 71cef99229877ba56aa5a1a0de402bb0c4b2b5ea..f3d52fe9f1de768c4574e0c38bef3f295eddacc3 100644 (file)
@@ -63,7 +63,7 @@ module_t *vlc_module_create (void)
     module->psz_help = NULL;
     module->pp_shortcuts = NULL;
     module->i_shortcuts = 0;
-    module->psz_capability = (char*)"";
+    module->psz_capability = NULL;
     module->i_score = 1;
     module->b_unloadable = true;
     module->pf_activate = NULL;
index f2600184c1a222d08fd08ea72c614e6e92ec8187..cfb2a40d7db9606045696517f9b2fd20de58596e 100644 (file)
@@ -190,6 +190,8 @@ void module_LoadPlugins (vlc_object_t *obj)
  */
 bool module_provides( const module_t *m, const char *cap )
 {
+    if (unlikely(m->psz_capability == NULL))
+        return false;
     return !strcmp( m->psz_capability, cap );
 }
 
@@ -1071,7 +1073,8 @@ static void DupModule( module_t *p_module )
 
     /* We strdup() these entries so that they are still valid when the
      * module is unloaded. */
-    p_module->psz_capability = strdup( p_module->psz_capability );
+    p_module->psz_capability =
+        p_module->psz_capability ? strdup( p_module->psz_capability ) : NULL;
     p_module->psz_shortname = p_module->psz_shortname ?
                                  strdup( p_module->psz_shortname ) : NULL;
     p_module->psz_longname = strdup( p_module->psz_longname );