X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=utils.c;h=024f95e16d5df1e1d2cc2adb399f42e589c91000;hb=0a7d36d8cf56f160b531f3db9f045e3f9315dd15;hp=875a141cc44fa2e2efb51ca8f3da673d77a5b1d6;hpb=e06e5376e1a2d70de256fe9da0ea78d2a7695a98;p=project%2Ffirewall3.git diff --git a/utils.c b/utils.c index 875a141..024f95e 100644 --- a/utils.c +++ b/utils.c @@ -893,3 +893,22 @@ fw3_flush_conntrack(void *state) freeifaddrs(ifaddr); } + +bool fw3_attr_parse_name_type(struct blob_attr *entry, const char **name, const char **type) +{ + struct blob_attr *opt; + unsigned orem; + + if (!type || !name) + return false; + + *type = NULL; + + blobmsg_for_each_attr(opt, entry, orem) + if (!strcmp(blobmsg_name(opt), "type")) + *type = blobmsg_get_string(opt); + else if (!strcmp(blobmsg_name(opt), "name")) + *name = blobmsg_get_string(opt); + + return *type != NULL ? true : false; +}