commit 29eb314

default  ·  2023-05-30 04:00:11 +0000 UTC
parent be39b52
Added some limits to poll options.
1 files changed,  +11, -5
+11, -5
 1@@ -937,8 +937,8 @@ xs_dict *msg_question(snac *user, const char *content, xs_list *attach,
 2 /* creates a Question message */
 3 {
 4     xs *ntid     = tid(0);
 5-    xs *id       = xs_fmt("%s/q/%s", user->actor, ntid);
 6     xs_dict *msg = msg_note(user, content, NULL, NULL, attach, 0);
 7+    int max      = 8;
 8 
 9     msg = xs_dict_set(msg, "type", "Question");
10 
11@@ -947,10 +947,16 @@ xs_dict *msg_question(snac *user, const char *content, xs_list *attach,
12     xs_str *v;
13     xs *replies = xs_json_loads("{\"type\":\"Collection\",\"totalItems\":0}");
14 
15-    while (xs_list_iter(&p, &v)) {
16-        xs *d = xs_dict_new();
17+    while (max-- && xs_list_iter(&p, &v)) {
18+        xs *v2 = xs_dup(v);
19+        xs *d  = xs_dict_new();
20+
21+        if (strlen(v2) > 60) {
22+            v2[60] = '\0';
23+            v2 = xs_str_cat(v2, "...");
24+        }
25 
26-        d = xs_dict_append(d, "name",    v);
27+        d = xs_dict_append(d, "name",    v2);
28         d = xs_dict_append(d, "replies", replies);
29         o = xs_list_append(o, d);
30     }
31@@ -1058,7 +1064,7 @@ int update_question(snac *user, const char *id)
32         xs *now = xs_str_utctime(0, ISO_DATE_SPEC);
33 
34         /* it's now greater than the endTime? */
35-        if (strcmp(now, end_time) > 0) {
36+        if (strcmp(now, end_time) >= 0) {
37             xs *et = xs_dup(end_time);
38             msg    = xs_dict_set(msg, "closed", et);
39         }