diff options
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 11 |
1 files changed, 6 insertions, 5 deletions
| @@ -546,6 +546,7 @@ xs_list *index_list_desc(const char *fn, int skip, int show) | |||
| 546 | static xs_str *_object_fn_by_md5(const char *md5, const char *func) | 546 | static 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 | ||