}
-int config_parse_interface(struct blob_attr *b, const char *name, bool overwrite)
+int config_parse_interface(void *data, size_t len, const char *name, bool overwrite)
{
struct blob_attr *tb[IFACE_ATTR_MAX], *c;
- blobmsg_parse(iface_attrs, IFACE_ATTR_MAX, tb, blob_data(b), blob_len(b));
+ blobmsg_parse(iface_attrs, IFACE_ATTR_MAX, tb, data, len);
if (tb[IFACE_ATTR_INTERFACE])
name = blobmsg_get_string(tb[IFACE_ATTR_INTERFACE]);
{
blob_buf_init(&b, 0);
uci_to_blob(&b, s, &interface_attr_list);
- return config_parse_interface(b.head, s->e.name, true);
+ return config_parse_interface(blob_data(b.head), blob_len(b.head), s->e.name, true);
}
ssize_t odhcpd_unhexlify(uint8_t *dst, size_t len, const char *src);
void odhcpd_hexlify(char *dst, const uint8_t *src, size_t len);
-int config_parse_interface(struct blob_attr *b, const char *iname, bool overwrite);
+int config_parse_interface(void *data, size_t len, const char *iname, bool overwrite);
#ifdef WITH_UBUS
int init_ubus(void);
continue;
if (!c || !c->ignore)
- config_parse_interface(tb[IFACE_ATTR_DATA], interface, false);
+ config_parse_interface(blobmsg_data(tb[IFACE_ATTR_DATA]),
+ blobmsg_data_len(tb[IFACE_ATTR_DATA]), interface, false);
}
}
}