|
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 |
|