[vlc-devel] [PATCH v2 2/4] avcodec: use config_ChainDestroy to simplify the code

Zhao Zhili quinkblack at foxmail.com
Sun Oct 4 18:03:33 CEST 2020


---
 modules/codec/avcodec/avcommon.h | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/modules/codec/avcodec/avcommon.h b/modules/codec/avcodec/avcommon.h
index 6d88f12d72..1aaa04baed 100644
--- a/modules/codec/avcodec/avcommon.h
+++ b/modules/codec/avcodec/avcommon.h
@@ -66,14 +66,10 @@ static inline void vlc_av_get_options(const char *psz_opts, AVDictionary** pp_di
 {
     config_chain_t *cfg = NULL;
     config_ChainParseOptions(&cfg, psz_opts);
-    while (cfg) {
-        config_chain_t *next = cfg->p_next;
-        av_dict_set(pp_dict, cfg->psz_name, cfg->psz_value, 0);
-        free(cfg->psz_name);
-        free(cfg->psz_value);
-        free(cfg);
-        cfg = next;
+    for (config_chain_t *item = cfg; item != NULL; item = item->p_next) {
+        av_dict_set(pp_dict, item->psz_name, item->psz_value, 0);
     }
+    config_ChainDestroy(cfg);
 }
 
 static inline void vlc_init_avutil(vlc_object_t *obj)
-- 
2.25.1



More information about the vlc-devel mailing list