commit 4425d8e
grunfink
·
2026-07-12 18:12:03 +0000 UTC
parent 6032dd0
Added count of EmojiReacts to top_ten.
M
data.c
+8,
-0
1@@ -1051,6 +1051,14 @@ int object_announces_len(const char *id)
2 }
3
4
5+int object_emojireacts_len(const char *id)
6+/* returns the number of emojireacts (without reading the index) */
7+{
8+ xs *fn = _object_index_fn(id, "_e.idx");
9+ return index_len(fn);
10+}
11+
12+
13 xs_list *object_children(const char *id)
14 /* returns the list of an object's children */
15 {
M
main.c
+3,
-2
1@@ -362,9 +362,10 @@ int main(int argc, char *argv[])
2 const xs_list *i;
3
4 xs_list_foreach(l, i) {
5- printf("%s %ld★ %ld↺\n", xs_list_get(i, 0),
6+ printf("%s %ld★ %ld↺ %ld☺\n", xs_list_get(i, 0),
7 xs_number_get_l(xs_list_get(i, 1)),
8- xs_number_get_l(xs_list_get(i, 2)));
9+ xs_number_get_l(xs_list_get(i, 2)),
10+ xs_number_get_l(xs_list_get(i, 3)));
11 }
12
13 return 0;
M
snac.h
+1,
-0
1@@ -157,6 +157,7 @@ int object_emoji_react(const char *mid, const char *eid);
2 int object_rm_emoji_react(const char *mid, const char *eid);
3 int object_likes_len(const char *id);
4 int object_announces_len(const char *id);
5+int object_emojireacts_len(const char *id);
6
7 xs_list *object_children(const char *id);
8 xs_list *object_likes(const char *id);
M
utils.c
+4,
-3
1@@ -1024,8 +1024,8 @@ static int top_ten_sort(const void *v1, const void *v2)
2 const xs_list *l1 = *(const xs_list **)v1;
3 const xs_list *l2 = *(const xs_list **)v2;
4
5- const char *c1 = xs_list_get(l1, 3);
6- const char *c2 = xs_list_get(l2, 3);
7+ const char *c1 = xs_list_get(l1, 4);
8+ const char *c2 = xs_list_get(l2, 4);
9
10 return xs_cmp(c2, c1);
11 }
12@@ -1060,9 +1060,10 @@ xs_list *user_top_ten(snac *user, int count)
13 /* get metrics */
14 int ls = object_likes_len(id);
15 int as = object_announces_len(id);
16+ int es = object_emojireacts_len(id);
17
18 /* build the entry and convert to list */
19- xs *s = xs_fmt("%s\t%d\t%d\t%010d", id, ls, as, ls + as);
20+ xs *s = xs_fmt("%s\t%d\t%d\t%d\t%010d", id, ls, as, es, ls + as + es);
21 xs *l = xs_split(s, "\t");
22
23 u_list = xs_list_append(u_list, l);