Explorar el Código

Merge pull request 'mastoapi: fix get list response & duplicate actor adding' (#180) from louis77/snac2:fix-lists into master

Reviewed-on: https://codeberg.org/grunfink/snac2/pulls/180
grunfink hace 2 años
padre
commit
aba3c7b50e
Se han modificado 2 ficheros con 6 adiciones y 4 borrados
  1. 1 1
      data.c
  2. 5 3
      mastoapi.c

+ 1 - 1
data.c

@@ -1925,7 +1925,7 @@ xs_val *list_content(snac *user, const char *list, const char *actor_md5, int op
 
 
     case 1: /** append actor to list **/
     case 1: /** append actor to list **/
         if (actor_md5 != NULL) {
         if (actor_md5 != NULL) {
-            if (!index_in(fn, actor_md5))
+            if (!index_in_md5(fn, actor_md5))
                 index_add_md5(fn, actor_md5);
                 index_add_md5(fn, actor_md5);
         }
         }
 
 

+ 5 - 3
mastoapi.c

@@ -1974,7 +1974,7 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path,
                             d = xs_dict_append(d, "replies_policy", "list");
                             d = xs_dict_append(d, "replies_policy", "list");
                             d = xs_dict_append(d, "exclusive", xs_stock(XSTYPE_FALSE));
                             d = xs_dict_append(d, "exclusive", xs_stock(XSTYPE_FALSE));
 
 
-                            out = xs_list_append(out, d);
+                            out = xs_dup(d);
                             break;
                             break;
                         }
                         }
                     }
                     }
@@ -2971,8 +2971,10 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path,
                         list_content(&snac, id, v, 1);
                         list_content(&snac, id, v, 1);
                     }
                     }
 
 
-                    *ctype = "application/json";
-                    status = HTTP_STATUS_OK;
+                    xs *out = xs_dict_new();
+                    *body   = xs_json_dumps(out, 4);
+                    *ctype  = "application/json";
+                    status  = HTTP_STATUS_OK;
                 }
                 }
             }
             }
         }
         }