diff options
| author | byte <gf3qyrmw7@mozmail.com> | 2025-11-01 00:48:33 +0100 |
|---|---|---|
| committer | byte <gf3qyrmw7@mozmail.com> | 2025-11-01 00:48:33 +0100 |
| commit | 8ed4d5bdcbe552eaa0f143c71b90ff7cd2a3d709 (patch) | |
| tree | 8f86ca0f28ef5c6b242a411bb6e9d38de25cf191 /data.c | |
| parent | a4a1990dbb16e3e4599500299c32c980c9cbd5bf (diff) | |
| parent | 074072bde45284a2f11bb8a06b5670dbd3c4a716 (diff) | |
Merge remote-tracking branch 'orig/master' into feature/lesser-visibility
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -3137,6 +3137,35 @@ int instance_failure(const char *url, int op) } +int grave(const char *objid, int op) +/* the graveyeard of deleted objects */ +{ + int ret = 0; + xs *dir = xs_fmt("%s/grave", srv_basedir); + xs *md5 = xs_md5_hex(objid, strlen(objid)); + xs *fn = xs_fmt("%s/%s", dir, md5); + FILE *f; + + switch (op) { + case 0: /** check **/ + ret = mtime(fn) > 0.0 ? 1 : 0; + break; + + case 1: /** add **/ + mkdirx(dir); + + if ((f = fopen(fn, "w")) != NULL) { + fprintf(f, "%s\n", objid); + fclose(f); + } + + break; + } + + return ret; +} + + /** notifications **/ xs_str *notify_check_time(snac *snac, int reset) |