diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2010-08-14 00:45:15 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2010-08-14 00:45:15 +0000 |
commit | 65d6e285f1998cd7c5431ecbbd46c64464a82062 (patch) | |
tree | 3c62cb145364b8a477fc12616b725d89328b7b24 /package/base-files/files | |
parent | 8f501d19cdffd128c4bc9cdbf11454cde43b2146 (diff) | |
download | upstream-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/files')
-rwxr-xr-x | package/base-files/files/etc/functions.sh | 1 |
1 files changed, 1 insertions, 0 deletions
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" |