free(str);
}
-static void uci_to_blob(struct blob_buf *b, struct uci_section *s,
- const struct config_param_list *p)
+static void __uci_to_blob(struct blob_buf *b, struct uci_section *s,
+ const struct config_param_list *p)
{
const struct blobmsg_policy *attr;
struct uci_element *e;
}
}
+static void uci_to_blob(struct blob_buf *b, struct uci_section *s,
+ const struct config_param_list *p)
+{
+ int i;
+
+ __uci_to_blob(b, s, p);
+ for (i = 0; i < p->n_next; i++)
+ uci_to_blob(b, s, p->next[i]);
+}
+
static void
config_parse_interface(struct uci_section *s)
{
blob_buf_init(&b, 0);
uci_to_blob(&b, s, &interface_attr_list);
- alloc_interface(s->e.name, s, b.head);
+ interface_alloc(s->e.name, s, b.head);
}
void
-config_device_inits(void)
+config_init_devices(void)
{
struct uci_element *e;
uci_network = p;
config_init = true;
- config_device_inits();
+ config_init_devices();
uci_foreach_element(&p->sections, e) {
struct uci_section *s = uci_to_section(e);