vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Thu Oct 27 22:25:20 2016 +0300| [343e358e58242276ba8df3e22947c81356dae67d] | committer: Rémi Denis-Courmont
cache: remove recursive function in save path With the removal of CacheMerge() (in ddf09a29), the relative order of submodules within a plugin no longer has any significance. So there is no need for this recursion trick anymore. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=343e358e58242276ba8df3e22947c81356dae67d --- src/modules/cache.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/src/modules/cache.c b/src/modules/cache.c index b6ad4e3..8d90a9e 100644 --- a/src/modules/cache.c +++ b/src/modules/cache.c @@ -605,20 +605,6 @@ error: return -1; } -static int CacheSaveSubmodule( FILE *file, const module_t *p_module ) -{ - if( !p_module ) - return 0; - if( CacheSaveSubmodule( file, p_module->next ) ) - goto error; - if (CacheSaveModule(file, p_module)) - goto error; - return 0; - -error: - return -1; -} - static int CacheSaveBank(FILE *file, vlc_plugin_t *const *cache, size_t n) { uint32_t i_file_size = 0; @@ -653,8 +639,10 @@ static int CacheSaveBank(FILE *file, vlc_plugin_t *const *cache, size_t n) i_submodule = module->submodule_count; SAVE_IMMEDIATE( i_submodule ); - if (CacheSaveSubmodule (file, module->submodule)) - goto error; + + for (module = module->submodule; module != NULL; module = module->next) + if (CacheSaveModule(file, module)) + goto error; /* Config stuff */ if (CacheSaveModuleConfig(file, plugin)) _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
