aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrunfink <grunfink@comam.es>2026-07-12 20:12:03 +0200
committergrunfink <grunfink@comam.es>2026-07-12 20:12:03 +0200
commit4425d8e985e35cee72acf7b22f50422c8e1ac2a3 (patch)
tree7e1b1303beb0d5b5a79332a4e22024424927e309
parent6032dd0adc34fd1f2a6ddb20aba8ebafbe503367 (diff)
Added count of EmojiReacts to top_ten.
-rw-r--r--data.c8
-rw-r--r--main.c5
-rw-r--r--snac.h1
-rw-r--r--utils.c7
4 files changed, 16 insertions, 5 deletions
diff --git a/data.c b/data.c
index 52e4271..806938c 100644
--- a/data.c
+++ b/data.c
@@ -1051,6 +1051,14 @@ int object_announces_len(const char *id)
}
+int object_emojireacts_len(const char *id)
+/* returns the number of emojireacts (without reading the index) */
+{
+ xs *fn = _object_index_fn(id, "_e.idx");
+ return index_len(fn);
+}
+
+
xs_list *object_children(const char *id)
/* returns the list of an object's children */
{
diff --git a/main.c b/main.c
index e7d5b0d..9170761 100644
--- a/main.c
+++ b/main.c
@@ -362,9 +362,10 @@ int main(int argc, char *argv[])
const xs_list *i;
xs_list_foreach(l, i) {
- printf("%s %ld★ %ld↺\n", xs_list_get(i, 0),
+ printf("%s %ld★ %ld↺ %ld☺\n", xs_list_get(i, 0),
xs_number_get_l(xs_list_get(i, 1)),
- xs_number_get_l(xs_list_get(i, 2)));
+ xs_number_get_l(xs_list_get(i, 2)),
+ xs_number_get_l(xs_list_get(i, 3)));
}
return 0;
diff --git a/snac.h b/snac.h
index 69180ae..cb4ae56 100644
--- a/snac.h
+++ b/snac.h
@@ -157,6 +157,7 @@ int object_emoji_react(const char *mid, const char *eid);
int object_rm_emoji_react(const char *mid, const char *eid);
int object_likes_len(const char *id);
int object_announces_len(const char *id);
+int object_emojireacts_len(const char *id);
xs_list *object_children(const char *id);
xs_list *object_likes(const char *id);
diff --git a/utils.c b/utils.c
index 9475bd7..6941081 100644
--- a/utils.c
+++ b/utils.c
@@ -1024,8 +1024,8 @@ static int top_ten_sort(const void *v1, const void *v2)
const xs_list *l1 = *(const xs_list **)v1;
const xs_list *l2 = *(const xs_list **)v2;
- const char *c1 = xs_list_get(l1, 3);
- const char *c2 = xs_list_get(l2, 3);
+ const char *c1 = xs_list_get(l1, 4);
+ const char *c2 = xs_list_get(l2, 4);
return xs_cmp(c2, c1);
}
@@ -1060,9 +1060,10 @@ xs_list *user_top_ten(snac *user, int count)
/* get metrics */
int ls = object_likes_len(id);
int as = object_announces_len(id);
+ int es = object_emojireacts_len(id);
/* build the entry and convert to list */
- xs *s = xs_fmt("%s\t%d\t%d\t%010d", id, ls, as, ls + as);
+ xs *s = xs_fmt("%s\t%d\t%d\t%d\t%010d", id, ls, as, es, ls + as + es);
xs *l = xs_split(s, "\t");
u_list = xs_list_append(u_list, l);