commit 3fcc139
default
·
2023-02-08 12:21:44 +0000 UTC
parent b8cd0d6
timeline_top_level() now looks for the entries in the user caches.
M
data.c
+8,
-5
1@@ -906,11 +906,12 @@ void timeline_admire(snac *snac, char *id, char *admirer, int like)
2 }
3
4
5-d_char *timeline_top_level(d_char *list)
6+xs_list *timeline_top_level(snac *snac, xs_list *list)
7 /* returns the top level md5 entries from this index */
8 {
9 xs_set seen;
10- char *p, *v;
11+ xs_list *p;
12+ xs_str *v;
13
14 xs_set_init(&seen);
15
16@@ -927,8 +928,10 @@ d_char *timeline_top_level(d_char *list)
17 if (!object_parent(line, line2, sizeof(line2)))
18 break;
19
20- /* well, there is a parent... but if it's not there, use this */
21- if (!object_here_by_md5(line2))
22+ /* well, there is a parent... but is it here? */
23+ xs *pfn = timeline_fn_by_md5(snac, line2);
24+
25+ if (pfn == NULL)
26 break;
27
28 /* it's here! try again with its own parent */
29@@ -965,7 +968,7 @@ d_char *timeline_list(snac *snac, const char *idx_name, int skip, int show)
30 {
31 xs *list = timeline_simple_list(snac, idx_name, skip, show);
32
33- return timeline_top_level(list);
34+ return timeline_top_level(snac, list);
35 }
36
37
M
main.c
+1,
-1
1@@ -165,7 +165,7 @@ int main(int argc, char *argv[])
2
3 xs *idx = xs_fmt("%s/private.idx", snac.basedir);
4 xs *list = index_list_desc(idx, 0, 256);
5- xs *tl = timeline_top_level(list);
6+ xs *tl = timeline_top_level(&snac, list);
7
8 xs *j = xs_json_dumps_pp(tl, 4);
9 printf("%s\n", j);
M
snac.h
+1,
-1
1@@ -99,7 +99,7 @@ d_char *timeline_list(snac *snac, const char *idx_name, int skip, int show);
2 int timeline_add(snac *snac, char *id, char *o_msg);
3 void timeline_admire(snac *snac, char *id, char *admirer, int like);
4
5-d_char *timeline_top_level(d_char *list);
6+xs_list *timeline_top_level(snac *snac, xs_list *list);
7
8 d_char *local_list(snac *snac, int max);
9