summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data.c3
-rw-r--r--html.c18
2 files changed, 5 insertions, 16 deletions
diff --git a/data.c b/data.c
index b943995..ad581ee 100644
--- a/data.c
+++ b/data.c
@@ -2009,7 +2009,8 @@ int was_question_voted(snac *user, const char *id)
xs *obj = NULL;
if (valid_status(object_get_by_md5(md5, &obj))) {
- if (strcmp(xs_dict_get(obj, "attributedTo"), user->actor) == 0) {
+ if (strcmp(xs_dict_get(obj, "attributedTo"), user->actor) == 0 &&
+ !xs_is_null(xs_dict_get(obj, "name"))) {
voted = 1;
break;
}
diff --git a/html.c b/html.c
index ad8020d..b652064 100644
--- a/html.c
+++ b/html.c
@@ -985,21 +985,9 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local,
else
if (xs_startswith(id, snac->actor))
closed = 1; /* we questioned; closed for us */
- else {
- /* not yet closed? check if we already voted for this */
- xs *children = object_children(id);
- p = children;
- while (!closed && xs_list_iter(&p, &v)) {
- xs *msg = NULL;
-
- if (valid_status(object_get_by_md5(v, &msg))) {
- const char *atto = xs_dict_get(msg, "attributedTo");
-
- if (atto && strcmp(atto, snac->actor) == 0)
- closed = 1; /* we already voted; closed for us */
- }
- }
- }
+ else
+ if (was_question_voted(snac, id))
+ closed = 1; /* we already voted; closed for us */
/* get the appropriate list of options */
p = oo != NULL ? oo : ao;