base-files: fix service_running check
authorFlorian Eckert <fe@dev.tdt.de>
Tue, 15 Jun 2021 06:48:18 +0000 (08:48 +0200)
committerSungbo Eo <mans0n@gorani.run>
Sat, 4 Dec 2021 00:39:11 +0000 (09:39 +0900)
The following command checks if a instance of a service is running.
/etc/init.d/<service> running <instance>

 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 <fe@dev.tdt.de>
Reviewed-by: Sungbo Eo <mans0n@gorani.run>
package/base-files/files/etc/rc.common

index 5dcbf5138d532fe2a874d3fd9b19601454b8cd8d..e950ec209dc6d2cbdfc9ab6ee996e82a33d7eb4e 100755 (executable)
@@ -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}