commit 03e9f05

default  ·  2026-08-26 07:02:30 +0000 UTC
parent 319d5ca
Use snac_op in limited().
3 files changed,  +13, -10
M data.c
M snac.h
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);
+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);