commit b331f36

default  ·  2023-06-18 18:29:50 +0000 UTC
parent 51ef347
Improved checks to _object_fn_by_md5().
1 files changed,  +6, -5
M data.c
M data.c
+6, -5
 1@@ -546,6 +546,7 @@ xs_list *index_list_desc(const char *fn, int skip, int show)
 2 static xs_str *_object_fn_by_md5(const char *md5, const char *func)
 3 {
 4     xs *bfn = xs_fmt("%s/object/%c%c", srv_basedir, md5[0], md5[1]);
 5+    xs *ret = NULL;
 6     int ok = 1;
 7 
 8     /* an object deleted from an index; fail but don't bark */
 9@@ -557,14 +558,14 @@ static xs_str *_object_fn_by_md5(const char *md5, const char *func)
10         ok = 0;
11     }
12 
13-    if (ok)
14+    if (ok) {
15         mkdirx(bfn);
16-    else {
17-        xs_free(bfn);
18-        bfn = xs_fmt("%s/object/invalid", srv_basedir);
19+        ret = xs_fmt("%s/%s.json", bfn, md5);
20     }
21+    else
22+        ret = xs_fmt("%s/object/invalid/invalid.json", srv_basedir);
23 
24-    return xs_fmt("%s/%s.json", bfn, md5);
25+    return ret;
26 }
27 
28