X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/afa5da1d1bf575000d260e9abe26d47b94e3e117..54988ba6a21a46113e5ff96c74145282793f016d:/package/base-files/files/etc/functions.sh diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh index 5ad45ecdb..01db77ce3 100755 --- a/package/base-files/files/etc/functions.sh +++ b/package/base-files/files/etc/functions.sh @@ -24,6 +24,29 @@ append() { eval "export ${NO_EXPORT:+-n} -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\"" } +list_contains() { + local var="$1" + local str="$2" + local val + + eval "val=\" \${$var} \"" + [ "${val%% $str *}" != "$val" ] +} + +list_remove() { + local var="$1" + local remove="$2" + local val + + eval "val=\" \${$var} \"" + val1="${val%% $remove *}" + [ "$val1" = "$val" ] && return + val2="${val##* $remove }" + [ "$val2" = "$val" ] && return + val="${val1## } ${val2%% }" + eval "export ${NO_EXPORT:+-n} -- \"$var=\$val\"" +} + config_load() { [ -n "$IPKG_INSTROOT" ] && return 0 uci_load "$@" @@ -208,4 +231,4 @@ uci_apply_defaults() {( uci commit )} -[ -z "$IPKG_INSTROOT" ] && . /lib/config/uci.sh +[ -z "$IPKG_INSTROOT" -a -f /lib/config/uci.sh ] && . /lib/config/uci.sh