snac2

Fork of https://codeberg.org/grunfink/snac2
git clone https://git.inz.fi/snac2
Log | Files | Refs | README | LICENSE

commit 455352850748dc0b1bba7884c3a164dfe3e59614
parent ea94a479f115b4c8f2bde96ea18448d61149a207
Author: default <nobody@localhost>
Date:   Thu, 24 Nov 2022 09:39:16 +0100

New API for hidden threads.

Diffstat:
Mdata.c | 31+++++++++++++++++++++++++++++++
Msnac.h | 3+++
2 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/data.c b/data.c @@ -1106,6 +1106,37 @@ int is_muted(snac *snac, char *actor) } +d_char *_hidden_fn(snac *snac, const char *id) +{ + xs *md5 = xs_md5_hex(id, strlen(id)); + return xs_fmt("%s/hidden/%s.json", snac->basedir, md5); +} + + +void hide(snac *snac, const char *id) +/* hides a message tree */ +{ + xs *fn = _hidden_fn(snac, id); + FILE *f; + + if ((f = fopen(fn, "w")) != NULL) { + fprintf(f, "%s\n", id); + fclose(f); + + snac_debug(snac, 2, xs_fmt("hidden %s %s", id, fn)); + } +} + + +int is_hidden(snac *snac, const char *id) +/* check is id is hidden */ +{ + xs *fn = _hidden_fn(snac, id); + + return !!(mtime(fn) != 0.0); +} + + int actor_add(snac *snac, const char *actor, d_char *msg) /* adds an actor */ { diff --git a/snac.h b/snac.h @@ -85,6 +85,9 @@ void mute(snac *snac, char *actor); void unmute(snac *snac, char *actor); int is_muted(snac *snac, char *actor); +void hide(snac *snac, const char *id); +int is_hidden(snac *snac, const char *id); + int actor_add(snac *snac, const char *actor, d_char *msg); int actor_get(snac *snac, const char *actor, d_char **data);