Commit a6a80b4f authored by Lennart Poettering's avatar Lennart Poettering
Browse files

execute: simplify appending to execution list

parent c18315a8
......@@ -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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment