From a4a750297d9ae0e1926c0f106b955b841b38a4b3 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Thu, 8 Dec 2011 14:56:48 -0200 Subject: [PATCH] Refactor index file handling Put all names in a static vector and declare a enum containing the number of indexes. This way it's easier to create vectors inside ctx that depend on these files. --- libkmod/libkmod.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c index 79dd4707..1fb83200 100644 --- a/libkmod/libkmod.c +++ b/libkmod/libkmod.c @@ -44,6 +44,19 @@ * and is passed to all library operations. */ +enum kmod_index { + KMOD_INDEX_DEP = 0, + KMOD_INDEX_ALIAS, + KMOD_INDEX_SYMBOL, + _KMOD_INDEX_LAST, +}; + +static const char* index_files[] = { + [KMOD_INDEX_DEP] = "modules.dep", + [KMOD_INDEX_ALIAS] = "modules.alias", + [KMOD_INDEX_SYMBOL] = "modules.symbols", +}; + /** * kmod_ctx: * @@ -382,35 +395,31 @@ fail: } -static const char *symbols_file = "modules.symbols"; - int kmod_lookup_alias_from_symbols_file(struct kmod_ctx *ctx, const char *name, struct kmod_list **list) { if (!startswith(name, "symbol:")) return 0; - return kmod_lookup_alias_from_alias_bin(ctx, symbols_file, name, list); + return kmod_lookup_alias_from_alias_bin(ctx, + index_files[KMOD_INDEX_SYMBOL], name, list); } - -static const char *aliases_file = "modules.alias"; - int kmod_lookup_alias_from_aliases_file(struct kmod_ctx *ctx, const char *name, struct kmod_list **list) { - return kmod_lookup_alias_from_alias_bin(ctx, aliases_file, name, list); + return kmod_lookup_alias_from_alias_bin(ctx, + index_files[KMOD_INDEX_ALIAS], name, list); } -static const char *moddep_file = "modules.dep"; - char *kmod_search_moddep(struct kmod_ctx *ctx, const char *name) { struct index_file *idx; char fn[PATH_MAX]; char *line; - snprintf(fn, sizeof(fn), "%s/%s.bin", ctx->dirname, moddep_file); + snprintf(fn, sizeof(fn), "%s/%s.bin", ctx->dirname, + index_files[KMOD_INDEX_DEP]); DBG(ctx, "file=%s modname=%s\n", fn, name); @@ -491,7 +500,6 @@ fail: return err; } - KMOD_EXPORT int kmod_module_get_filtered_blacklist(const struct kmod_ctx *ctx, const struct kmod_list *input, struct kmod_list **output) { const struct kmod_config *config; -- 2.47.2