X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuci.git;a=blobdiff_plain;f=ucimap-example.c;h=9906592acabff3e4551da001b769497b680fa648;hp=baea5500b9791b9de684382991939c97d9c6017c;hb=96aa070d01e676a6c7f48ff533e219f63da4fd65;hpb=82a71ad8d80c1d5831916efff87cb03b77096032 diff --git a/ucimap-example.c b/ucimap-example.c index baea550..9906592 100644 --- a/ucimap-example.c +++ b/ucimap-example.c @@ -44,9 +44,8 @@ struct uci_alias { static int network_parse_ip(void *section, struct uci_optmap *om, union ucimap_data *data, const char *str) { - struct uci_network *net = section; unsigned char *target = (unsigned char *) data->s; - unsigned int tmp[4]; + int tmp[4]; int i; if (sscanf(str, "%d.%d.%d.%d", &tmp[0], &tmp[1], &tmp[2], &tmp[3]) != 4) @@ -171,7 +170,7 @@ static struct my_optmap network_interface_options[] = { { .map = { UCIMAP_OPTION(struct uci_network, aliases), - .type = UCIMAP_LIST | UCIMAP_SECTION, + .type = UCIMAP_LIST | UCIMAP_SECTION | UCIMAP_LIST_AUTO, .data.sm = &network_alias } } @@ -220,7 +219,7 @@ int main(int argc, char **argv) { struct uci_context *ctx; struct uci_package *pkg; - struct list_head *p, *p2; + struct list_head *p; struct uci_network *net; struct uci_alias *alias; int i; @@ -229,6 +228,7 @@ int main(int argc, char **argv) ctx = uci_alloc_context(); ucimap_init(&network_map); + uci_set_confdir(ctx, "./test/config"); uci_load(ctx, "network", &pkg); ucimap_parse(&network_map, pkg); @@ -250,7 +250,7 @@ int main(int argc, char **argv) (net->enabled ? "on" : "off")); for (i = 0; i < net->aliases->n_items; i++) { - alias = net->aliases->item[i].section; + alias = net->aliases->item[i].ptr; printf("New alias: %s\n", alias->name); } #if 0 @@ -262,7 +262,6 @@ int main(int argc, char **argv) } -done: ucimap_cleanup(&network_map); uci_free_context(ctx);