mirror of
https://github.com/systemd/systemd.git
synced 2025-03-23 10:50:16 +03:00
execute: simplify appending to execution list
This commit is contained in:
parent
c18315a88d
commit
a6a80b4f44
14
execute.c
14
execute.c
@ -749,6 +749,20 @@ void exec_command_dump_list(ExecCommand *c, FILE *f, const char *prefix) {
|
||||
exec_command_dump(c, f, prefix);
|
||||
}
|
||||
|
||||
void exec_command_append_list(ExecCommand **l, ExecCommand *e) {
|
||||
ExecCommand *end;
|
||||
|
||||
assert(l);
|
||||
assert(e);
|
||||
|
||||
if (*l) {
|
||||
/* It's kinda important that we keep the order here */
|
||||
LIST_FIND_TAIL(ExecCommand, command, *l, end);
|
||||
LIST_INSERT_AFTER(ExecCommand, command, *l, end, e);
|
||||
} else
|
||||
*l = e;
|
||||
}
|
||||
|
||||
static const char* const exec_output_table[_EXEC_OUTPUT_MAX] = {
|
||||
[EXEC_OUTPUT_CONSOLE] = "console",
|
||||
[EXEC_OUTPUT_NULL] = "null",
|
||||
|
@ -154,6 +154,7 @@ void exec_command_free_array(ExecCommand **c, unsigned n);
|
||||
char *exec_command_line(ExecCommand *c);
|
||||
void exec_command_dump(ExecCommand *c, FILE *f, const char *prefix);
|
||||
void exec_command_dump_list(ExecCommand *c, FILE *f, const char *prefix);
|
||||
void exec_command_append_list(ExecCommand **l, ExecCommand *e);
|
||||
|
||||
void exec_context_init(ExecContext *c);
|
||||
void exec_context_done(ExecContext *c);
|
||||
|
@ -328,7 +328,7 @@ static int config_parse_exec(
|
||||
void *data,
|
||||
void *userdata) {
|
||||
|
||||
ExecCommand **e = data, *ee, *nce = NULL;
|
||||
ExecCommand **e = data, *nce = NULL;
|
||||
char **n;
|
||||
char *w;
|
||||
unsigned k;
|
||||
@ -367,12 +367,7 @@ static int config_parse_exec(
|
||||
if (!(nce->path = strdup(n[0])))
|
||||
goto fail;
|
||||
|
||||
if (*e) {
|
||||
/* It's kinda important that we keep the order here */
|
||||
LIST_FIND_TAIL(ExecCommand, command, *e, ee);
|
||||
LIST_INSERT_AFTER(ExecCommand, command, *e, ee, nce);
|
||||
} else
|
||||
*e = nce;
|
||||
exec_command_append_list(e, nce);
|
||||
|
||||
return 0;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user