aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2007-07-22 16:55:31 +0000
committerFelix Fietkau <nbd@openwrt.org>2007-07-22 16:55:31 +0000
commitb1e1d374683959ce4f44d5bced3e7317d7d49c3f (patch)
treed637f5bf08dc77ada6e9120c761440d00e245cc1 /package/base-files
parenta01b7a2b5ed29c81e1fd28e5cc02e520ffe2ea67 (diff)
downloadupstream-b1e1d374683959ce4f44d5bced3e7317d7d49c3f.tar.gz
upstream-b1e1d374683959ce4f44d5bced3e7317d7d49c3f.tar.bz2
upstream-b1e1d374683959ce4f44d5bced3e7317d7d49c3f.zip
add patch from #2111
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8106 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files')
-rwxr-xr-xpackage/base-files/files/etc/functions.sh6
-rwxr-xr-xpackage/base-files/files/etc/rc.common24
2 files changed, 17 insertions, 13 deletions
diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh
index 4446931d59..a613e1190b 100755
--- a/package/base-files/files/etc/functions.sh
+++ b/package/base-files/files/etc/functions.sh
@@ -146,14 +146,16 @@ config_set() {
config_foreach() {
local function="$1"
- local type="$2"
+ [ "$#" -ge 1 ] && shift
+ local type="$1"
+ [ "$#" -ge 1 ] && shift
local section cfgtype
[ -z "$CONFIG_SECTIONS" ] && return 0
for section in ${CONFIG_SECTIONS}; do
config_get cfgtype "$section" TYPE
[ -n "$type" -a "x$cfgtype" != "x$type" ] && continue
- eval "$function \"\$section\""
+ eval "$function \"\$section\" \"\$@\""
done
}
diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common
index 4ffc79890a..99e2a5db62 100755
--- a/package/base-files/files/etc/rc.common
+++ b/package/base-files/files/etc/rc.common
@@ -67,24 +67,26 @@ EOF
}
initscript="$1"
-action="$2"
+[ "$#" -ge 1 ] && shift
+action="$1"
+[ "$#" -ge 1 ] && shift
. "$initscript"
cmds=
for cmd in $EXTRA_COMMANDS; do
- cmds="${cmds:+$cmds$N}$cmd) $cmd;;"
+ cmds="${cmds:+$cmds$N}$cmd) $cmd \"\$@\";;"
done
eval "case \"\$action\" in
- start) start;;
- stop) stop;;
- reload) reload || restart;;
- restart) restart;;
- boot) boot;;
- shutdown) shutdown;;
- enable) enable;;
- enabled) enabled;;
- disable) disable;;
+ start) start \"\$@\";;
+ stop) stop \"\$@\";;
+ reload) reload \"\$@\" || restart \"\$@\";;
+ restart) restart \"\$@\";;
+ boot) boot \"\$@\";;
+ shutdown) shutdown \"\$@\";;
+ enable) enable \"\$@\";;
+ enabled) enabled \"\$@\";;
+ disable) disable \"\$@\";;
$cmds
*) help;;
esac"