aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-08-14 00:45:15 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-08-14 00:45:15 +0000
commit65d6e285f1998cd7c5431ecbbd46c64464a82062 (patch)
tree3c62cb145364b8a477fc12616b725d89328b7b24 /package/base-files
parent8f501d19cdffd128c4bc9cdbf11454cde43b2146 (diff)
downloadupstream-65d6e285f1998cd7c5431ecbbd46c64464a82062.tar.gz
upstream-65d6e285f1998cd7c5431ecbbd46c64464a82062.tar.bz2
upstream-65d6e285f1998cd7c5431ecbbd46c64464a82062.zip
[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
Diffstat (limited to 'package/base-files')
-rw-r--r--package/base-files/Makefile2
-rwxr-xr-xpackage/base-files/files/etc/functions.sh1
2 files changed, 2 insertions, 1 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 137eb62a2f..039326069b 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=base-files
-PKG_RELEASE:=51
+PKG_RELEASE:=52
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh
index fa0ba0427b..d5ffc13535 100755
--- a/package/base-files/files/etc/functions.sh
+++ b/package/base-files/files/etc/functions.sh
@@ -97,6 +97,7 @@ list() {
local len
config_get len "$CONFIG_SECTION" "${varname}_LENGTH" 0
+ [ $len = 0 ] && append CONFIG_LIST_STATE "${CONFIG_SECTION}_${varname}"
len=$(($len + 1))
config_set "$CONFIG_SECTION" "${varname}_ITEM$len" "$value"
config_set "$CONFIG_SECTION" "${varname}_LENGTH" "$len"