From: Gustavo Sverzut Barbieri Date: Fri, 2 Dec 2011 22:34:58 +0000 (-0200) Subject: improve compiler warnings and checks for internal functions. X-Git-Tag: v1~128 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=12d9419d081cffe293ba441a1b25a976e854a309;p=thirdparty%2Fkmod.git improve compiler warnings and checks for internal functions. --- diff --git a/libkmod/libkmod-loaded.c b/libkmod/libkmod-loaded.c index cda90126..26798961 100644 --- a/libkmod/libkmod-loaded.c +++ b/libkmod/libkmod-loaded.c @@ -259,7 +259,7 @@ KMOD_EXPORT int kmod_loaded_remove_module(struct kmod_loaded *mod, } loaded_modules_free_module(m); - kmod_list_remove(entry); + entry = kmod_list_remove(entry); return 0; } diff --git a/libkmod/libkmod-private.h b/libkmod/libkmod-private.h index 34b09ef9..d150bd7a 100644 --- a/libkmod/libkmod-private.h +++ b/libkmod/libkmod-private.h @@ -35,7 +35,7 @@ static __always_inline __printf_format(2, 3) void void kmod_log(struct kmod_ctx *ctx, int priority, const char *file, int line, const char *fn, - const char *format, ...) __attribute__((format(printf, 6, 7))); + const char *format, ...) __attribute__((format(printf, 6, 7))) __attribute__((nonnull(1, 3, 5))); struct list_node { struct list_node *next, *prev; @@ -46,39 +46,39 @@ struct kmod_list { void *data; }; -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_append(struct kmod_list *list, const void *data) __must_check __attribute__((nonnull(2))); +struct kmod_list *kmod_list_prepend(struct kmod_list *list, const void *data) __must_check __attribute__((nonnull(2))); +struct kmod_list *kmod_list_remove(struct kmod_list *list) __must_check; struct kmod_list *kmod_list_remove_data(struct kmod_list *list, - const void *data) __must_check; + const void *data) __must_check __attribute__((nonnull(2))); struct kmod_list *kmod_list_remove_n_latest(struct kmod_list *list, unsigned int n) __must_check; /* libkmod.c */ 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); -int kmod_lookup_alias_from_moddep_file(struct kmod_ctx *ctx, const char *name, struct kmod_list **list); +int kmod_lookup_alias_from_config(struct kmod_ctx *ctx, const char *name, struct kmod_list **list) __attribute__((nonnull(1, 2, 3))); +int kmod_lookup_alias_from_symbols_file(struct kmod_ctx *ctx, const char *name, struct kmod_list **list) __attribute__((nonnull(1, 2, 3))); +int kmod_lookup_alias_from_aliases_file(struct kmod_ctx *ctx, const char *name, struct kmod_list **list) __attribute__((nonnull(1, 2, 3))); +int kmod_lookup_alias_from_moddep_file(struct kmod_ctx *ctx, const char *name, struct kmod_list **list) __attribute__((nonnull(1, 2, 3))); /* libkmod-config.c */ struct kmod_config { struct kmod_list *aliases; struct kmod_list *blacklists; }; -int kmod_parse_config_file(struct kmod_ctx *ctx, const char *filename, struct kmod_config *config); -int kmod_parse_config(struct kmod_ctx *ctx, struct kmod_config *config); -void kmod_free_config(struct kmod_ctx *ctx, struct kmod_config *config); -const char *kmod_alias_get_name(const struct kmod_list *l); -const char *kmod_alias_get_modname(const struct kmod_list *l); +int kmod_parse_config_file(struct kmod_ctx *ctx, const char *filename, struct kmod_config *config) __attribute__((nonnull(1, 2, 3))); +int kmod_parse_config(struct kmod_ctx *ctx, struct kmod_config *config) __attribute__((nonnull(1, 2))); +void kmod_free_config(struct kmod_ctx *ctx, struct kmod_config *config) __attribute__((nonnull(1, 2))); +const char *kmod_alias_get_name(const struct kmod_list *l) __attribute__((nonnull(1))); +const char *kmod_alias_get_modname(const struct kmod_list *l) __attribute__((nonnull(1))); /* libkmod-module.c */ -int kmod_module_parse_dep(struct kmod_module *mod, char *line); +int kmod_module_parse_dep(struct kmod_module *mod, char *line) __attribute__((nonnull(1, 2))); /* util functions */ -char *getline_wrapped(FILE *fp, unsigned int *linenum); -char *underscores(struct kmod_ctx *ctx, char *s); +char *getline_wrapped(FILE *fp, unsigned int *linenum) __attribute__((nonnull(1, 2))); +char *underscores(struct kmod_ctx *ctx, char *s) __attribute__((nonnull(1, 2))); #define streq(a, b) (strcmp((a), (b)) == 0) -bool startswith(const char *s, const char *prefix); +bool startswith(const char *s, const char *prefix) __attribute__((nonnull(1, 2))); #endif