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.
3 files changed,  +10, -7
M data.c
M main.c
M snac.h
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