summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mastoapi.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/mastoapi.c b/mastoapi.c
index 72febe1..11c2671 100644
--- a/mastoapi.c
+++ b/mastoapi.c
@@ -597,7 +597,28 @@ xs_dict *mastoapi_account(const xs_dict *actor)
597 acct = xs_dict_append(acct, "following_count", xs_stock_0); 597 acct = xs_dict_append(acct, "following_count", xs_stock_0);
598 acct = xs_dict_append(acct, "statuses_count", xs_stock_0); 598 acct = xs_dict_append(acct, "statuses_count", xs_stock_0);
599 599
600 acct = xs_dict_append(acct, "fields", xs_stock_list); 600 xs *fields = xs_list_new();
601 p = xs_dict_get(actor, "attachment");
602 xs_dict *v;
603
604 while (xs_list_iter(&p, &v)) {
605 char *type = xs_dict_get(v, "type");
606 char *name = xs_dict_get(v, "name");
607 char *value = xs_dict_get(v, "value");
608
609 if (!xs_is_null(type) && !xs_is_null(name) &&
610 !xs_is_null(value) && strcmp(type, "PropertyValue") == 0) {
611 xs *d = xs_dict_new();
612
613 d = xs_dict_append(d, "name", name);
614 d = xs_dict_append(d, "value", value);
615 d = xs_dict_append(d, "verified_at", xs_stock_null);
616
617 fields = xs_list_append(fields, d);
618 }
619 }
620
621 acct = xs_dict_append(acct, "fields", fields);
601 622
602 return acct; 623 return acct;
603} 624}