From d7bf31c5b5e449aab104da8ed7844b1023fa5d46 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Fri, 26 Jul 2002 09:21:17 +0000 Subject: [PATCH] make the execute process better --- util/epist/screen.cc | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/util/epist/screen.cc b/util/epist/screen.cc index e91685a8..1dc32f02 100644 --- a/util/epist/screen.cc +++ b/util/epist/screen.cc @@ -455,21 +455,13 @@ void screen::updateActiveWindow() { void screen::execCommand(const string &cmd) const { pid_t pid; if ((pid = fork()) == 0) { - extern char **environ; - - char *const argv[] = { - "sh", - "-c", - const_cast(cmd.c_str()), - 0 - }; // make the command run on the correct screen if (putenv(const_cast(_info->displayString().c_str()))) { cout << "warning: couldn't set environment variable 'DISPLAY'\n"; perror("putenv()"); } - execve("/bin/sh", argv, environ); - exit(127); + execl("/bin/sh", "sh", "-c", cmd.c_str(), NULL); + exit(-1); } else if (pid == -1) { cout << _epist->getApplicationName() << ": Could not fork a process for executing a command\n"; -- 2.45.2