From e5a94fa847f4d880eb42f53bd93131ccf9fabe03 Mon Sep 17 00:00:00 2001 From: Simon Ruderich Date: Thu, 13 Jun 2013 21:50:51 +0200 Subject: [PATCH] Remove unnecessary calls to update_environment() in exec*(). --- src/coloredstderr.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/coloredstderr.c b/src/coloredstderr.c index 7c4a5f5..0d76b5a 100644 --- a/src/coloredstderr.c +++ b/src/coloredstderr.c @@ -531,23 +531,24 @@ int execve(char const *filename, char * const argv[], char * const env[]) { int execl(char const *path, char const *arg, ...) { EXECL_COPY_VARARGS(args); - update_environment(); + /* execv() updates the environment. */ return execv(path, args); } - int execlp(char const *file, char const *arg, ...) { EXECL_COPY_VARARGS(args); - update_environment(); + /* execvp() updates the environment. */ return execvp(file, args); } - int execle(char const *path, char const *arg, ... /*, char * const envp[] */) { + char * const *envp; + EXECL_COPY_VARARGS_START(args); /* Get envp[] located after arguments. */ - char * const *envp = va_arg(ap, char * const *); + envp = va_arg(ap, char * const *); EXECL_COPY_VARARGS_END(args); + /* execve() updates the environment. */ return execve(path, args, envp); } @@ -573,6 +574,7 @@ int execvpe(char const *file, char * const argv[], char * const envp[]) { /* Fake the environment so we can reuse execvp(). */ environ = (char **)envp; + /* execvp() updates the environment. */ return execvp(file, argv); } #endif -- 2.45.2