Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.openwrt.org/project/libubox.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--blobmsg_json.c14
-rw-r--r--blobmsg_json.h1
2 files changed, 12 insertions, 3 deletions
diff --git a/blobmsg_json.c b/blobmsg_json.c
index f166358..7a4ab7b 100644
--- a/blobmsg_json.c
+++ b/blobmsg_json.c
@@ -71,12 +71,10 @@ bool blobmsg_add_json_element(struct blob_buf *b, const char *name, json_object
return ret;
}
-bool blobmsg_add_json_from_string(struct blob_buf *b, const char *str)
+static bool __blobmsg_add_json(struct blob_buf *b, json_object *obj)
{
- json_object *obj;
bool ret = false;
- obj = json_tokener_parse(str);
if (is_error(obj))
return false;
@@ -90,6 +88,16 @@ out:
return ret;
}
+bool blobmsg_add_json_from_file(struct blob_buf *b, const char *file)
+{
+ return __blobmsg_add_json(b, json_object_from_file(file));
+}
+
+bool blobmsg_add_json_from_string(struct blob_buf *b, const char *str)
+{
+ return __blobmsg_add_json(b, json_tokener_parse(str));
+}
+
struct strbuf {
int len;
diff --git a/blobmsg_json.h b/blobmsg_json.h
index 45ebd6d..e8036eb 100644
--- a/blobmsg_json.h
+++ b/blobmsg_json.h
@@ -28,6 +28,7 @@
bool blobmsg_add_object(struct blob_buf *b, json_object *obj);
bool blobmsg_add_json_element(struct blob_buf *b, const char *name, json_object *obj);
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);
typedef const char *(*blobmsg_json_format_t)(void *priv, struct blob_attr *attr);