commit b331f362bec4206bebef145c8ec09d2890e8a597
parent 51ef3473342f1e77630e89372f16680e9cfe9fca
Author: default <nobody@localhost>
Date: Sun, 18 Jun 2023 20:29:50 +0200
Improved checks to _object_fn_by_md5().
Diffstat:
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/data.c b/data.c
@@ -546,6 +546,7 @@ xs_list *index_list_desc(const char *fn, int skip, int show)
static xs_str *_object_fn_by_md5(const char *md5, const char *func)
{
xs *bfn = xs_fmt("%s/object/%c%c", srv_basedir, md5[0], md5[1]);
+ xs *ret = NULL;
int ok = 1;
/* an object deleted from an index; fail but don't bark */
@@ -557,14 +558,14 @@ static xs_str *_object_fn_by_md5(const char *md5, const char *func)
ok = 0;
}
- if (ok)
+ if (ok) {
mkdirx(bfn);
- else {
- xs_free(bfn);
- bfn = xs_fmt("%s/object/invalid", srv_basedir);
+ ret = xs_fmt("%s/%s.json", bfn, md5);
}
+ else
+ ret = xs_fmt("%s/object/invalid/invalid.json", srv_basedir);
- return xs_fmt("%s/%s.json", bfn, md5);
+ return ret;
}