1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-24 07:41:44 +02:00

fixes for common config functions

git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4071 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2006-06-25 15:32:30 +00:00
parent 542f51dc8a
commit ffbd3e6165

View File

@ -5,6 +5,8 @@ alias debug=${DEBUG:-:}
N="
"
_C=0
# valid interface?
if_valid () (
ifconfig "$1" >&- 2>&- ||
@ -23,18 +25,24 @@ append() {
eval "export ${var}=\"\${${var}:+\${${var}}${value:+$sep}}$value\""
}
config_cb() {
return 0
}
option_cb() {
return 0
reset_cb() {
config_cb() {
return 0
}
option_cb() {
return 0
}
}
reset_cb
config () {
config_cb "$@"
_C=$((${_C:-0} + 1))
export CONFIG_SECTION="${2:-cfg${_C}}"
export CONFIG_${CONFIG_SECTION}_TYPE="$1"
local type="$1"
local name="$2"
_C=$(($_C + 1))
name="${name:-cfg${_C}}"
config_cb "$type" "$name"
export CONFIG_SECTION="$name"
export CONFIG_${CONFIG_SECTION}_TYPE="$type"
}
option () {
@ -53,12 +61,16 @@ config_clear() {
}
config_load() {
local CD=""
if [ \! -e "$1" -a -e "/etc/config/$1" ]; then
cd /etc/config && local CD=1
fi
[ -e "$1" ] && . $1
${CD:+cd - >/dev/null}
local DIR="./"
_C=0
[ \! -e "$1" -a -e "/etc/config/$1" ] && {
DIR="/etc/config/"
}
[ -e "$DIR$1" ] && {
CONFIG_FILENAME="$DIR$1"
. ${CONFIG_FILENAME}
} || return 1
${CD:+cd -} >/dev/null
${CONFIG_SECTION:+config_cb}
}