diff options
| author | 2022-11-26 18:52:51 +0100 | |
|---|---|---|
| committer | 2022-11-26 18:52:51 +0100 | |
| commit | 2ad703e52028814a27918f5e840f734aa98adfd1 (patch) | |
| tree | d910e0f050cf58f7c24dedf33ea839ef7506b2c9 /data.c | |
| parent | New function timeline_top_level() (untested). (diff) | |
| download | snac2-2ad703e52028814a27918f5e840f734aa98adfd1.tar.gz snac2-2ad703e52028814a27918f5e840f734aa98adfd1.tar.xz snac2-2ad703e52028814a27918f5e840f734aa98adfd1.zip | |
timeline_top_level() works.
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 24 |
1 files changed, 8 insertions, 16 deletions
| @@ -1039,12 +1039,10 @@ int timeline_add(snac *snac, char *id, char *o_msg, char *parent, char *referrer | |||
| 1039 | } | 1039 | } |
| 1040 | 1040 | ||
| 1041 | 1041 | ||
| 1042 | d_char *timeline_top_level(snac *snac, const char *index) | 1042 | d_char *timeline_top_level(snac *snac, d_char *list) |
| 1043 | /* returns the top level entries from this index */ | 1043 | /* returns the top level md5 entries from this index */ |
| 1044 | { | 1044 | { |
| 1045 | int max = 256; | 1045 | d_char *tl = xs_list_new(); |
| 1046 | xs *list = index_list_desc(index, max); | ||
| 1047 | xs *tl = xs_list_new(); | ||
| 1048 | xs_set seen; | 1046 | xs_set seen; |
| 1049 | char *p, *v; | 1047 | char *p, *v; |
| 1050 | 1048 | ||
| @@ -1061,15 +1059,13 @@ d_char *timeline_top_level(snac *snac, const char *index) | |||
| 1061 | xs *fn = _object_fn_by_md5(line); | 1059 | xs *fn = _object_fn_by_md5(line); |
| 1062 | fn = xs_replace_i(fn, ".json", "_p.idx"); | 1060 | fn = xs_replace_i(fn, ".json", "_p.idx"); |
| 1063 | 1061 | ||
| 1064 | /* if it doesn't have a parent, we got it */ | 1062 | /* if it doesn't have a parent, use this */ |
| 1065 | if (index_first(fn, line2, strlen(line2)) == 0) { | 1063 | if (index_first(fn, line2, sizeof(line2)) == 0) |
| 1066 | strcpy(line, line2); | ||
| 1067 | break; | 1064 | break; |
| 1068 | } | ||
| 1069 | 1065 | ||
| 1070 | xs *pfn = _object_fn_by_md5(line2); | 1066 | xs *pfn = _object_fn_by_md5(line2); |
| 1071 | 1067 | ||
| 1072 | /* well, there is a parent... if it's not here, we're done */ | 1068 | /* well, there is a parent... but if it's not there, use this */ |
| 1073 | if (mtime(pfn) == 0.0) | 1069 | if (mtime(pfn) == 0.0) |
| 1074 | break; | 1070 | break; |
| 1075 | 1071 | ||
| @@ -1077,12 +1073,8 @@ d_char *timeline_top_level(snac *snac, const char *index) | |||
| 1077 | strcpy(line, line2); | 1073 | strcpy(line, line2); |
| 1078 | } | 1074 | } |
| 1079 | 1075 | ||
| 1080 | if (xs_set_add(&seen, line) == 1) { | 1076 | if (xs_set_add(&seen, line) == 1) |
| 1081 | xs *obj = NULL; | 1077 | tl = xs_list_append(tl, line); |
| 1082 | |||
| 1083 | if (valid_status(object_get(line, &obj, NULL))) | ||
| 1084 | tl = xs_list_append(tl, obj); | ||
| 1085 | } | ||
| 1086 | } | 1078 | } |
| 1087 | 1079 | ||
| 1088 | xs_set_free(&seen); | 1080 | xs_set_free(&seen); |