[gnome-software/wip/iainl/ubuntu-xenial: 7/56] Better error reporting



commit 7089ffac689fa800f727178e1836bdd28add46b5
Author: Robert Ancell <robert ancell canonical com>
Date:   Tue Jan 26 13:51:52 2016 +1300

    Better error reporting

 src/plugins/gs-plugin-snappy.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/src/plugins/gs-plugin-snappy.c b/src/plugins/gs-plugin-snappy.c
index 3fe008b..ee16097 100644
--- a/src/plugins/gs-plugin-snappy.c
+++ b/src/plugins/gs-plugin-snappy.c
@@ -235,10 +235,20 @@ get_apps (GsPlugin *plugin, GList **list, AppFilterFunc filter_func, gpointer us
        }
 
        parser = json_parser_new ();
-       if (!json_parser_load_from_data (parser, response, -1, NULL))
-               return 1;
-       if (!JSON_NODE_HOLDS_OBJECT (json_parser_get_root (parser)))
-               return 1;
+       if (!json_parser_load_from_data (parser, response, -1, &sub_error)) {
+               g_set_error (error,
+                            GS_PLUGIN_ERROR,
+                            GS_PLUGIN_ERROR_FAILED,
+                            "Unable to parse snapd response: %s", sub_error->message);
+               return FALSE;
+       }
+       if (!JSON_NODE_HOLDS_OBJECT (json_parser_get_root (parser))) {
+               g_set_error_literal (error,
+                                    GS_PLUGIN_ERROR,
+                                    GS_PLUGIN_ERROR_FAILED,
+                                    "snapd response does is not a valid JSON object");
+               return FALSE;
+       }
        root = json_node_get_object (json_parser_get_root (parser));
        result = json_object_get_object_member (root, "result");
        packages = json_object_get_object_member (result, "packages");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]