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:
authorFelix Fietkau <nbd@openwrt.org>2012-06-24 23:11:06 +0400
committerFelix Fietkau <nbd@openwrt.org>2012-06-24 23:11:06 +0400
commitbbdc3bdb0505437782f83d8d0480e759cbe7ea57 (patch)
tree59c28b6ba931be7275745a61155c75d124543c9e
parentf1494cde4d22f5df91d581ef7242e80b1cb367de (diff)
blobmsg: remove the unnecessary name argument from blobmsg_check_attr_list, infer it from the list type
-rw-r--r--blobmsg.c14
-rw-r--r--blobmsg.h2
2 files changed, 14 insertions, 2 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;
diff --git a/blobmsg.h b/blobmsg.h
index f504351..94b145c 100644
--- a/blobmsg.h
+++ b/blobmsg.h
@@ -78,7 +78,7 @@ static inline int blobmsg_data_len(const struct blob_attr *attr)
}
bool blobmsg_check_attr(const struct blob_attr *attr, bool name);
-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);
int blobmsg_parse(const struct blobmsg_policy *policy, int policy_len,
struct blob_attr **tb, void *data, int len);