From e2b5967ae3f0cdb2833f2ecc425966da9d4db10b Mon Sep 17 00:00:00 2001 From: giraffedata Date: Sat, 19 Dec 2009 03:27:40 +0000 Subject: Fix pm_system* error message when execvp() fails git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@1058 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- lib/libsystem.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/libsystem.c') diff --git a/lib/libsystem.c b/lib/libsystem.c index 4581aa66..31c23bf6 100644 --- a/lib/libsystem.c +++ b/lib/libsystem.c @@ -49,11 +49,12 @@ execProgram(const char * const progName, -----------------------------------------------------------------------------*/ int stdinSaveFd, stdoutSaveFd; int rc; + int execErrno; /* Make stdinFd Standard Input. Make stdoutFd Standard Output. */ - stdinSaveFd = dup(STDIN); + stdinSaveFd = dup(STDIN); stdoutSaveFd = dup(STDOUT); close(STDIN); @@ -64,6 +65,8 @@ execProgram(const char * const progName, rc = execvp(progName, (char **)argArray); + execErrno = errno; + close(STDIN); close(STDOUT); dup2(stdinSaveFd, STDIN); @@ -75,7 +78,7 @@ execProgram(const char * const progName, pm_error("Unable to exec '%s' " "(i.e. the program did not run at all). " "execvp() errno=%d (%s)", - progName, errno, strerror(errno)); + progName, execErrno, strerror(execErrno)); else pm_error("INTERNAL ERROR. execvp() returns, but does not fail."); } -- cgit 1.4.1