summaryrefslogtreecommitdiff
path: root/lib/System
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-10-29 17:20:42 +0000
committerDan Gohman <gohman@apple.com>2010-10-29 17:20:42 +0000
commit3545635a606206232da80a4c18862fa3e06b9e4f (patch)
tree01056c26421be7130802c11d0aa60b7d9bbca2c2 /lib/System
parentc4633160465325ec001fe9beb97aac0a5e2a43f6 (diff)
downloadllvm-3545635a606206232da80a4c18862fa3e06b9e4f.tar.gz
llvm-3545635a606206232da80a4c18862fa3e06b9e4f.tar.bz2
llvm-3545635a606206232da80a4c18862fa3e06b9e4f.tar.xz
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')
-rw-r--r--lib/System/Unix/Program.inc17
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
}