diff options
author | Dan Gohman <gohman@apple.com> | 2010-10-29 17:20:42 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-10-29 17:20:42 +0000 |
commit | 3545635a606206232da80a4c18862fa3e06b9e4f (patch) | |
tree | 01056c26421be7130802c11d0aa60b7d9bbca2c2 /lib/System/Unix/Program.inc | |
parent | c4633160465325ec001fe9beb97aac0a5e2a43f6 (diff) |
Check if ErrMsg is null. This fixes the "not" command.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117666 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/System/Unix/Program.inc')
-rw-r--r-- | lib/System/Unix/Program.inc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/System/Unix/Program.inc b/lib/System/Unix/Program.inc index b92d080bab..86d9b2a1d9 100644 --- a/lib/System/Unix/Program.inc +++ b/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 } |