$(LINK) $(SHLIB_FLAGS) -o $(SHLIB_FILE) $^ $(LIBS)
ln -sf $(SHLIB_FILE) $@
+ucimap-example: ucimap-example.c libuci.a libucimap.a
+ $(CC) $(CFLAGS) -I. -o $@ $^
+
clean:
rm -f uci uci-static *.[oa] *.so* *.dylib* uci_config.h
$(MKDIR) -p $(DESTDIR)$(prefix)/bin
$(INSTALL) -m0755 uci $(DESTDIR)$(prefix)/bin/
-test: all
+test: all ucimap-example
make -C test
FORCE: ;
--- /dev/null
+config 'alias' 'a'
+ option 'interface' 'lan'
+
+config 'alias' 'b'
+ option 'interface' 'lan'
+
+config 'interface' 'lan'
+ option 'proto' 'static'
+ option 'ifname' 'eth0'
+ option 'test' '123'
+ option 'enabled' 'on'
+ list 'aliases' 'a'
+ list 'aliases' 'b'
+ option 'ipaddr' '2.3.4.5'
+
+config 'interface' 'wan'
+ option 'proto' 'dhcp'
+ option 'ifname' 'eth1'
+
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)
{
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;
ctx = uci_alloc_context();
ucimap_init(&network_map);
+ uci_set_confdir(ctx, "./test/config");
uci_load(ctx, "network", &pkg);
ucimap_parse(&network_map, pkg);
}
-done:
ucimap_cleanup(&network_map);
uci_free_context(ctx);