diff options
| author | 2022-11-24 08:39:30 +0100 | |
|---|---|---|
| committer | 2022-11-24 08:39:30 +0100 | |
| commit | 1941d00650df6d6189d4d01fd4f268de7920a5a1 (patch) | |
| tree | 209b8d5e0ea14199a23d4b9679e765b00c2635a4 | |
| parent | Function object_del() also deletes the indexes. (diff) | |
| download | snac2-1941d00650df6d6189d4d01fd4f268de7920a5a1.tar.gz snac2-1941d00650df6d6189d4d01fd4f268de7920a5a1.tar.xz snac2-1941d00650df6d6189d4d01fd4f268de7920a5a1.zip | |
Refuse to store objects that are already here.
| -rw-r--r-- | data.c | 6 |
1 files changed, 6 insertions, 0 deletions
| @@ -388,6 +388,12 @@ int object_add(const char *id, d_char *obj) | |||
| 388 | xs *fn = _object_fn(id); | 388 | xs *fn = _object_fn(id); |
| 389 | FILE *f; | 389 | FILE *f; |
| 390 | 390 | ||
| 391 | if (mtime(fn) > 0.0) { | ||
| 392 | /* object already here */ | ||
| 393 | srv_debug(0, xs_fmt("object_add object already here %s", id)); | ||
| 394 | return 204; /* No content */ | ||
| 395 | } | ||
| 396 | |||
| 391 | if ((f = fopen(fn, "w")) != NULL) { | 397 | if ((f = fopen(fn, "w")) != NULL) { |
| 392 | flock(fileno(f), LOCK_EX); | 398 | flock(fileno(f), LOCK_EX); |
| 393 | 399 | ||