From 13c7aa2ca4f3843e1481eb8bc4c13396f65cfa43 Mon Sep 17 00:00:00 2001 From: MadMaurice Date: Fri, 15 Jan 2021 20:22:22 +0100 Subject: [PATCH] Just reuse argv instead of duplicating --- main.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/main.c b/main.c index 06d5b34..2d80b57 100644 --- a/main.c +++ b/main.c @@ -46,18 +46,7 @@ void forward_signal(int sig) } } -char** argdup(int argc, const char** argv) -{ - char** newargs = malloc(sizeof(char*) * (argc+1)); - for (size_t i = 0; i < argc; i++) - { - newargs[i] = strdup(argv[i]); - } - newargs[argc] = NULL; - return newargs; -} - -int main(int argc, const char** argv) +int main(int argc, char* const* argv) { int err; @@ -166,10 +155,9 @@ int main(int argc, const char** argv) { // First child of init process. do exec here // use cli arguments for subprocess. skip 0 as it's our programs name. + argv++; - char** newargs = argdup(argc-1, &argv[1]); - - if (execvp(newargs[0], newargs) == -1) + if (execvp(argv[0], argv) == -1) { fatal("Failed to exec", errno); }