From 87a524d9313428d55e5a04c2538042629bdc467a Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Tue, 31 Mar 2020 18:19:27 +0200 Subject: cleanup: delete remains of libutil - exec_t belongs to service.h, the main place where it is used/needed - code for executing exec_t is moved to runsvc for the same reason - what is left are NORETURN and ARRAY_SIZE - the former can be replaced with direct attribute usage since the only relevant compilers all support the attribute. - the later is only used in 3 places and can be trivially replaced with direct usage of sizeof(). Signed-off-by: David Oberhollenzer --- lib/util/argv_exec.c | 51 --------------------------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 lib/util/argv_exec.c (limited to 'lib/util') diff --git a/lib/util/argv_exec.c b/lib/util/argv_exec.c deleted file mode 100644 index d39b35a..0000000 --- a/lib/util/argv_exec.c +++ /dev/null @@ -1,51 +0,0 @@ -/* SPDX-License-Identifier: ISC */ -#include "service.h" - -#include -#include -#include -#include -#include - -int setup_tty(const char *tty, bool truncate) -{ - int fd; - - if (tty == NULL) - return 0; - - fd = open(tty, O_RDWR); - if (fd < 0) { - perror(tty); - return -1; - } - - if (truncate) - ftruncate(fd, 0); - - close(STDIN_FILENO); - close(STDOUT_FILENO); - close(STDERR_FILENO); - - setsid(); - - dup2(fd, STDIN_FILENO); - dup2(fd, STDOUT_FILENO); - dup2(fd, STDERR_FILENO); - close(fd); - return 0; -} - -void argv_exec(exec_t *e) -{ - char **argv = alloca(sizeof(char *) * (e->argc + 1)), *ptr; - int i; - - for (ptr = e->args, i = 0; i < e->argc; ++i, ptr += strlen(ptr) + 1) - argv[i] = ptr; - - argv[i] = NULL; - execvp(argv[0], argv); - perror(argv[0]); - exit(EXIT_FAILURE); -} -- cgit v1.2.3