From 56b52ce92fea3b891976e98a2b06ab800a53b7ff Mon Sep 17 00:00:00 2001 From: Jakob Olsson <jakobols@kth.se> Date: Wed, 13 Jun 2018 11:24:24 +0200 Subject: [PATCH] common: change to json_to_blob arguments, and its use accordingly --- common.c | 28 +++++++++++++--------------- common.h | 6 ++---- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/common.c b/common.c index 2bebc63..7d5a3cd 100644 --- a/common.c +++ b/common.c @@ -6,7 +6,7 @@ int print_to_ubus(struct json_object *parsed_response, struct ubus_context *ctx, memset(&bb, 0, sizeof(bb)); blob_buf_init(&bb, 0); - bb = json_to_blob(parsed_response, bb); + json_to_blob(parsed_response, &bb); ubus_send_reply(ctx, req, bb.head); blob_buf_free(&bb); @@ -14,7 +14,7 @@ int print_to_ubus(struct json_object *parsed_response, struct ubus_context *ctx, return 0; } -struct blob_buf json_to_blob(struct json_object *response, struct blob_buf bb) +void json_to_blob(struct json_object *response, struct blob_buf *bb) { void *arr, *obj; int i; @@ -24,32 +24,30 @@ struct blob_buf json_to_blob(struct json_object *response, struct blob_buf bb) switch (val_type) { case json_type_int: - blobmsg_add_u32(&bb, key, json_object_get_int(val)); + blobmsg_add_u32(bb, key, json_object_get_int(val)); break; case json_type_double: - blobmsg_add_double(&bb, key, json_object_get_double(val)); + blobmsg_add_double(bb, key, json_object_get_double(val)); break; case json_type_string: - blobmsg_add_string(&bb, key, json_object_get_string(val)); + blobmsg_add_string(bb, key, json_object_get_string(val)); break; case json_type_array: - arr = blobmsg_open_array(&bb, key); + arr = blobmsg_open_array(bb, key); for (i = 0; i < json_object_array_length(val); i++) { - // add open table - bb = json_to_blob(json_object_array_get_idx(val, i), bb); - // add close table + // add open table? + json_to_blob(json_object_array_get_idx(val, i), bb); + // add close table? } - blobmsg_close_array(&bb, arr); + blobmsg_close_array(bb, arr); break; case json_type_object: - obj = blobmsg_open_table(&bb, key); - bb = json_to_blob(val, bb); - blobmsg_close_table(&bb, obj); + obj = blobmsg_open_table(bb, key); + json_to_blob(val, bb); + blobmsg_close_table(bb, obj); break; } } - - return bb; } struct json_object *get_json_string_object_by_key(json_object *json_obj, char *string) diff --git a/common.h b/common.h index 5410559..2bb6c43 100644 --- a/common.h +++ b/common.h @@ -68,12 +68,10 @@ int print_to_ubus(struct json_object *parsed_response, struct ubus_context *ctx, * * Parameters: * response - json_object pointer to be replicated in a blob buffer. - * bb - The blob buffer to hold the results. + * bb - The blob buffer pointer to hold the results. * - * Returns: - * Blob buffer containing the replicated json_object. */ -struct blob_buf json_to_blob(struct json_object *response, struct blob_buf bb); +void json_to_blob(struct json_object *response, struct blob_buf *bb); char *xml_parser(struct write_result *result, char *tag); struct json_object *xml_to_json_converter(struct write_result *result); -- GitLab