From: Florian Eckert Date: Tue, 15 Jun 2021 06:48:18 +0000 (+0200) Subject: base-files: fix service_running check X-Git-Tag: v22.03.0-rc1~1018 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=dd681838d370f1f6f6fa1bf1f22b0414322292f3;p=openwrt%2Fopenwrt.git base-files: fix service_running check The following command checks if a instance of a service is running. /etc/init.d/ running In the variable `$@`, which is passed to the function `service_running`, the first argument is always the `instance` which should be checked. Because all other variables where removed from `$@` with `shift`. Before this change the first argument of `$@` was set to the `$service` Variable. So the function does not work as expected. The `$service` variable was always the instance which should be checked. This is not what we want. Signed-off-by: Florian Eckert Reviewed-by: Sungbo Eo --- diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common index 5dcbf5138d..e950ec209d 100755 --- a/package/base-files/files/etc/rc.common +++ b/package/base-files/files/etc/rc.common @@ -105,9 +105,9 @@ service_data() { } service_running() { - local service="${1:-$(basename $initscript)}" - local instance="${2:-*}" - procd_running "$service" "$instance" "$@" + local instance="${1:-*}" + + procd_running "$(basename $initscript)" "$instance" } ${INIT_TRACE:+set -x}