diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-01-30 03:13:32 +0300 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-01-30 03:13:32 +0300 |
commit | ff585b97c0b061d3ef7a026a331fa0079e0a7d94 (patch) | |
tree | a82f4603a4a61ba3792edc729d8db317487b6c93 | |
parent | 2d9f917d000025eaebcccf9fca758aa8b9a4763c (diff) |
fix json list parsing
-rw-r--r-- | blobmsg.c | 4 | ||||
-rw-r--r-- | blobmsg.h | 2 | ||||
-rw-r--r-- | examples/blobmsg-example.c | 2 |
3 files changed, 4 insertions, 4 deletions
@@ -155,7 +155,7 @@ static void blobmsg_format_json_list(struct strbuf *s, struct blob_attr *attr, i blobmsg_puts(s, (array ? " ]" : " }"), 2); } -char *blobmsg_format_json(struct blob_attr *attr) +char *blobmsg_format_json(struct blob_attr *attr, bool named) { struct strbuf s; @@ -163,7 +163,7 @@ char *blobmsg_format_json(struct blob_attr *attr) s.buf = malloc(s.len); s.pos = 0; - blobmsg_format_element(&s, attr, true, true); + blobmsg_format_json_list(&s, blob_data(attr), blob_len(attr), !named); if (!s.len) return NULL; @@ -139,7 +139,7 @@ static inline int blobmsg_buf_init(struct blob_buf *buf) return blob_buf_init(buf, BLOBMSG_TYPE_TABLE); } -char *blobmsg_format_json(struct blob_attr *attr); +char *blobmsg_format_json(struct blob_attr *attr, bool named); #define blobmsg_for_each_attr(pos, attr, rem) \ for (rem = blobmsg_data_len(attr), pos = blobmsg_data(attr); \ diff --git a/examples/blobmsg-example.c b/examples/blobmsg-example.c index 3630208..86762d8 100644 --- a/examples/blobmsg-example.c +++ b/examples/blobmsg-example.c @@ -128,7 +128,7 @@ int main(int argc, char **argv) blobmsg_buf_init(&buf); fill_message(&buf); dump_message(&buf); - fprintf(stderr, "json: %s\n", blobmsg_format_json(buf.head)); + fprintf(stderr, "json: %s\n", blobmsg_format_json(buf.head, false), true); if (buf.buf) free(buf.buf); |