netifd: improve error handling in legacy script compatibility library, do not fill...
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 21 Apr 2012 20:34:48 +0000 (20:34 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 21 Apr 2012 20:34:48 +0000 (20:34 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31432 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/netifd/files/lib/network/config.sh

index 287124d..3b3ae93 100755 (executable)
@@ -27,8 +27,8 @@ unbridge() {
 
 ubus_call() {
        json_init
-       local _data="$(ubus call "$1" "$2")"
-       [ $? -ne 0 ] && return "$?"
+       local _data="$(ubus -S call "$1" "$2")"
+       [ -z "$_data" ] && return 1
        json_load "$_data"
        return 0
 }
@@ -43,7 +43,7 @@ fixup_interface() {
        config_get device "$config" device "$ifname"
        [ "bridge" = "$type" ] && ifname="br-$config"
        config_set "$config" device "$ifname"
-       ubus_call "network.interface.$config" status
+       ubus_call "network.interface.$config" status || return 0
        json_get_var l3dev l3_device
        [ -n "$l3dev" ] && ifname="$l3dev"
        json_init