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:
Diffstat (limited to 'blobmsg.c')
-rw-r--r--blobmsg.c14
1 files changed, 13 insertions, 1 deletions
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;