X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=config.c;h=1d04efd7d1caf86d67e192c84d6bdd2c24089cc4;hb=3d42c9150e65799fa61778a1bfc1dda060dff847;hp=bb0cd05eec8f5805227c88ddc1ba6e7b218146f3;hpb=fbb4a83633fd935748dd3c26d4fc28821db71cdd;p=project%2Fnetifd.git diff --git a/config.c b/config.c index bb0cd05..1d04efd 100644 --- a/config.c +++ b/config.c @@ -56,11 +56,15 @@ static void config_parse_interface(struct uci_section *s, bool alias) { struct interface *iface; - const char *type = NULL; + const char *type = NULL, *disabled; struct blob_attr *config; struct device *dev; bool bridge = false; + disabled = uci_lookup_option_string(uci_ctx, s, "disabled"); + if (disabled && !strcmp(disabled, "1")) + return; + blob_buf_init(&b, 0); if (!alias) @@ -190,8 +194,11 @@ config_init_package(const char *config) ctx = uci_alloc_context(); uci_ctx = ctx; + ctx->flags &= ~UCI_FLAG_STRICT; + if (config_path) + uci_set_confdir(ctx, config_path); + #ifdef DUMMY_MODE - uci_set_confdir(ctx, "./config"); uci_set_savedir(ctx, "./tmp"); #endif } else { @@ -304,7 +311,7 @@ config_parse_wireless_interface(struct wireless_device *wdev, struct uci_section { blob_buf_init(&b, 0); uci_to_blob(&b, s, wdev->drv->interface.config); - wireless_interface_create(wdev, b.head); + wireless_interface_create(wdev, b.head, s->e.name); } static void