vlc | branch: master | Thomas Guillem <[email protected]> | Tue Jan 12 10:24:16 2016 +0100| [64ae53f4ee7f72016687d8876ff6a2b061ac36d4] | committer: Thomas Guillem
keystore: factor vlc_keystore_release_entry > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=64ae53f4ee7f72016687d8876ff6a2b061ac36d4 --- include/vlc_keystore.h | 12 ++++++++++++ modules/keystore/plaintext.c | 13 ++----------- src/misc/keystore.c | 7 +------ 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/include/vlc_keystore.h b/include/vlc_keystore.h index 9880441..f8a6ae1 100644 --- a/include/vlc_keystore.h +++ b/include/vlc_keystore.h @@ -267,6 +267,18 @@ vlc_keystore_entry_set_secret(vlc_keystore_entry *p_entry, return VLC_SUCCESS; } +static inline void +vlc_keystore_release_entry(vlc_keystore_entry *p_entry) +{ + for (unsigned int j = 0; j < KEY_MAX; ++j) + { + free(p_entry->ppsz_values[j]); + p_entry->ppsz_values[j] = NULL; + } + free(p_entry->p_secret); + p_entry->p_secret = NULL; +} + typedef struct vlc_keystore_sys vlc_keystore_sys; struct vlc_keystore { diff --git a/modules/keystore/plaintext.c b/modules/keystore/plaintext.c index cf9f338..d2049ff 100644 --- a/modules/keystore/plaintext.c +++ b/modules/keystore/plaintext.c @@ -360,15 +360,7 @@ Store(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX], vlc_keystore_entry *p_entry = list_get_entry(p_list, ppsz_values, NULL); if (p_entry) - { - free(p_entry->p_secret); - p_entry->p_secret = NULL; - for (unsigned int i = 0; i < KEY_MAX; ++i) - { - free(p_entry->ppsz_values[i]); - p_entry->ppsz_values[i] = NULL; - } - } + vlc_keystore_release_entry(p_entry); else { p_entry = list_new_entry(p_list); @@ -441,8 +433,7 @@ Remove(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX]) while ((p_entry = list_get_entry(p_list, ppsz_values, &i_index))) { - free(p_entry->p_secret); - p_entry->p_secret = NULL; + vlc_keystore_release_entry(p_entry); i_count++; } diff --git a/src/misc/keystore.c b/src/misc/keystore.c index 2587bd2..911b9ea 100644 --- a/src/misc/keystore.c +++ b/src/misc/keystore.c @@ -116,12 +116,7 @@ void vlc_keystore_release_entries(vlc_keystore_entry *p_entries, unsigned int i_count) { for (unsigned int i = 0; i < i_count; ++i) - { - vlc_keystore_entry *p_entry = &p_entries[i]; - for (unsigned int j = 0; j < KEY_MAX; ++j) - free(p_entry->ppsz_values[j]); - free(p_entry->p_secret); - } + vlc_keystore_release_entry(&p_entries[i]); free(p_entries); } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
