* Convert the string list to a human-readable csv and append
* it to the desc with a prefix of name.
*/
-static void xmltv_appendit(lang_str_t *desc, string_list_t *list, const char *name)
+static void xmltv_appendit(lang_str_t **desc, string_list_t *list, const char *name)
{
if (!list) return;
+ if (!*desc) *desc = lang_str_create();
char *str = string_list_2_csv(list, ',', 1);
if (str) {
lang_str_ele_t *e;
- RB_FOREACH(e, desc, link) {
- lang_str_append(desc, "\n\n", e->lang);
- lang_str_append(desc, tvh_gettext_lang(e->lang, name), e->lang);
- lang_str_append(desc, str, e->lang);
+ RB_FOREACH(e, *desc, link) {
+ lang_str_append(*desc, "\n\n", e->lang);
+ lang_str_append(*desc, tvh_gettext_lang(e->lang, name), e->lang);
+ lang_str_append(*desc, str, e->lang);
}
free(str);
}
* don't display them.
*/
if (desc && scrape_onto_desc) {
- xmltv_appendit(desc, credits_names, N_("Credits: "));
- xmltv_appendit(desc, category, N_("Categories: "));
- xmltv_appendit(desc, keyword, N_("Keywords: "));
+ xmltv_appendit(&desc, credits_names, N_("Credits: "));
+ xmltv_appendit(&desc, category, N_("Categories: "));
+ xmltv_appendit(&desc, keyword, N_("Keywords: "));
}
if (credits) htsmsg_destroy(credits);