fix config_clear(), see #3054
authorFelix Fietkau <nbd@openwrt.org>
Thu, 31 Jul 2008 03:04:32 +0000 (03:04 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 31 Jul 2008 03:04:32 +0000 (03:04 +0000)
SVN-Revision: 12036

package/base-files/files/etc/functions.sh

index 01db77ce39559ed38599c429a7ac1e9a025cb7a6..0314692c5f977db31761b38d06367f8476c647ce 100755 (executable)
@@ -44,6 +44,7 @@ list_remove() {
        val2="${val##* $remove }"
        [ "$val2" = "$val" ] && return
        val="${val1## } ${val2%% }"
+       val="${val%% }"
        eval "export ${NO_EXPORT:+-n} -- \"$var=\$val\""
 }
 
@@ -107,8 +108,8 @@ config_unset() {
 config_clear() {
        local SECTION="$1"
        local oldvar
-       
-       export ${NO_EXPORT:+-n} CONFIG_SECTIONS="$(echo " $CONFIG_SECTIONS " | sed -e "s, $OLD , ,")"
+
+       list_remove CONFIG_SECTIONS "$SECTION"
        export ${NO_EXPORT:+-n} CONFIG_SECTIONS="${SECTION:+$CONFIG_SECTIONS}"
 
        for oldvar in `set | grep ^CONFIG_${SECTION:+${SECTION}_} | \