You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
4.8 KiB
125 lines
4.8 KiB
From 712ca27bdbbe4f38550d5431b400dfa9e70de744 Mon Sep 17 00:00:00 2001 |
|
From: Jakub Filak <jfilak@redhat.com> |
|
Date: Fri, 18 Apr 2014 14:42:03 +0200 |
|
Subject: [LIBREPORT PATCH 38/38] stop using deprecated json-c functions |
|
|
|
Resolves: #1125743 |
|
|
|
Signed-off-by: Jakub Filak <jfilak@redhat.com> |
|
--- |
|
src/plugins/ureport.c | 44 +++++++++++++++++--------------------------- |
|
1 file changed, 17 insertions(+), 27 deletions(-) |
|
|
|
diff --git a/src/plugins/ureport.c b/src/plugins/ureport.c |
|
index 39d27f6..59554f4 100644 |
|
--- a/src/plugins/ureport.c |
|
+++ b/src/plugins/ureport.c |
|
@@ -157,16 +157,13 @@ static char *parse_solution_from_json_list(struct json_object *list, GList **rep |
|
if (!list_elem) |
|
continue; |
|
|
|
- struct_elem = json_object_object_get(list_elem, "cause"); |
|
- if (!struct_elem) |
|
+ if (!json_object_object_get_ex(list_elem, "cause", &struct_elem)) |
|
continue; |
|
|
|
cause = json_object_get_string(struct_elem); |
|
- if (!cause) |
|
continue; |
|
|
|
- struct_elem = json_object_object_get(list_elem, "note"); |
|
- if (!struct_elem) |
|
+ if (!json_object_object_get_ex(list_elem, "note", &struct_elem)) |
|
continue; |
|
|
|
note = json_object_get_string(struct_elem); |
|
@@ -176,8 +173,7 @@ static char *parse_solution_from_json_list(struct json_object *list, GList **rep |
|
empty = false; |
|
strbuf_append_strf(solution_buf, one_format, cause, note); |
|
|
|
- struct_elem = json_object_object_get(list_elem, "url"); |
|
- if (!struct_elem) |
|
+ if (!json_object_object_get_ex(list_elem, "url", &struct_elem)) |
|
continue; |
|
|
|
url = json_object_get_string(struct_elem); |
|
@@ -216,24 +212,21 @@ static GList *parse_reported_to_from_json_list(struct json_object *list) |
|
if (!list_elem) |
|
continue; |
|
|
|
- struct_elem = json_object_object_get(list_elem, "reporter"); |
|
- if (!struct_elem) |
|
+ if (!json_object_object_get_ex(list_elem, "reporter", &struct_elem)) |
|
continue; |
|
|
|
reporter = json_object_get_string(struct_elem); |
|
if (!reporter) |
|
continue; |
|
|
|
- struct_elem = json_object_object_get(list_elem, "value"); |
|
- if (!struct_elem) |
|
+ if (!json_object_object_get_ex(list_elem, "value", &struct_elem)) |
|
continue; |
|
|
|
value = json_object_get_string(struct_elem); |
|
if (!value) |
|
continue; |
|
|
|
- struct_elem = json_object_object_get(list_elem, "type"); |
|
- if (!struct_elem) |
|
+ if (!json_object_object_get_ex(list_elem, "type", &struct_elem)) |
|
continue; |
|
|
|
type = json_object_get_string(struct_elem); |
|
@@ -265,9 +258,8 @@ static GList *parse_reported_to_from_json_list(struct json_object *list) |
|
*/ |
|
static struct ureport_server_response *ureport_server_parse_json(json_object *json) |
|
{ |
|
- json_object *obj = json_object_object_get(json, "error"); |
|
- |
|
- if (obj) |
|
+ json_object *obj = NULL; |
|
+ if (json_object_object_get_ex(json, "error", &obj)) |
|
{ |
|
struct ureport_server_response *out_response = xzalloc(sizeof(*out_response)); |
|
out_response->is_error = true; |
|
@@ -279,27 +271,25 @@ static struct ureport_server_response *ureport_server_parse_json(json_object *js |
|
return out_response; |
|
} |
|
|
|
- obj = json_object_object_get(json, "result"); |
|
- |
|
- if (obj) |
|
+ if (json_object_object_get_ex(json, "result", &obj)) |
|
{ |
|
struct ureport_server_response *out_response = xzalloc(sizeof(*out_response)); |
|
out_response->value = xstrdup(json_object_get_string(obj)); |
|
|
|
- json_object *message = json_object_object_get(json, "message"); |
|
- if (message) |
|
+ json_object *message = NULL; |
|
+ if (json_object_object_get_ex(json, "message", &message)) |
|
out_response->message = xstrdup(json_object_get_string(message)); |
|
|
|
- json_object *bthash = json_object_object_get(json, "bthash"); |
|
- if (bthash) |
|
+ json_object *bthash = NULL; |
|
+ if (json_object_object_get_ex(json, "bthash", &bthash)) |
|
out_response->bthash = xstrdup(json_object_get_string(bthash)); |
|
|
|
- json_object *reported_to_list = json_object_object_get(json, "reported_to"); |
|
- if (reported_to_list) |
|
+ json_object *reported_to_list = NULL; |
|
+ if (json_object_object_get_ex(json, "reported_to", &reported_to_list)) |
|
out_response->reported_to_list = parse_reported_to_from_json_list(reported_to_list); |
|
|
|
- json_object *solutions = json_object_object_get(json, "solutions"); |
|
- if (solutions) |
|
+ json_object *solutions = NULL; |
|
+ if (json_object_object_get_ex(json, "solutions", &solutions)) |
|
out_response->solution = parse_solution_from_json_list(solutions, &(out_response->reported_to_list)); |
|
|
|
return out_response; |
|
-- |
|
1.8.3.1 |
|
|
|
|