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.
SVN-Revision: 22629
This commit is contained in:
parent
6616951c15
commit
63991ba875
4 changed files with 9 additions and 2 deletions
|
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
PKG_NAME:=base-files
|
PKG_NAME:=base-files
|
||||||
PKG_RELEASE:=51
|
PKG_RELEASE:=52
|
||||||
|
|
||||||
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
|
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
|
||||||
|
|
||||||
|
|
|
@ -97,6 +97,7 @@ list() {
|
||||||
local len
|
local len
|
||||||
|
|
||||||
config_get len "$CONFIG_SECTION" "${varname}_LENGTH" 0
|
config_get len "$CONFIG_SECTION" "${varname}_LENGTH" 0
|
||||||
|
[ $len = 0 ] && append CONFIG_LIST_STATE "${CONFIG_SECTION}_${varname}"
|
||||||
len=$(($len + 1))
|
len=$(($len + 1))
|
||||||
config_set "$CONFIG_SECTION" "${varname}_ITEM$len" "$value"
|
config_set "$CONFIG_SECTION" "${varname}_ITEM$len" "$value"
|
||||||
config_set "$CONFIG_SECTION" "${varname}_LENGTH" "$len"
|
config_set "$CONFIG_SECTION" "${varname}_LENGTH" "$len"
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
UCI_VERSION=12012009
|
UCI_VERSION=12012009
|
||||||
UCI_RELEASE=5
|
UCI_RELEASE=6
|
||||||
|
|
||||||
PKG_NAME:=uci
|
PKG_NAME:=uci
|
||||||
PKG_VERSION:=$(UCI_VERSION)$(if $(UCI_RELEASE),.$(UCI_RELEASE))
|
PKG_VERSION:=$(UCI_VERSION)$(if $(UCI_RELEASE),.$(UCI_RELEASE))
|
||||||
|
|
|
@ -23,9 +23,15 @@ uci_load() {
|
||||||
local PACKAGE="$1"
|
local PACKAGE="$1"
|
||||||
local DATA
|
local DATA
|
||||||
local RET
|
local RET
|
||||||
|
local VAR
|
||||||
|
|
||||||
_C=0
|
_C=0
|
||||||
if [ -z "$CONFIG_APPEND" ]; then
|
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_SECTIONS=
|
||||||
export ${NO_EXPORT:+-n} CONFIG_NUM_SECTIONS=0
|
export ${NO_EXPORT:+-n} CONFIG_NUM_SECTIONS=0
|
||||||
export ${NO_EXPORT:+-n} CONFIG_SECTION=
|
export ${NO_EXPORT:+-n} CONFIG_SECTION=
|
||||||
|
|
Loading…
Reference in a new issue