aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefault <nobody@localhost>2026-08-26 09:02:30 +0200
committerdefault <nobody@localhost>2026-08-26 09:02:30 +0200
commit03e9f05fa35329a81e9755bb247e246fd416859d (patch)
tree27a14b8cddf91bcaf7e06a66ec6b33157ff43a5f
parent319d5cae0e632e1891f442194afe5e36aa48e6c4 (diff)
Use snac_op in limited().
-rw-r--r--data.c13
-rw-r--r--snac.h8
-rw-r--r--utils.c2
3 files changed, 13 insertions, 10 deletions
diff --git a/data.c b/data.c
index 6273800..04b9e6e 100644
--- a/data.c
+++ b/data.c
@@ -2355,7 +2355,7 @@ int actor_get_refresh(snac *user, const char *actor, xs_dict **data)
/** user limiting (announce blocks) **/
-int limited(snac *user, const char *id, int cmd)
+int limited(snac *user, const char *id, snac_op op)
/* announce messages from a followed (0: check, 1: limit; 2: unlimit) */
{
int ret = 0;
@@ -2363,12 +2363,12 @@ int limited(snac *user, const char *id, int cmd)
xs *md5 = xs_md5_hex(id, strlen(id));
xs *fn = xs_fmt("%s/%s", dir, md5);
- switch (cmd) {
- case 0: /** check **/
+ switch (op) {
+ case OP_CHECK: /** check **/
ret = !!(mtime(fn) > 0.0);
break;
- case 1: /** limit **/
+ case OP_ADD: /** limit **/
mkdirx(dir);
if (mtime(fn) > 0.0)
@@ -2385,12 +2385,15 @@ int limited(snac *user, const char *id, int cmd)
}
break;
- case 2: /** unlimit **/
+ case OP_DEL: /** unlimit **/
if (mtime(fn) > 0.0)
ret = unlink(fn);
else
ret = -1;
break;
+
+ default:
+ break;
}
return ret;
diff --git a/snac.h b/snac.h
index a8dad16..318dbd3 100644
--- a/snac.h
+++ b/snac.h
@@ -247,10 +247,10 @@ void schedule_add(snac *user, const char *id, const xs_dict *msg);
xs_list *scheduled_list(snac *user);
void scheduled_process(snac *user);
-int limited(snac *user, const char *id, int cmd);
-#define is_limited(user, id) limited((user), (id), 0)
-#define limit(user, id) limited((user), (id), 1)
-#define unlimit(user, id) limited((user), (id), 2)
+int limited(snac *user, const char *id, snac_op);
+#define is_limited(user, id) limited((user), (id), OP_CHECK)
+#define limit(user, id) limited((user), (id), OP_ADD)
+#define unlimit(user, id) limited((user), (id), OP_DEL)
void hide(snac *snac, const char *id);
int is_hidden(snac *snac, const char *id);
diff --git a/utils.c b/utils.c
index 8780270..8fab2d2 100644
--- a/utils.c
+++ b/utils.c
@@ -744,7 +744,7 @@ void export_csv(snac *user)
webfinger_request_fake(actor, NULL, &uid);
if (xs_is_string(uid))
- fprintf(f, "%s,%s,false,\n", uid, limited(user, actor, 0) ? "false" : "true");
+ fprintf(f, "%s,%s,false,\n", uid, limited(user, actor, OP_CHECK) ? "false" : "true");
}
fclose(f);