From 097b27145d8b0e148636abd74ff80b8b92e25c05 Mon Sep 17 00:00:00 2001 From: nbd Date: Wed, 30 Jul 2008 20:35:22 +0000 Subject: [PATCH] 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 --- package/base-files/files/etc/functions.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh index af4eae23f..f4af4a857 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 "$@" -- 2.35.1