From 5bc07d2bce68708893c65b42a317b4e3c24570d0 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 29 Oct 2010 17:20:42 +0000 Subject: Check if ErrMsg is null. This fixes the "not" command. llvm-svn: 117666 --- llvm/lib/System/Unix/Program.inc | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'llvm/lib/System/Unix/Program.inc') diff --git a/llvm/lib/System/Unix/Program.inc b/llvm/lib/System/Unix/Program.inc index b92d080bab4..86d9b2a1d9a 100644 --- a/llvm/lib/System/Unix/Program.inc +++ b/llvm/lib/System/Unix/Program.inc @@ -359,24 +359,29 @@ Program::Wait(const sys::Path &path, result = 126; #endif if (result == 127) { - *ErrMsg = llvm::sys::StrError(ENOENT); + if (ErrMsg) + *ErrMsg = llvm::sys::StrError(ENOENT); return -1; } if (result == 126) { - *ErrMsg = "Program could not be executed"; + if (ErrMsg) + *ErrMsg = "Program could not be executed"; return -1; } } else if (WIFSIGNALED(status)) { - *ErrMsg = strsignal(WTERMSIG(status)); + if (ErrMsg) { + *ErrMsg = strsignal(WTERMSIG(status)); #ifdef WCOREDUMP - if (WCOREDUMP(status)) - *ErrMsg += " (core dumped)"; + if (WCOREDUMP(status)) + *ErrMsg += " (core dumped)"; #endif + } return -1; } return result; #else - *ErrMsg = "Program::Wait is not implemented on this platform yet!"; + if (ErrMsg) + *ErrMsg = "Program::Wait is not implemented on this platform yet!"; return -1; #endif } -- cgit v1.2.3