Blame 0017-show-message-from-the-server-for-known-uReports.patch

Jakub Filak 041177b
From 9eb7698dc060869cffb56039407411c8885ec3de Mon Sep 17 00:00:00 2001
Jakub Filak 041177b
From: Michal Toman <mtoman@redhat.com>
Jakub Filak 041177b
Date: Wed, 15 Aug 2012 10:15:45 +0200
Jakub Filak 041177b
Subject: [LIBREPORT PATCH 17/19] show message from the server for known
Jakub Filak 041177b
 uReports
Jakub Filak 041177b
Jakub Filak 041177b
---
Jakub Filak 041177b
 src/plugins/ureport.c | 14 +++++++++++++-
Jakub Filak 041177b
 1 file changed, 13 insertions(+), 1 deletion(-)
Jakub Filak 041177b
Jakub Filak 041177b
diff --git a/src/plugins/ureport.c b/src/plugins/ureport.c
Jakub Filak 041177b
index 5d3d5bc..3913a89 100644
Jakub Filak 041177b
--- a/src/plugins/ureport.c
Jakub Filak 041177b
+++ b/src/plugins/ureport.c
Jakub Filak 041177b
@@ -52,6 +52,7 @@ enum response_type
Jakub Filak 041177b
 struct ureport_server_response {
Jakub Filak 041177b
     enum response_type type;
Jakub Filak 041177b
     const char *value;
Jakub Filak 041177b
+    const char *message;
Jakub Filak 041177b
 };
Jakub Filak 041177b
 
Jakub Filak 041177b
 /*
Jakub Filak 041177b
@@ -76,7 +77,12 @@ static bool ureport_server_parse_json(json_object *json, struct ureport_server_r
Jakub Filak 041177b
     if (obj)
Jakub Filak 041177b
     {
Jakub Filak 041177b
         out_response->type = UREPORT_SERVER_RESP_KNOWN;
Jakub Filak 041177b
-        out_response->value = json_object_to_json_string(obj);
Jakub Filak 041177b
+        out_response->value = json_object_get_string(obj);
Jakub Filak 041177b
+
Jakub Filak 041177b
+        json_object *message = json_object_object_get(json, "message");
Jakub Filak 041177b
+        if (message)
Jakub Filak 041177b
+            out_response->message = json_object_get_string(message);
Jakub Filak 041177b
+
Jakub Filak 041177b
         return true;
Jakub Filak 041177b
     }
Jakub Filak 041177b
 
Jakub Filak 041177b
@@ -150,6 +156,7 @@ int main(int argc, char **argv)
Jakub Filak 041177b
     struct ureport_server_response response = {
Jakub Filak 041177b
         .type=UREPORT_SERVER_RESP_UNKNOWN_TYPE,
Jakub Filak 041177b
         .value=NULL,
Jakub Filak 041177b
+        .message=NULL,
Jakub Filak 041177b
     };
Jakub Filak 041177b
 
Jakub Filak 041177b
     const bool is_valid_response = ureport_server_parse_json(json, &response);
Jakub Filak 041177b
@@ -167,7 +174,12 @@ int main(int argc, char **argv)
Jakub Filak 041177b
             ret = 0;
Jakub Filak 041177b
             /* If a reported problem is not known then emit NEEDMORE */
Jakub Filak 041177b
             if (strcmp("true", response.value) == 0)
Jakub Filak 041177b
+            {
Jakub Filak 041177b
+                log("This problem has already been reported.");
Jakub Filak 041177b
+                if (response.message)
Jakub Filak 041177b
+                    log(response.message);
Jakub Filak 041177b
                 log("THANKYOU");
Jakub Filak 041177b
+            }
Jakub Filak 041177b
             break;
Jakub Filak 041177b
         case UREPORT_SERVER_RESP_ERROR:
Jakub Filak 041177b
             VERB1 log("server side error: %s", response.value);
Jakub Filak 041177b
-- 
Jakub Filak 041177b
1.7.11.2
Jakub Filak 041177b