blobmsg_json: support json_type_null in blobmsg_add_json_element()

We already serialize BLOBMSG_TYPE_UNSPEC as "null" so represent JSON null
values as blob attribute type unspec with payload size zero.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
This commit is contained in:
Jo-Philipp Wich 2016-02-09 22:51:41 +01:00
parent 0c2fbbca80
commit f43da92dd7

View file

@ -49,9 +49,6 @@ bool blobmsg_add_json_element(struct blob_buf *b, const char *name, json_object
bool ret = true; bool ret = true;
void *c; void *c;
if (!obj)
return false;
switch (json_object_get_type(obj)) { switch (json_object_get_type(obj)) {
case json_type_object: case json_type_object:
c = blobmsg_open_table(b, name); c = blobmsg_open_table(b, name);
@ -72,6 +69,9 @@ bool blobmsg_add_json_element(struct blob_buf *b, const char *name, json_object
case json_type_int: case json_type_int:
blobmsg_add_u32(b, name, json_object_get_int(obj)); blobmsg_add_u32(b, name, json_object_get_int(obj));
break; break;
case json_type_null:
blobmsg_add_field(b, BLOBMSG_TYPE_UNSPEC, name, NULL, 0);
break;
default: default:
return false; return false;
} }