aboutsummaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2024-11-24 08:54:43 +0100
committerdefault <nobody@localhost>2024-11-24 08:54:43 +0100
commit9fb84bcb3aa4c6a8061e4b892dc5bd1826b44715 (patch)
tree9d9eafc46346728872af303beba837f3a682c5ab /data.c
parent96576d2c5df41b91e915a31d5c0c039f4852f583 (diff)
The people page shows 'Approve' and 'Discard' buttons for pending follows.
Diffstat (limited to 'data.c')
-rw-r--r--data.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/data.c b/data.c
index 8bc35aa..82a1776 100644
--- a/data.c
+++ b/data.c
@@ -1270,12 +1270,22 @@ xs_list *pending_list(snac *user)
const char *v;
xs_list_foreach(l, v) {
- const char *actor = xs_dict_get(v, "actor");
+ FILE *f;
+ xs *msg = NULL;
- if (xs_type(actor) == XSTYPE_STRING) {
- xs *md5 = xs_md5_hex(actor, strlen(actor));
- r = xs_list_append(r, md5);
- }
+ if ((f = fopen(v, "r")) == NULL)
+ continue;
+
+ msg = xs_json_load(f);
+ fclose(f);
+
+ if (msg == NULL)
+ continue;
+
+ const char *actor = xs_dict_get(msg, "actor");
+
+ if (xs_type(actor) == XSTYPE_STRING)
+ r = xs_list_append(r, actor);
}
return r;