From 0c3a29b70992627481af789dab50247728bcedf1 Mon Sep 17 00:00:00 2001 From: Jakub Filak Date: Tue, 11 Aug 2015 09:54:55 +0200 Subject: [PATCH] dbus-api: unify reporting of errors User ERR_PTR for failures in all functions because some of the functions use NULL as a valid response (NULL is an empty GList). Related: rhbz#1224984 Signed-off-by: Jakub Filak --- src/include/libabrt.h | 16 +++++++++------- src/lib/problem_api_dbus.c | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/include/libabrt.h b/src/include/libabrt.h index 4e73a0d..da565f9 100644 --- a/src/include/libabrt.h +++ b/src/include/libabrt.h @@ -163,7 +163,7 @@ void koops_print_suspicious_strings_filtered(const regex_t **filterout); Requires authorization - @return 0 if successfull non-zeru on failure + @return 0 if successful; non-zero on failure */ int chown_dir_over_dbus(const char *problem_dir_path); @@ -181,7 +181,7 @@ int test_exist_over_dbus(const char *problem_id, const char *element_name); Might require authorization - @return Positive number if such the proble is complete, 0 if doesn't and negative number if an error occurs. + @return Positive number if the problem is complete, 0 if doesn't and negative number if an error occurs. */ int dbus_problem_is_complete(const char *problem_id); @@ -198,7 +198,8 @@ char *load_text_over_dbus(const char *problem_id, const char *element_name); @brief Delets multiple problems specified by their id (as returned from problem_data_save) @param problem_dir_paths List of problem ids - @return 0 if operation was successfull, non-zero on failure + + @return 0 if operation was successful, non-zero on failure */ int delete_problem_dirs_over_dbus(const GList *problem_dir_paths); @@ -206,21 +207,21 @@ int delete_problem_dirs_over_dbus(const GList *problem_dir_paths); /** @brief Fetches given problem elements for specified problem id - @return on failures returns non zero value and emits error message + @return returns non-zero value on failures and prints error message */ int fill_problem_data_over_dbus(const char *problem_dir_path, const char **elements, problem_data_t *problem_data); /** @brief Fetches problem information for specified problem id - @return problem_data_t or NULL on failure + @return a valid pointer to problem_data_t or ERR_PTR on failure */ problem_data_t *get_problem_data_dbus(const char *problem_dir_path); /** @brief Fetches full problem data for specified problem id - @return problem_data_t or ERR_PTR on failure + @return a valid pointer to problem_data_t or ERR_PTR on failure */ problem_data_t *get_full_problem_data_over_dbus(const char *problem_dir_path); @@ -228,7 +229,8 @@ problem_data_t *get_full_problem_data_over_dbus(const char *problem_dir_path); @brief Fetches all problems from problem database @param authorize If set to true will try to fetch even problems owned by other users (will require root authorization over policy kit) - @return List of problem ids or NULL on failure + + @return List of problem ids or ERR_PTR on failure (NULL is an empty list) */ GList *get_problems_over_dbus(bool authorize); diff --git a/src/lib/problem_api_dbus.c b/src/lib/problem_api_dbus.c index ce5c47b..0bf86e2 100644 --- a/src/lib/problem_api_dbus.c +++ b/src/lib/problem_api_dbus.c @@ -165,7 +165,7 @@ problem_data_t *get_problem_data_dbus(const char *problem_dir_path) { error_msg(_("Can't get problem data from abrt-dbus")); problem_data_free(pd); - return NULL; + return ERR_PTR; } return pd; -- 2.4.3