From 65d6e285f1998cd7c5431ecbbd46c64464a82062 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sat, 14 Aug 2010 00:45:15 +0000 Subject: [package] base-files, uci: properly revert list state on config_load This fixes a bug where lists end up with duplicate values if config_load was invoked multiple times. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22629 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/uci/files/lib/config/uci.sh | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'package/uci/files') diff --git a/package/uci/files/lib/config/uci.sh b/package/uci/files/lib/config/uci.sh index d759615bd5..8dcb92b9f8 100644 --- a/package/uci/files/lib/config/uci.sh +++ b/package/uci/files/lib/config/uci.sh @@ -23,9 +23,15 @@ uci_load() { local PACKAGE="$1" local DATA local RET + local VAR _C=0 if [ -z "$CONFIG_APPEND" ]; then + for VAR in $CONFIG_LIST_STATE; do + export ${NO_EXPORT:+-n} CONFIG_${VAR}= + export ${NO_EXPORT:+-n} CONFIG_${VAR}_LENGTH= + done + export ${NO_EXPORT:+-n} CONFIG_LIST_STATE= export ${NO_EXPORT:+-n} CONFIG_SECTIONS= export ${NO_EXPORT:+-n} CONFIG_NUM_SECTIONS=0 export ${NO_EXPORT:+-n} CONFIG_SECTION= -- cgit v1.2.3