X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fubus.git;a=blobdiff_plain;f=libubus-obj.c;fp=libubus-obj.c;h=47bdb0a4e758683a4c044b4e56dfa1968b8d4acc;hp=a1062e0a5a8b247cb849b729867dd585c3d22761;hb=2c71017cfb1d370abd1b52b3f59874e253914684;hpb=7c9e76ed087434e0fdbfb99d11182dae17e36f2c diff --git a/libubus-obj.c b/libubus-obj.c index a1062e0..47bdb0a 100644 --- a/libubus-obj.c +++ b/libubus-obj.c @@ -146,8 +146,12 @@ static void ubus_push_method_data(const struct ubus_method *m) mtbl = blobmsg_open_table(&b, m->name); - for (i = 0; i < m->n_policy; i++) + for (i = 0; i < m->n_policy; i++) { + if (m->mask && !(m->mask & (1 << i))) + continue; + blobmsg_add_u32(&b, m->policy[i].name, m->policy[i].type); + } blobmsg_close_table(&b, mtbl); }