X-Git-Url: http://git.archive.openwrt.org/?p=project%2Flibubox.git;a=blobdiff_plain;f=blobmsg.c;h=2d584a110294708758987135d618d74c9f349fef;hp=12f603c774ab39a985982d88340344f61b619674;hb=bbdc3bdb0505437782f83d8d0480e759cbe7ea57;hpb=f1494cde4d22f5df91d581ef7242e80b1cb367de diff --git a/blobmsg.c b/blobmsg.c index 12f603c..2d584a1 100644 --- a/blobmsg.c +++ b/blobmsg.c @@ -61,11 +61,23 @@ bool blobmsg_check_attr(const struct blob_attr *attr, bool name) return blob_check_type(data, len, blob_type[id]); } -bool blobmsg_check_attr_list(const struct blob_attr *attr, int type, bool name) +bool blobmsg_check_attr_list(const struct blob_attr *attr, int type) { struct blob_attr *cur; + bool name; int rem; + switch (blobmsg_type(attr)) { + case BLOBMSG_TYPE_TABLE: + name = true; + break; + case BLOBMSG_TYPE_ARRAY: + name = false; + break; + default: + return false; + } + blobmsg_for_each_attr(cur, attr, rem) { if (blobmsg_type(cur) != type) return false;