From 1ce08a563e4ff4a9bcae7a1514f1159232a16f71 Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Fri, 2 Dec 2011 20:24:07 -0200 Subject: [PATCH] improve "const" keyword usage. functions that do not modify their parameters get them as const pointers. special cases: * kmod_get_userdata/kmod_set_userdata: return as void* for user convenience. * kmod_list_append/kmod_list_prepend: take const void* for user convenience. --- libkmod/libkmod-config.c | 6 +++--- libkmod/libkmod-list.c | 20 ++++++++++---------- libkmod/libkmod-loaded.c | 2 +- libkmod/libkmod-module.c | 8 ++++---- libkmod/libkmod-private.h | 6 +++--- libkmod/libkmod.c | 14 +++++++------- libkmod/libkmod.h | 18 +++++++++--------- 7 files changed, 37 insertions(+), 37 deletions(-) diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c index 66d8372..656db77 100644 --- a/libkmod/libkmod-config.c +++ b/libkmod/libkmod-config.c @@ -44,12 +44,12 @@ struct kmod_alias { }; const char *kmod_alias_get_name(const struct kmod_list *l) { - struct kmod_alias *alias = l->data; + const struct kmod_alias *alias = l->data; return alias->name; } const char *kmod_alias_get_modname(const struct kmod_list *l) { - struct kmod_alias *alias = l->data; + const struct kmod_alias *alias = l->data; return alias->modname; } @@ -261,7 +261,7 @@ int kmod_parse_config(struct kmod_ctx *ctx, struct kmod_config *config) { size_t i, n = 0; - char **files = NULL; + const char **files; int err = 0; struct kmod_list *list = NULL, *l; diff --git a/libkmod/libkmod-list.c b/libkmod/libkmod-list.c index d9caba0..333a54c 100644 --- a/libkmod/libkmod-list.c +++ b/libkmod/libkmod-list.c @@ -30,7 +30,7 @@ static inline struct list_node *list_node_init(struct list_node *node) return node; } -static inline struct list_node *list_node_next(struct list_node *node) +static inline struct list_node *list_node_next(const struct list_node *node) { if (node == NULL) return NULL; @@ -38,7 +38,7 @@ static inline struct list_node *list_node_next(struct list_node *node) return node->next; } -static inline struct list_node *list_node_prev(struct list_node *node) +static inline struct list_node *list_node_prev(const struct list_node *node) { if (node == NULL) return NULL; @@ -71,7 +71,7 @@ static inline struct list_node *list_node_remove(struct list_node *node) return node->prev; } -struct kmod_list *kmod_list_append(struct kmod_list *list, void *data) +struct kmod_list *kmod_list_append(struct kmod_list *list, const void *data) { struct kmod_list *new; @@ -79,13 +79,13 @@ struct kmod_list *kmod_list_append(struct kmod_list *list, void *data) if (new == NULL) return NULL; - new->data = data; + new->data = (void *)data; list_node_append(list ? &list->node : NULL, &new->node); return list ? list : new; } -struct kmod_list *kmod_list_prepend(struct kmod_list *list, void *data) +struct kmod_list *kmod_list_prepend(struct kmod_list *list, const void *data) { struct kmod_list *new; @@ -93,7 +93,7 @@ struct kmod_list *kmod_list_prepend(struct kmod_list *list, void *data) if (new == NULL) return NULL; - new->data = data; + new->data = (void *)data; list_node_append(list ? &list->node : NULL, &new->node); return new; @@ -166,8 +166,8 @@ struct kmod_list *kmod_list_remove_n_latest(struct kmod_list *list, return list; } -KMOD_EXPORT struct kmod_list *kmod_list_prev(struct kmod_list *list, - struct kmod_list *curr) +KMOD_EXPORT struct kmod_list *kmod_list_prev(const struct kmod_list *list, + const struct kmod_list *curr) { if (list == NULL || curr == NULL) return NULL; @@ -178,8 +178,8 @@ KMOD_EXPORT struct kmod_list *kmod_list_prev(struct kmod_list *list, return container_of(curr->node.prev, struct kmod_list, node); } -KMOD_EXPORT struct kmod_list *kmod_list_next(struct kmod_list *list, - struct kmod_list *curr) +KMOD_EXPORT struct kmod_list *kmod_list_next(const struct kmod_list *list, + const struct kmod_list *curr) { if (list == NULL || curr == NULL) return NULL; diff --git a/libkmod/libkmod-loaded.c b/libkmod/libkmod-loaded.c index b149765..cda9012 100644 --- a/libkmod/libkmod-loaded.c +++ b/libkmod/libkmod-loaded.c @@ -210,7 +210,7 @@ KMOD_EXPORT int kmod_loaded_get_module_info(const struct kmod_list *entry, const char **deps, uintptr_t *addr) { - struct kmod_loaded_module *m; + const struct kmod_loaded_module *m; if (entry == NULL) return -ENOENT; diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c index 552d9ea..969d304 100644 --- a/libkmod/libkmod-module.c +++ b/libkmod/libkmod-module.c @@ -263,25 +263,25 @@ KMOD_EXPORT int kmod_module_unref_list(struct kmod_list *list) /* * We don't increase the refcount. Maybe we should. */ -KMOD_EXPORT struct kmod_list *kmod_module_get_dependency(struct kmod_module *mod) +KMOD_EXPORT struct kmod_list *kmod_module_get_dependency(const struct kmod_module *mod) { // FIXME calculate dependency if it's not initialized return mod->dep; } -KMOD_EXPORT struct kmod_module *kmod_module_get_module(struct kmod_list *l) +KMOD_EXPORT struct kmod_module *kmod_module_get_module(const struct kmod_list *l) { struct kmod_module *mod = l->data; return kmod_module_ref(mod); } -KMOD_EXPORT const char *kmod_module_get_name(struct kmod_module *mod) +KMOD_EXPORT const char *kmod_module_get_name(const struct kmod_module *mod) { // FIXME calculate name if name == NULL return mod->name; } -KMOD_EXPORT const char *kmod_module_get_path(struct kmod_module *mod) +KMOD_EXPORT const char *kmod_module_get_path(const struct kmod_module *mod) { // FIXME calculate path if path == NULL return mod->path; diff --git a/libkmod/libkmod-private.h b/libkmod/libkmod-private.h index 1d32e8b..34b09ef 100644 --- a/libkmod/libkmod-private.h +++ b/libkmod/libkmod-private.h @@ -46,8 +46,8 @@ struct kmod_list { void *data; }; -struct kmod_list *kmod_list_append(struct kmod_list *list, void *data) __must_check; -struct kmod_list *kmod_list_prepend(struct kmod_list *list, void *data) __must_check; +struct kmod_list *kmod_list_append(struct kmod_list *list, const void *data) __must_check; +struct kmod_list *kmod_list_prepend(struct kmod_list *list, const void *data) __must_check; struct kmod_list *kmod_list_remove(struct kmod_list *list); struct kmod_list *kmod_list_remove_data(struct kmod_list *list, const void *data) __must_check; @@ -55,7 +55,7 @@ struct kmod_list *kmod_list_remove_n_latest(struct kmod_list *list, unsigned int n) __must_check; /* libkmod.c */ -const char *kmod_get_dirname(struct kmod_ctx *ctx) __attribute__((nonnull(1))); +const char *kmod_get_dirname(const struct kmod_ctx *ctx) __attribute__((nonnull(1))); int kmod_lookup_alias_from_config(struct kmod_ctx *ctx, const char *name, struct kmod_list **list); int kmod_lookup_alias_from_symbols_file(struct kmod_ctx *ctx, const char *name, struct kmod_list **list); int kmod_lookup_alias_from_aliases_file(struct kmod_ctx *ctx, const char *name, struct kmod_list **list); diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c index 7dd4579..c9966e0 100644 --- a/libkmod/libkmod.c +++ b/libkmod/libkmod.c @@ -50,8 +50,8 @@ struct kmod_ctx { void (*log_fn)(struct kmod_ctx *ctx, int priority, const char *file, int line, const char *fn, const char *format, va_list args); - void *userdata; - const char *dirname; + const void *userdata; + char *dirname; int log_priority; struct kmod_config config; }; @@ -75,7 +75,7 @@ static void log_stderr(struct kmod_ctx *ctx, vfprintf(stderr, format, args); } -const char *kmod_get_dirname(struct kmod_ctx *ctx) +const char *kmod_get_dirname(const struct kmod_ctx *ctx) { return ctx->dirname; } @@ -93,7 +93,7 @@ KMOD_EXPORT void *kmod_get_userdata(const struct kmod_ctx *ctx) { if (ctx == NULL) return NULL; - return ctx->userdata; + return (void *)ctx->userdata; } /** @@ -103,7 +103,7 @@ KMOD_EXPORT void *kmod_get_userdata(const struct kmod_ctx *ctx) * * Store custom @userdata in the library context. **/ -KMOD_EXPORT void kmod_set_userdata(struct kmod_ctx *ctx, void *userdata) +KMOD_EXPORT void kmod_set_userdata(struct kmod_ctx *ctx, const void *userdata) { if (ctx == NULL) return; @@ -129,7 +129,7 @@ static int log_priority(const char *priority) static const char *dirname_default_prefix = "/lib/modules"; -static const char *get_kernel_release(const char *dirname) +static char *get_kernel_release(const char *dirname) { struct utsname u; char *p; @@ -217,7 +217,7 @@ KMOD_EXPORT struct kmod_ctx *kmod_unref(struct kmod_ctx *ctx) if (--ctx->refcount > 0) return ctx; INFO(ctx, "context %p released\n", ctx); - free((char *)ctx->dirname); + free(ctx->dirname); kmod_free_config(ctx, &ctx->config); free(ctx); return NULL; diff --git a/libkmod/libkmod.h b/libkmod/libkmod.h index 923f7ab..d7687be 100644 --- a/libkmod/libkmod.h +++ b/libkmod/libkmod.h @@ -46,7 +46,7 @@ void kmod_set_log_fn(struct kmod_ctx *ctx, int kmod_get_log_priority(const struct kmod_ctx *ctx); void kmod_set_log_priority(struct kmod_ctx *ctx, int priority); void *kmod_get_userdata(const struct kmod_ctx *ctx); -void kmod_set_userdata(struct kmod_ctx *ctx, void *userdata); +void kmod_set_userdata(struct kmod_ctx *ctx, const void *userdata); /* * kmod_list @@ -54,10 +54,10 @@ void kmod_set_userdata(struct kmod_ctx *ctx, void *userdata); * access to kmod generated lists */ struct kmod_list; -struct kmod_list *kmod_list_next(struct kmod_list *first_entry, - struct kmod_list *list_entry); -struct kmod_list *kmod_list_prev(struct kmod_list *first_entry, - struct kmod_list *list_entry); +struct kmod_list *kmod_list_next(const struct kmod_list *first_entry, + const struct kmod_list *list_entry); +struct kmod_list *kmod_list_prev(const struct kmod_list *first_entry, + const struct kmod_list *list_entry); #define kmod_list_foreach(list_entry, first_entry) \ for (list_entry = first_entry; \ list_entry != NULL; \ @@ -108,14 +108,14 @@ int kmod_module_new_from_lookup(struct kmod_ctx *ctx, const char *alias, struct kmod_module *kmod_module_ref(struct kmod_module *mod); struct kmod_module *kmod_module_unref(struct kmod_module *mod); int kmod_module_unref_list(struct kmod_list *list); -struct kmod_module *kmod_module_get_module(struct kmod_list *l); -struct kmod_list *kmod_module_get_dependency(struct kmod_module *mod); +struct kmod_module *kmod_module_get_module(const struct kmod_list *l); +struct kmod_list *kmod_module_get_dependency(const struct kmod_module *mod); int kmod_module_remove_module(struct kmod_module *mod, unsigned int flags); int kmod_module_insert_module(struct kmod_module *mod, unsigned int flags); -const char *kmod_module_get_name(struct kmod_module *mod); -const char *kmod_module_get_path(struct kmod_module *mod); +const char *kmod_module_get_name(const struct kmod_module *mod); +const char *kmod_module_get_path(const struct kmod_module *mod); #ifdef __cplusplus } /* extern "C" */ -- 2.39.2