Blame SOURCES/0160-dbus-api-unify-reporting-of-errors.patch

a60cd7
From c4ed648911bf4fb7b5c2c9596bd2418f4f836e00 Mon Sep 17 00:00:00 2001
a60cd7
From: Jakub Filak <jfilak@redhat.com>
a60cd7
Date: Tue, 11 Aug 2015 09:54:55 +0200
a60cd7
Subject: [PATCH] dbus-api: unify reporting of errors
a60cd7
a60cd7
User ERR_PTR for failures in all functions because some of the functions
a60cd7
use NULL as a valid response (NULL is an empty GList).
a60cd7
a60cd7
Related: rhbz#1224984
a60cd7
a60cd7
Signed-off-by: Jakub Filak <jfilak@redhat.com>
a60cd7
---
a60cd7
 src/include/libabrt.h      | 12 +++++++-----
a60cd7
 src/lib/problem_api_dbus.c |  2 +-
a60cd7
 2 files changed, 8 insertions(+), 6 deletions(-)
a60cd7
a60cd7
diff --git a/src/include/libabrt.h b/src/include/libabrt.h
a60cd7
index 5d74aa3..3b17a64 100644
a60cd7
--- a/src/include/libabrt.h
a60cd7
+++ b/src/include/libabrt.h
a60cd7
@@ -135,7 +135,7 @@ void koops_print_suspicious_strings_filtered(const regex_t **filterout);
a60cd7
 
a60cd7
   Requires authorization
a60cd7
 
a60cd7
-  @return 0 if successfull non-zeru on failure
a60cd7
+  @return 0 if successful; non-zero on failure
a60cd7
 */
a60cd7
 int chown_dir_over_dbus(const char *problem_dir_path);
a60cd7
 
a60cd7
@@ -161,7 +161,8 @@ char *load_text_over_dbus(const char *problem_id, const char *element_name);
a60cd7
  @brief Delets multiple problems specified by their id (as returned from problem_data_save)
a60cd7
 
a60cd7
  @param problem_dir_paths List of problem ids
a60cd7
- @return 0 if operation was successfull, non-zero on failure
a60cd7
+
a60cd7
+ @return 0 if operation was successful, non-zero on failure
a60cd7
 */
a60cd7
 
a60cd7
 int delete_problem_dirs_over_dbus(const GList *problem_dir_paths);
a60cd7
@@ -169,14 +170,14 @@ int delete_problem_dirs_over_dbus(const GList *problem_dir_paths);
a60cd7
 /**
a60cd7
   @brief Fetches problem information for specified problem id
a60cd7
 
a60cd7
-  @return problem_data_t or NULL on failure
a60cd7
+  @return a valid pointer to problem_data_t or ERR_PTR on failure
a60cd7
 */
a60cd7
 problem_data_t *get_problem_data_dbus(const char *problem_dir_path);
a60cd7
 
a60cd7
 /**
a60cd7
   @brief Fetches full problem data for specified problem id
a60cd7
 
a60cd7
-  @return problem_data_t or ERR_PTR on failure
a60cd7
+  @return a valid pointer to problem_data_t or ERR_PTR on failure
a60cd7
 */
a60cd7
 problem_data_t *get_full_problem_data_over_dbus(const char *problem_dir_path);
a60cd7
 
a60cd7
@@ -184,7 +185,8 @@ problem_data_t *get_full_problem_data_over_dbus(const char *problem_dir_path);
a60cd7
   @brief Fetches all problems from problem database
a60cd7
 
a60cd7
   @param authorize If set to true will try to fetch even problems owned by other users (will require root authorization over policy kit)
a60cd7
-  @return List of problem ids or NULL on failure
a60cd7
+
a60cd7
+  @return List of problem ids or ERR_PTR on failure (NULL is an empty list)
a60cd7
 */
a60cd7
 GList *get_problems_over_dbus(bool authorize);
a60cd7
 
a60cd7
diff --git a/src/lib/problem_api_dbus.c b/src/lib/problem_api_dbus.c
a60cd7
index 5148932..dd06633 100644
a60cd7
--- a/src/lib/problem_api_dbus.c
a60cd7
+++ b/src/lib/problem_api_dbus.c
a60cd7
@@ -132,7 +132,7 @@ problem_data_t *get_problem_data_dbus(const char *problem_dir_path)
a60cd7
     {
a60cd7
         error_msg(_("Can't get problem data from abrt-dbus: %s"), error->message);
a60cd7
         g_error_free(error);
a60cd7
-        return NULL;
a60cd7
+        return ERR_PTR;
a60cd7
     }
a60cd7
 
a60cd7
     problem_data_t *pd = problem_data_new();
a60cd7
-- 
a60cd7
2.4.3
a60cd7