add patch from #2111
authorFelix Fietkau <nbd@openwrt.org>
Sun, 22 Jul 2007 16:55:31 +0000 (16:55 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 22 Jul 2007 16:55:31 +0000 (16:55 +0000)
SVN-Revision: 8106

package/base-files/files/etc/functions.sh
package/base-files/files/etc/rc.common

index 4446931..a613e11 100755 (executable)
@@ -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
 }
 
index 4ffc798..99e2a5d 100755 (executable)
@@ -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"