[vlc-devel] commit: Bury the module pointer inside modules.c ( Rémi Denis-Courmont )

git version control git at videolan.org
Sun Oct 5 14:37:15 CEST 2008


vlc | branch: master | Rémi Denis-Courmont <rdenis at simphalempin.com> | Sun Oct  5 15:36:50 2008 +0300| [3e0219e05af8cec582c54e15d9941681deb51b2d] | committer: Rémi Denis-Courmont 

Bury the module pointer inside modules.c

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3e0219e05af8cec582c54e15d9941681deb51b2d
---

 src/libvlc.h          |    5 -----
 src/modules/cache.c   |   22 +++++++++++-----------
 src/modules/modules.c |    8 ++++----
 src/modules/modules.h |    6 +++---
 4 files changed, 18 insertions(+), 23 deletions(-)

diff --git a/src/libvlc.h b/src/libvlc.h
index 1bf5e8f..cc3bed0 100644
--- a/src/libvlc.h
+++ b/src/libvlc.h
@@ -141,11 +141,6 @@ __vlc_custom_create (vlc_object_t *p_this, size_t i_size, int i_type,
         __vlc_custom_create(VLC_OBJECT(o), s, t, n)
 
 
-/**
- * The module bank
- */
-extern module_bank_t *p_module_bank;
-
 extern char *psz_vlcpath;
 
 #ifdef LIBVLC_USE_PTHREAD
diff --git a/src/modules/cache.c b/src/modules/cache.c
index cadb705..e4002f4 100644
--- a/src/modules/cache.c
+++ b/src/modules/cache.c
@@ -102,7 +102,7 @@ static int    CacheSaveConfig  ( module_t *, FILE * );
  * actually load the dynamically loadable module.
  * This allows us to only fully load plugins when they are actually used.
  *****************************************************************************/
-void CacheLoad( vlc_object_t *p_this, bool b_delete )
+void CacheLoad( vlc_object_t *p_this, module_bank_t *p_bank, bool b_delete )
 {
     char *psz_filename, *psz_cachedir = config_GetCacheDir();
     FILE *file;
@@ -230,7 +230,7 @@ void CacheLoad( vlc_object_t *p_this, bool b_delete )
         return;
     }
 
-    p_module_bank->i_loaded_cache = 0;
+    p_bank->i_loaded_cache = 0;
     if (fread( &i_cache, 1, sizeof(i_cache), file ) != sizeof(i_cache) )
     {
         msg_Warn( p_this, "This doesn't look like a valid plugins cache "
@@ -240,7 +240,7 @@ void CacheLoad( vlc_object_t *p_this, bool b_delete )
     }
 
     if( i_cache )
-        pp_cache = p_module_bank->pp_loaded_cache =
+        pp_cache = p_bank->pp_loaded_cache =
                    malloc( i_cache * sizeof(void *) );
 
 #define LOAD_IMMEDIATE(a) \
@@ -271,7 +271,7 @@ void CacheLoad( vlc_object_t *p_this, bool b_delete )
         int i_submodules;
 
         pp_cache[i] = malloc( sizeof(module_cache_t) );
-        p_module_bank->i_loaded_cache++;
+        p_bank->i_loaded_cache++;
 
         /* Load common info */
         LOAD_STRING( pp_cache[i]->psz_file );
@@ -337,7 +337,7 @@ void CacheLoad( vlc_object_t *p_this, bool b_delete )
     msg_Warn( p_this, "plugins cache not loaded (corrupted)" );
 
     /* TODO: cleanup */
-    p_module_bank->i_loaded_cache = 0;
+    p_bank->i_loaded_cache = 0;
 
     fclose( file );
     return;
@@ -467,7 +467,7 @@ static int CacheSaveSubmodule( FILE *file, module_t *p_module );
 /*****************************************************************************
  * SavePluginsCache: saves the plugins cache to a file
  *****************************************************************************/
-void CacheSave( vlc_object_t *p_this )
+void CacheSave( vlc_object_t *p_this, module_bank_t *p_bank )
 {
     static char const psz_tag[] =
         "Signature: 8a477f597d28d172789f06886806bc55\r\n"
@@ -537,8 +537,8 @@ void CacheSave( vlc_object_t *p_this )
     if (fwrite (&i_file_size, sizeof (i_file_size), 1, file) != 1)
         goto error;
 
-    i_cache = p_module_bank->i_cache;
-    pp_cache = p_module_bank->pp_cache;
+    i_cache = p_bank->i_cache;
+    pp_cache = p_bank->pp_cache;
 
     if (fwrite( &i_cache, sizeof (i_cache), 1, file) != 1)
         goto error;
@@ -724,14 +724,14 @@ void CacheMerge( vlc_object_t *p_this, module_t *p_cache, module_t *p_module )
 /*****************************************************************************
  * CacheFind: finds the cache entry corresponding to a file
  *****************************************************************************/
-module_cache_t *CacheFind( const char *psz_file,
+module_cache_t *CacheFind( module_bank_t *p_bank, const char *psz_file,
                            int64_t i_time, int64_t i_size )
 {
     module_cache_t **pp_cache;
     int i_cache, i;
 
-    pp_cache = p_module_bank->pp_loaded_cache;
-    i_cache = p_module_bank->i_loaded_cache;
+    pp_cache = p_bank->pp_loaded_cache;
+    i_cache = p_bank->i_loaded_cache;
 
     for( i = 0; i < i_cache; i++ )
     {
diff --git a/src/modules/modules.c b/src/modules/modules.c
index 7113e9d..7647993 100644
--- a/src/modules/modules.c
+++ b/src/modules/modules.c
@@ -90,7 +90,7 @@
 #include "modules/modules.h"
 #include "modules/builtin.h"
 
-module_bank_t *p_module_bank = NULL;
+static module_bank_t *p_module_bank = NULL;
 
 /*****************************************************************************
  * Local prototypes
@@ -176,7 +176,7 @@ void __module_EndBank( vlc_object_t *p_this )
     config_AutoSaveConfigFile( p_this );
 
 #ifdef HAVE_DYNAMIC_PLUGINS
-    if( p_bank->b_cache ) CacheSave( p_this );
+    if( p_bank->b_cache ) CacheSave( p_this, p_module_bank );
     while( p_bank->i_loaded_cache-- )
     {
         if( p_bank->pp_loaded_cache[p_bank->i_loaded_cache] )
@@ -262,7 +262,7 @@ void module_LoadPlugins( vlc_object_t * p_this, bool b_cache_delete )
         p_module_bank->b_cache = true;
 
     if( p_module_bank->b_cache || b_cache_delete )
-        CacheLoad( p_this, b_cache_delete );
+        CacheLoad( p_this, p_module_bank, b_cache_delete );
 
     AllocateAllPlugins( p_this );
 #endif
@@ -1118,7 +1118,7 @@ static int AllocatePluginFile( vlc_object_t * p_this, char * psz_file,
      * Check our plugins cache first then load plugin if needed
      */
     p_cache_entry =
-        CacheFind( psz_file, i_file_time, i_file_size );
+        CacheFind( p_module_bank, psz_file, i_file_time, i_file_size );
 
     if( !p_cache_entry )
     {
diff --git a/src/modules/modules.h b/src/modules/modules.h
index a87d9e0..74bc8f7 100644
--- a/src/modules/modules.h
+++ b/src/modules/modules.h
@@ -164,8 +164,8 @@ void module_Unload (module_handle_t);
 
 /* Plugins cache */
 void   CacheMerge (vlc_object_t *, module_t *, module_t *);
-void   CacheLoad  (vlc_object_t *, bool);
-void   CacheSave  (vlc_object_t * );
-module_cache_t * CacheFind (const char *, int64_t, int64_t);
+void   CacheLoad  (vlc_object_t *, module_bank_t *, bool);
+void   CacheSave  (vlc_object_t *, module_bank_t *);
+module_cache_t * CacheFind (module_bank_t *, const char *, int64_t, int64_t);
 
 #endif /* !__LIBVLC_MODULES_H */




More information about the vlc-devel mailing list