From: Lennart Poettering Date: Wed, 19 May 2010 19:50:34 +0000 (+0200) Subject: execute: simplify stdin/stderr/stdout fixup a little X-Git-Tag: v1~315 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=03fd9c49328be40b53f63b43614eb9bea3a2cf45 execute: simplify stdin/stderr/stdout fixup a little --- diff --git a/src/execute.c b/src/execute.c index d899a543f..51e768893 100644 --- a/src/execute.c +++ b/src/execute.c @@ -227,31 +227,20 @@ static bool is_terminal_input(ExecInput i) { i == EXEC_INPUT_TTY_FAIL; } -static int fixup_input(const ExecContext *context, int socket_fd) { - assert(context); +static int fixup_input(ExecInput std_input, int socket_fd) { - if (socket_fd < 0 && context->std_input == EXEC_INPUT_SOCKET) + if (std_input == EXEC_INPUT_SOCKET && socket_fd < 0) return EXEC_INPUT_NULL; - return context->std_input; -} - -static int fixup_output(const ExecContext *context, int socket_fd) { - assert(context); - - if (socket_fd < 0 && context->std_output == EXEC_OUTPUT_SOCKET) - return EXEC_OUTPUT_INHERIT; - - return context->std_output; + return std_input; } -static int fixup_error(const ExecContext *context, int socket_fd) { - assert(context); +static int fixup_output(ExecOutput std_output, int socket_fd) { - if (socket_fd < 0 && context->std_error == EXEC_OUTPUT_SOCKET) + if (std_output == EXEC_OUTPUT_SOCKET && socket_fd < 0) return EXEC_OUTPUT_INHERIT; - return context->std_error; + return std_output; } static int setup_input(const ExecContext *context, int socket_fd) { @@ -259,7 +248,7 @@ static int setup_input(const ExecContext *context, int socket_fd) { assert(context); - i = fixup_input(context, socket_fd); + i = fixup_input(context->std_input, socket_fd); switch (i) { @@ -302,8 +291,8 @@ static int setup_output(const ExecContext *context, int socket_fd, const char *i assert(context); assert(ident); - i = fixup_input(context, socket_fd); - o = fixup_output(context, socket_fd); + i = fixup_input(context->std_input, socket_fd); + o = fixup_output(context->std_output, socket_fd); /* This expects the input is already set up */ @@ -347,9 +336,9 @@ static int setup_error(const ExecContext *context, int socket_fd, const char *id assert(context); assert(ident); - i = fixup_input(context, socket_fd); - o = fixup_output(context, socket_fd); - e = fixup_error(context, socket_fd); + i = fixup_input(context->std_input, socket_fd); + o = fixup_output(context->std_output, socket_fd); + e = fixup_output(context->std_error, socket_fd); /* This expects the input and output are already set up */