diff --git a/common.c b/common.c
index 2bebc63b9b36010354629c3f8ad25536365ea7f9..7d5a3cd9159504daa016957a57a212ceef640b6c 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 5410559f2d0bd22f3de62a3266f53b9f829932a8..2bb6c43b3a22864c24c7048acffe3136e34c4862 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);