summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/data.c b/data.c
index 39116ab..30f9888 100644
--- a/data.c
+++ b/data.c
@@ -662,18 +662,27 @@ int timeline_hide(snac *snac, char *id, int hide)
662 xs *s1 = xs_readall(f); 662 xs *s1 = xs_readall(f);
663 xs *msg = xs_json_loads(s1); 663 xs *msg = xs_json_loads(s1);
664 xs *meta = xs_dup(xs_dict_get(msg, "_snac")); 664 xs *meta = xs_dup(xs_dict_get(msg, "_snac"));
665 xs *hdn = xs_val_new(hide ? XSTYPE_TRUE : XSTYPE_FALSE);
665 666
666 fclose(f); 667 fclose(f);
667 668
668 meta = xs_dict_set(meta, "hidden", xs_val_new(hide ? XSTYPE_TRUE : XSTYPE_FALSE)); 669 meta = xs_dict_set(meta, "hidden", hdn);
669 msg = xs_dict_set(msg, "_snac", meta); 670 msg = xs_dict_set(msg, "_snac", meta);
670 671
671 if ((f = fopen(fn, "w")) != NULL) { 672 if ((f = fopen(fn, "w")) != NULL) {
673 char *p, *v;
672 xs *j1 = xs_json_dumps_pp(msg, 4); 674 xs *j1 = xs_json_dumps_pp(msg, 4);
673 675
674 fwrite(j1, strlen(j1), 1, f); 676 fwrite(j1, strlen(j1), 1, f);
675 fclose(f); 677 fclose(f);
676 678
679 snac_debug(snac, 1, xs_fmt("timeline_hide %d %s", hide, id));
680
681 /* now hide the children */
682 p = xs_dict_get(meta, "children");
683 while (xs_list_iter(&p, &v))
684 timeline_hide(snac, v, hide);
685
677 ret = 1; 686 ret = 1;
678 } 687 }
679 } 688 }