[OpenWrt-Devel] Subject: [PATCH 1/1] blobmsg_json: allow to add full json files

Adrian Panella ianchi74 at outlook.com
Sat Feb 22 15:11:28 EST 2020


Current function "blobmsg_add_json_from_file" only adds json file if it
is an object,  and it only returns the properties, not a full object
attribute.
This version allows to read any valid json file and returns the complete
corresponding attribute.

Signed-off-by: Adrian Panella <ianchi74 at outlook.com>
---
 blobmsg_json.c | 16 ++++++++++++++++
 blobmsg_json.h |  1 +
 2 files changed, 17 insertions(+)

diff --git a/blobmsg_json.c b/blobmsg_json.c
index dce81e9..b8f91f1 100644
--- a/blobmsg_json.c
+++ b/blobmsg_json.c
@@ -87,6 +87,22 @@ bool blobmsg_add_json_element(struct blob_buf *b, const char *name, json_object
 	return ret;
 }
 
+bool blobmsg_add_json_file(struct blob_buf *b,  const char *name, const char *file)
+{
+	struct json_object *obj;
+	bool ret;
+	
+	obj = json_object_from_file(file);
+
+	if (!obj)
+		return false;
+
+	ret = blobmsg_add_json_element(b, name, obj);
+
+	json_object_put(obj);
+	return ret;
+}
+
 static bool __blobmsg_add_json(struct blob_buf *b, json_object *obj)
 {
 	bool ret = false;
diff --git a/blobmsg_json.h b/blobmsg_json.h
index 9dfc02d..61cdbe5 100644
--- a/blobmsg_json.h
+++ b/blobmsg_json.h
@@ -23,6 +23,7 @@ struct json_object;
 
 bool blobmsg_add_object(struct blob_buf *b, struct json_object *obj);
 bool blobmsg_add_json_element(struct blob_buf *b, const char *name, struct json_object *obj);
+bool blobmsg_add_json_file(struct blob_buf *b,  const char *name, const char *file);
 bool blobmsg_add_json_from_string(struct blob_buf *b, const char *str);
 bool blobmsg_add_json_from_file(struct blob_buf *b, const char *file);
 
-- 
2.20.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list