mirror of
https://github.com/troglobit/finit.git
synced 2026-10-08 00:24:17 +07:00
Refactor, simplify command + args composition for readability
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
+11
-8
@@ -335,7 +335,7 @@ static int service_start(svc_t *svc)
|
|||||||
int uid = getuser(svc->username, &home);
|
int uid = getuser(svc->username, &home);
|
||||||
int gid = getgroup(svc->group);
|
int gid = getgroup(svc->group);
|
||||||
#endif
|
#endif
|
||||||
char *args[MAX_NUM_SVC_ARGS];
|
char *args[MAX_NUM_SVC_ARGS + 1];
|
||||||
|
|
||||||
/* Set configured limits */
|
/* Set configured limits */
|
||||||
for (int i = 0; i < RLIMIT_NLIMITS; i++) {
|
for (int i = 0; i < RLIMIT_NLIMITS; i++) {
|
||||||
@@ -362,8 +362,11 @@ static int service_start(svc_t *svc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!svc_is_sysv(svc)) {
|
if (!svc_is_sysv(svc)) {
|
||||||
for (i = 0; i < (MAX_NUM_SVC_ARGS - 1) && svc->args[i][0] != 0; i++)
|
for (i = 0; i < MAX_NUM_SVC_ARGS; i++) {
|
||||||
|
if (strlen(svc->args[i]) == 0)
|
||||||
|
continue;
|
||||||
args[i] = svc->args[i];
|
args[i] = svc->args[i];
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
i = 0;
|
i = 0;
|
||||||
args[i++] = svc->cmd;
|
args[i++] = svc->cmd;
|
||||||
@@ -397,12 +400,12 @@ static int service_start(svc_t *svc)
|
|||||||
} else if (debug) {
|
} else if (debug) {
|
||||||
char buf[CMD_SIZE] = "";
|
char buf[CMD_SIZE] = "";
|
||||||
|
|
||||||
for (i = 0; i < (MAX_NUM_SVC_ARGS - 1) && svc->args[i][0] != 0; i++) {
|
for (i = 1; i < MAX_NUM_SVC_ARGS; i++) {
|
||||||
char arg[MAX_ARG_LEN + 1];
|
if (strlen(svc->args[i]) == 0)
|
||||||
|
continue;
|
||||||
snprintf(arg, sizeof(arg), "%s ", svc->args[i]);
|
if (buf[0])
|
||||||
if (strlen(arg) < (sizeof(buf) - strlen(buf)))
|
strlcat(buf, " ", sizeof(buf));
|
||||||
strlcat(buf, arg, sizeof(buf));
|
strlcat(buf, svc->args[i], sizeof(buf));
|
||||||
}
|
}
|
||||||
_d("Starting %s %s", svc->cmd, buf);
|
_d("Starting %s %s", svc->cmd, buf);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user