diff options
author | Felix Fietkau <nbd@openwrt.org> | 2007-07-22 16:55:31 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2007-07-22 16:55:31 +0000 |
commit | 6330c58b584a0a5948e2403d27e2a2728386941f (patch) | |
tree | 974b318fac302f3ab660fa3e7bedd6f6e52a2a6a | |
parent | 2a43eb3bd9c69392cc28fb94b05a8beffb9567c5 (diff) | |
download | upstream-6330c58b584a0a5948e2403d27e2a2728386941f.tar.gz upstream-6330c58b584a0a5948e2403d27e2a2728386941f.tar.bz2 upstream-6330c58b584a0a5948e2403d27e2a2728386941f.zip |
add patch from #2111
SVN-Revision: 8106
-rwxr-xr-x | package/base-files/files/etc/functions.sh | 6 | ||||
-rwxr-xr-x | package/base-files/files/etc/rc.common | 24 |
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" |