commit a453c01f323054c82d387d20446c5b66f9a85533
parent 7d836796171d7777c0314fffd0eff31894676049
Author: default <nobody@localhost>
Date: Mon, 25 Mar 2024 19:58:27 +0100
Some software return a list of icons instead of one, because why not.
Diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/html.c b/html.c
@@ -113,9 +113,13 @@ xs_html *html_actor_icon(snac *user, xs_dict *actor, const char *date,
xs *name = actor_name(actor);
/* get the avatar */
- if ((v = xs_dict_get(actor, "icon")) != NULL &&
- (v = xs_dict_get(v, "url")) != NULL) {
- avatar = xs_dup(v);
+ if ((v = xs_dict_get(actor, "icon")) != NULL) {
+ /* if it's a list (Peertube), get the first one */
+ if (xs_type(v) == XSTYPE_LIST)
+ v = xs_list_get(v, 0);
+
+ if ((v = xs_dict_get(v, "url")) != NULL)
+ avatar = xs_dup(v);
}
if (avatar == NULL)