From d5f1627d2c6b96a3fc4dc3025043912fb7b00687 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 12 Mar 2008 00:50:01 +0000 Subject: This is a simple fix for getting error messages from dlerror in LoadLibraryPermanently. The current code modifies the value of a pointer that is passed by value, so the caller never gets the message. Patch by Julien Lerouge! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48270 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/System/DynamicLibrary.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/System/DynamicLibrary.cpp') diff --git a/lib/System/DynamicLibrary.cpp b/lib/System/DynamicLibrary.cpp index 9c52c8a..bdbcbd4 100644 --- a/lib/System/DynamicLibrary.cpp +++ b/lib/System/DynamicLibrary.cpp @@ -63,7 +63,8 @@ bool DynamicLibrary::LoadLibraryPermanently(const char *Filename, std::string *ErrMsg) { void *H = dlopen(Filename, RTLD_LAZY); if (H == 0) { - ErrMsg = new std::string(dlerror()); + if (ErrMsg) + *ErrMsg = dlerror(); return true; } OpenedHandles.push_back(H); -- cgit v1.1