commit 03e9f05
default
·
2026-08-26 07:02:30 +0000 UTC
parent 319d5ca
Use snac_op in limited().
M
data.c
+8,
-5
1@@ -2355,7 +2355,7 @@ int actor_get_refresh(snac *user, const char *actor, xs_dict **data)
2
3 /** user limiting (announce blocks) **/
4
5-int limited(snac *user, const char *id, int cmd)
6+int limited(snac *user, const char *id, snac_op op)
7 /* announce messages from a followed (0: check, 1: limit; 2: unlimit) */
8 {
9 int ret = 0;
10@@ -2363,12 +2363,12 @@ int limited(snac *user, const char *id, int cmd)
11 xs *md5 = xs_md5_hex(id, strlen(id));
12 xs *fn = xs_fmt("%s/%s", dir, md5);
13
14- switch (cmd) {
15- case 0: /** check **/
16+ switch (op) {
17+ case OP_CHECK: /** check **/
18 ret = !!(mtime(fn) > 0.0);
19 break;
20
21- case 1: /** limit **/
22+ case OP_ADD: /** limit **/
23 mkdirx(dir);
24
25 if (mtime(fn) > 0.0)
26@@ -2385,12 +2385,15 @@ int limited(snac *user, const char *id, int cmd)
27 }
28 break;
29
30- case 2: /** unlimit **/
31+ case OP_DEL: /** unlimit **/
32 if (mtime(fn) > 0.0)
33 ret = unlink(fn);
34 else
35 ret = -1;
36 break;
37+
38+ default:
39+ break;
40 }
41
42 return ret;
M
snac.h
+4,
-4
1@@ -247,10 +247,10 @@ void schedule_add(snac *user, const char *id, const xs_dict *msg);
2 xs_list *scheduled_list(snac *user);
3 void scheduled_process(snac *user);
4
5-int limited(snac *user, const char *id, int cmd);
6-#define is_limited(user, id) limited((user), (id), 0)
7-#define limit(user, id) limited((user), (id), 1)
8-#define unlimit(user, id) limited((user), (id), 2)
9+int limited(snac *user, const char *id, snac_op);
10+#define is_limited(user, id) limited((user), (id), OP_CHECK)
11+#define limit(user, id) limited((user), (id), OP_ADD)
12+#define unlimit(user, id) limited((user), (id), OP_DEL)
13
14 void hide(snac *snac, const char *id);
15 int is_hidden(snac *snac, const char *id);
M
utils.c
+1,
-1
1@@ -744,7 +744,7 @@ void export_csv(snac *user)
2 webfinger_request_fake(actor, NULL, &uid);
3
4 if (xs_is_string(uid))
5- fprintf(f, "%s,%s,false,\n", uid, limited(user, actor, 0) ? "false" : "true");
6+ fprintf(f, "%s,%s,false,\n", uid, limited(user, actor, OP_CHECK) ? "false" : "true");
7 }
8
9 fclose(f);