{
lang_str_t *desc, *lstr;
lang_str_ele_t *e;
+ const char *s;
if (!list) return;
char *str = string_list_2_csv(list, ',', 1);
if (!str) return;
if (lstr) {
RB_FOREACH(e, lstr, link) {
if (!desc) desc = lang_str_create();
- lang_str_append(desc, "\n\n", e->lang);
+ s = *_desc ? lang_str_get_only(*_desc, e->lang) : NULL;
+ if (s) {
+ lang_str_append(desc, s, e->lang);
+ 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);
}
return ret;
}
-/* Get language element */
-lang_str_ele_t *lang_str_get2
+/* Get language element, don't return first */
+lang_str_ele_t *lang_str_get2_only
( const lang_str_t *ls, const char *lang )
{
int i;
}
}
+ /* Return */
+ return e;
+}
+
+/* Get language element */
+lang_str_ele_t *lang_str_get2
+ ( const lang_str_t *ls, const char *lang )
+{
+ lang_str_ele_t *e = lang_str_get2_only(ls, lang);
+
/* Use first available */
- if (!e) e = RB_FIRST(ls);
+ if (!e && ls) e = RB_FIRST(ls);
/* Return */
return e;
lang_str_t *lang_str_copy ( const lang_str_t *ls );
/* Get elements */
+lang_str_ele_t *lang_str_get2_only ( const lang_str_t *ls, const char *lang );
+static inline const char *lang_str_get_only(const lang_str_t *ls, const char *lang)
+ {
+ lang_str_ele_t *e = lang_str_get2_only(ls, lang);
+ return e ? e->str : NULL;
+ }
lang_str_ele_t *lang_str_get2 ( const lang_str_t *ls, const char *lang );
static inline const char *lang_str_get(const lang_str_t *ls, const char *lang)
{