summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mastoapi.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/mastoapi.c b/mastoapi.c
index 3403f53..cb0ba91 100644
--- a/mastoapi.c
+++ b/mastoapi.c
@@ -1014,21 +1014,24 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path,
1014 while (xs_list_iter(&p, &v)) { 1014 while (xs_list_iter(&p, &v)) {
1015 snac user; 1015 snac user;
1016 1016
1017 /* skip this same user */
1017 if (strcmp(v, xs_dict_get(snac1.config, "uid")) == 0) 1018 if (strcmp(v, xs_dict_get(snac1.config, "uid")) == 0)
1018 continue; 1019 continue;
1019 1020
1020 if (user_open(&user, v)) { 1021 /* skip if the uid does not start with the query */
1021 xs *v2 = xs_tolower_i(xs_dup(v)); 1022 xs *v2 = xs_tolower_i(xs_dup(v));
1023 if (!xs_startswith(v2, q))
1024 continue;
1022 1025
1023 if (xs_startswith(v2, q)) { 1026 if (user_open(&user, v)) {
1027 /* if it's not already seen, add it */
1028 if (xs_set_add(&seen, user.actor) == 1) {
1024 xs *actor = msg_actor(&user); 1029 xs *actor = msg_actor(&user);
1025 xs *acct = mastoapi_account(actor); 1030 xs *acct = mastoapi_account(actor);
1026 1031
1027 out = xs_list_append(out, acct); 1032 out = xs_list_append(out, acct);
1028 } 1033 }
1029 1034
1030 xs_set_add(&seen, user.actor);
1031
1032 user_free(&user); 1035 user_free(&user);
1033 } 1036 }
1034 } 1037 }