summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authorGravatar default2023-06-18 20:29:50 +0200
committerGravatar default2023-06-18 20:29:50 +0200
commitb331f362bec4206bebef145c8ec09d2890e8a597 (patch)
tree1f1957553d556ae8f3a830ae477e939f47a0f7b5 /data.c
parentAdded some more checks to _object_fn_by_md5(). (diff)
downloadsnac2-b331f362bec4206bebef145c8ec09d2890e8a597.tar.gz
snac2-b331f362bec4206bebef145c8ec09d2890e8a597.tar.xz
snac2-b331f362bec4206bebef145c8ec09d2890e8a597.zip
Improved checks to _object_fn_by_md5().
Diffstat (limited to 'data.c')
-rw-r--r--data.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/data.c b/data.c
index eda263d..56649de 100644
--- a/data.c
+++ b/data.c
@@ -546,6 +546,7 @@ xs_list *index_list_desc(const char *fn, int skip, int show)
546static xs_str *_object_fn_by_md5(const char *md5, const char *func) 546static xs_str *_object_fn_by_md5(const char *md5, const char *func)
547{ 547{
548 xs *bfn = xs_fmt("%s/object/%c%c", srv_basedir, md5[0], md5[1]); 548 xs *bfn = xs_fmt("%s/object/%c%c", srv_basedir, md5[0], md5[1]);
549 xs *ret = NULL;
549 int ok = 1; 550 int ok = 1;
550 551
551 /* an object deleted from an index; fail but don't bark */ 552 /* 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)
557 ok = 0; 558 ok = 0;
558 } 559 }
559 560
560 if (ok) 561 if (ok) {
561 mkdirx(bfn); 562 mkdirx(bfn);
562 else { 563 ret = xs_fmt("%s/%s.json", bfn, md5);
563 xs_free(bfn);
564 bfn = xs_fmt("%s/object/invalid", srv_basedir);
565 } 564 }
565 else
566 ret = xs_fmt("%s/object/invalid/invalid.json", srv_basedir);
566 567
567 return xs_fmt("%s/%s.json", bfn, md5); 568 return ret;
568} 569}
569 570
570 571