diff options
author | Lucas De Marchi <lucas.demarchi@profusion.mobi> | 2011-12-08 14:56:48 -0200 |
---|---|---|
committer | Lucas De Marchi <lucas.demarchi@profusion.mobi> | 2011-12-08 19:51:06 -0200 |
commit | a4a750297d9ae0e1926c0f106b955b841b38a4b3 (patch) | |
tree | 66578591a69f42e9e3c78c7dc606c7839414e776 /libkmod | |
parent | 558b0207042f72fc86549a0f411874729a886645 (diff) | |
download | kmod-a4a750297d9ae0e1926c0f106b955b841b38a4b3.tar.gz |
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.
Diffstat (limited to 'libkmod')
-rw-r--r-- | libkmod/libkmod.c | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c index 79dd470..1fb8320 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; |