From: Dana Jansens Date: Fri, 26 Jul 2002 09:21:17 +0000 (+0000) Subject: make the execute process better X-Git-Url: https://git.brokenzipper.com/gitweb?a=commitdiff_plain;h=d7bf31c5b5e449aab104da8ed7844b1023fa5d46;p=chaz%2Fopenbox make the execute process better --- 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";