summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-11-26 06:20:41 +0100
committerdefault <nobody@localhost>2022-11-26 06:20:41 +0100
commit8e7efad27fc06ba1613d8fb34185ab20204bdb09 (patch)
tree19c6ed5f37b0e3f3982d8fc9ea671807c0225af8
parent14dd5b64c9ddbb241147ec53e5db890c8b4a21e4 (diff)
Only call the expensive index_del() if unlink() did not fail.
-rw-r--r--data.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/data.c b/data.c
index 7782d90..98e5c65 100644
--- a/data.c
+++ b/data.c
@@ -566,8 +566,8 @@ int _object_user_cache(snac *snac, const char *id, const char *cachedir, int del
int ret;
if (del) {
- index_del(idx, id); // expensive; let it fail on processing?
- ret = unlink(cfn);
+ if ((ret = unlink(cfn)) != -1)
+ index_del(idx, id);
}
else {
index_add(idx, id);