From 5fbd904e5b4ed87243c09c86adcfb17ae93aa4f5 Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Mon, 27 Mar 2017 09:35:04 +0300 Subject: netifd: propagate error code on netifd_reload() The context is that we generate some of the UCI config for netifd via scripts/programs. Every once in a while, there's a goof when doing that UCI generation, and netifd prints out the error at stderr, but returns 0 (success) err-code. This change will fail the ubus call if UCI config is invalid or missing for /etc/config/network. Signed-off-by: Alexandru Ardelean Acked-by: Hans Dedecker --- config.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'config.c') diff --git a/config.c b/config.c index 0d965d3..2454e9b 100644 --- a/config.c +++ b/config.c @@ -393,16 +393,20 @@ config_init_wireless(void) vlist_flush(&wdev->interfaces); } -void +int config_init_all(void) { + int ret = 0; + uci_network = config_init_package("network"); if (!uci_network) { fprintf(stderr, "Failed to load network config\n"); - return; + return -1; } uci_wireless = config_init_package("wireless"); + if (!uci_wireless) + ret = -1; vlist_update(&interfaces); config_init = true; @@ -426,4 +430,6 @@ config_init_all(void) interface_refresh_assignments(false); interface_start_pending(); wireless_start_pending(); + + return ret; } -- cgit v1.2.1