return -ENOENT;
for (i = 0; i < ARRAY_SIZE(index_files); i++) {
+ const char *fn = index_files[i];
+ size_t fnlen = strlen(fn);
+ const char *prefix = "";
+ const char *suffix = "";
+
if (ctx->indexes[i] == NULL) {
- const char *fn = index_files[i];
- size_t fnlen = strlen(fn);
- const char *prefix = "";
- const char *suffix = "";
+ INFO(ctx, "Index %s already loaded\n", fn);
+ continue;
+ }
- if (fn[0] != '/')
- prefix = ctx->dirname;
+ if (fn[0] != '/')
+ prefix = ctx->dirname;
- if (fnlen < 4 || !streq(fn + fnlen - 4, ".bin"))
- suffix = ".bin";
+ if (fnlen < 4 || !streq(fn + fnlen - 4, ".bin"))
+ suffix = ".bin";
- snprintf(path, sizeof(path), "%s/%s%s",
- prefix, fn, suffix);
- fn = path;
+ snprintf(path, sizeof(path), "%s/%s%s",
+ prefix, fn, suffix);
+ fn = path;
- ctx->indexes[i] = index_mm_open(ctx, fn, true);
- if (ctx->indexes[i] == NULL)
- goto fail;
- }
+ ctx->indexes[i] = index_mm_open(ctx, fn, true);
+ if (ctx->indexes[i] == NULL)
+ goto fail;
}
return 0;