X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/796420d4282fc8765dd6d0b0cc11507482ef5d35..f1bcf559df1efde4455ecbe2bf103f318f173518:/package/base-files/files/etc/functions.sh?ds=sidebyside diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh index 931f4be47..72e60bb51 100755 --- a/package/base-files/files/etc/functions.sh +++ b/package/base-files/files/etc/functions.sh @@ -12,7 +12,7 @@ _C=0 NO_EXPORT=1 hotplug_dev() { - env -i ACTION=$1 INTERFACE=$2 /sbin/hotplug net + env -i ACTION=$1 INTERFACE=$2 /sbin/hotplug-call net } append() { @@ -120,15 +120,22 @@ config_set() { local section="$1" local option="$2" local value="$3" - export ${NO_EXPORT:+-n} "CONFIG_${section}_${option}=$value" + local old_section="$CONFIG_SECTION" + + CONFIG_SECTION="$section" + option "$option" "$value" + CONFIG_SECTION="$old_section" } config_foreach() { local function="$1" - local section + local type="$2" + local section cfgtype [ -z "$CONFIG_SECTIONS" ] && return 0 for section in ${CONFIG_SECTIONS}; do + config_get cfgtype "$section" TYPE + [ -n "$type" -a "$cfgtype" != "$type" ] && continue eval "$function \"\$section\"" done } @@ -148,9 +155,11 @@ include() { find_mtd_part() { local PART="$(grep "\"$1\"" /proc/mtd | awk -F: '{print $1}')" + local PREFIX=/dev/mtdblock PART="${PART##mtd}" - echo "${PART:+/dev/mtdblock/$PART}" + [ -d /dev/mtdblock ] && PREFIX=/dev/mtdblock/ + echo "${PART:+$PREFIX$PART}" } strtok() { # { [] ... }