vlc | branch: master | Thomas Guillem <[email protected]> | Wed Feb 24 17:06:32 2016 +0100| [16a725b8a655ce188eee6d58611adee0f895d1a7] | committer: Thomas Guillem
keystore/file: use fprintf to write on a FILE > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=16a725b8a655ce188eee6d58611adee0f895d1a7 --- modules/keystore/file.c | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/modules/keystore/file.c b/modules/keystore/file.c index 3e89da1..1c65457 100644 --- a/modules/keystore/file.c +++ b/modules/keystore/file.c @@ -81,40 +81,30 @@ str2key(const char *psz_key) } static int -str_write(FILE *p_file, const char *psz_str) -{ - size_t i_len = strlen(psz_str); - return fwrite(psz_str, sizeof(char), i_len, p_file) == i_len ? VLC_SUCCESS - : VLC_EGENERIC; -} - -static int values_write(FILE *p_file, const char *const ppsz_values[KEY_MAX]) { for (unsigned int i = 0; i < KEY_MAX; ++i) { if (!ppsz_values[i]) continue; - if (str_write(p_file, ppsz_keys[i])) - return VLC_EGENERIC; - if (str_write(p_file, ":")) - return VLC_EGENERIC; char *psz_b64 = vlc_b64_encode(ppsz_values[i]); - if (!psz_b64 || str_write(p_file, psz_b64)) - { - free(psz_b64); + if (!psz_b64) return VLC_EGENERIC; - } - free(psz_b64); + const char *psz_end_sep = ""; for (unsigned int j = i + 1; j < KEY_MAX; ++j) { if (ppsz_values[j]) { - if (str_write(p_file, ",")) - return VLC_EGENERIC; + psz_end_sep = ","; break; } } + if (fprintf(p_file, "%s:%s%s", ppsz_keys[i], psz_b64, psz_end_sep) < 0) + { + free(psz_b64); + return VLC_EGENERIC; + } + free(psz_b64); } return VLC_SUCCESS; @@ -150,22 +140,20 @@ file_save(vlc_keystore *p_keystore, FILE *p_file, int i_fd, struct ks_list *p_li if (!p_entry->p_secret) continue; - if (str_write(p_file, "{")) + if (fprintf(p_file, "{") < 0) goto end; if (values_write(p_file, (const char *const *) p_entry->ppsz_values)) goto end; - if (str_write(p_file, "}:")) - goto end; char *psz_b64 = vlc_b64_encode_binary(p_entry->p_secret, p_entry->i_secret_len); - if (!psz_b64 || str_write(p_file, psz_b64)) + if (!psz_b64) + goto end; + if (fprintf(p_file, "}:%s\n", psz_b64) < 0) { free(psz_b64); goto end; } free(psz_b64); - if (i < p_list->i_count - 1 && str_write(p_file, "\n")) - goto end; } i_ret = VLC_SUCCESS; end: _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
