summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
Diffstat (limited to 'data.c')
-rw-r--r--data.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/data.c b/data.c
index 4a19680..7d33f77 100644
--- a/data.c
+++ b/data.c
@@ -2265,7 +2265,8 @@ xs_val *list_maint(snac *user, const char *list, int op)
2265 xs *l2 = xs_split(v2, "/"); 2265 xs *l2 = xs_split(v2, "/");
2266 2266
2267 /* return [ list_id, list_title ] */ 2267 /* return [ list_id, list_title ] */
2268 l = xs_list_append(l, xs_list_append(xs_list_new(), xs_list_get(l2, -1), title)); 2268 xs *tmp_list = xs_list_append(xs_list_new(), xs_list_get(l2, -1), title);
2269 l = xs_list_append(l, tmp_list);
2269 } 2270 }
2270 } 2271 }
2271 } 2272 }
@@ -2340,6 +2341,19 @@ xs_val *list_maint(snac *user, const char *list, int op)
2340 } 2341 }
2341 2342
2342 break; 2343 break;
2344
2345 case 4: /** find list id by name **/
2346 if (xs_is_string(list)) {
2347 xs *lol = list_maint(user, NULL, 0);
2348 const xs_list *li;
2349
2350 xs_list_foreach(lol, li) {
2351 if (strcmp(list, xs_list_get(li, 1)) == 0) {
2352 l = xs_dup(xs_list_get(li, 0));
2353 break;
2354 }
2355 }
2356 }
2343 } 2357 }
2344 2358
2345 return l; 2359 return l;
@@ -2391,7 +2405,7 @@ xs_val *list_content(snac *user, const char *list, const char *actor_md5, int op
2391 break; 2405 break;
2392 2406
2393 case 1: /** append actor to list **/ 2407 case 1: /** append actor to list **/
2394 if (actor_md5 != NULL) { 2408 if (xs_is_string(actor_md5) && xs_is_hex(actor_md5)) {
2395 if (!index_in_md5(fn, actor_md5)) 2409 if (!index_in_md5(fn, actor_md5))
2396 index_add_md5(fn, actor_md5); 2410 index_add_md5(fn, actor_md5);
2397 } 2411 }
@@ -2399,7 +2413,7 @@ xs_val *list_content(snac *user, const char *list, const char *actor_md5, int op
2399 break; 2413 break;
2400 2414
2401 case 2: /** delete actor from list **/ 2415 case 2: /** delete actor from list **/
2402 if (actor_md5 != NULL) 2416 if (xs_is_string(actor_md5) && xs_is_hex(actor_md5))
2403 index_del_md5(fn, actor_md5); 2417 index_del_md5(fn, actor_md5);
2404 2418
2405 break; 2419 break;