Hello,
Attached 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.
Hope this helps,
Julien
--
Julien Lerouge
PGP Key Id: 0xB1964A62
PGP Fingerprint: 392D 4BAD DB8B CE7F 4E5F FA3C 62DB 4AA7 B196 4A62
PGP Public Key from: keyserver.pgp.com
-------------- next part --------------
Index: lib/System/DynamicLibrary.cpp
==================================================================---
lib/System/DynamicLibrary.cpp (revision 48244)
+++ lib/System/DynamicLibrary.cpp (working copy)
@@ -63,7 +63,8 @@
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);