summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-11-24 08:39:30 +0100
committerdefault <nobody@localhost>2022-11-24 08:39:30 +0100
commit1941d00650df6d6189d4d01fd4f268de7920a5a1 (patch)
tree209b8d5e0ea14199a23d4b9679e765b00c2635a4
parentb0b052ab3b724ded9b13e2703dc7f0138a0b9a4f (diff)
Refuse to store objects that are already here.
-rw-r--r--data.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/data.c b/data.c
index e621eb2..19b8a0a 100644
--- a/data.c
+++ b/data.c
@@ -388,6 +388,12 @@ int object_add(const char *id, d_char *obj)
xs *fn = _object_fn(id);
FILE *f;
+ if (mtime(fn) > 0.0) {
+ /* object already here */
+ srv_debug(0, xs_fmt("object_add object already here %s", id));
+ return 204; /* No content */
+ }
+
if ((f = fopen(fn, "w")) != NULL) {
flock(fileno(f), LOCK_EX);