aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2008-07-30 20:35:22 +0000
committerFelix Fietkau <nbd@openwrt.org>2008-07-30 20:35:22 +0000
commit943998b6f0caea0990db243be0bdf5d02076f5b0 (patch)
treef0afbed2a880bf5748e168039f333cae726ab455 /package/base-files
parentb72486b3081a26fa1da9142b62735dc72b00e26d (diff)
downloadmaster-187ad058-943998b6f0caea0990db243be0bdf5d02076f5b0.tar.gz
master-187ad058-943998b6f0caea0990db243be0bdf5d02076f5b0.tar.bz2
master-187ad058-943998b6f0caea0990db243be0bdf5d02076f5b0.zip
functions.sh: add a function for removing an item from a list in a shell variable
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12024 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files')
-rwxr-xr-xpackage/base-files/files/etc/functions.sh14
1 files changed, 14 insertions, 0 deletions
diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh
index af4eae23f5..f4af4a8573 100755
--- a/package/base-files/files/etc/functions.sh
+++ b/package/base-files/files/etc/functions.sh
@@ -24,6 +24,20 @@ append() {
eval "export ${NO_EXPORT:+-n} -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\""
}
+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 "$@"