- Windows: When trying to load a module (DLL) windows can give us the

mysterious error 'The specified module could not be found' even though the
  file exists. This usually means that it depends on another DLL, but
  apparently Microsoft decided not to mention that in the error message.
  We now append some small text when such an error happens, saying that it
  could be because of a missing dependency. Reported by Phil.
This commit is contained in:
Bram Matthys 2010-11-17 18:25:56 +00:00
parent 28c19679b2
commit 07b2fbb35e
2 changed files with 10 additions and 0 deletions

View file

@ -2222,3 +2222,9 @@
- Added set::options::allow-insane-bans which makes it possible to set
really broad bans such as *@*.xx. Needless to say this can be very
dangerous. Reported and patch provided by Stealth (#0003963).
- Windows: When trying to load a module (DLL) windows can give us the
mysterious error 'The specified module could not be found' even though the
file exists. This usually means that it depends on another DLL, but
apparently Microsoft decided not to mention that in the error message.
We now append some small text when such an error happens, saying that it
could be because of a missing dependency. Reported by Phil.

View file

@ -1754,6 +1754,10 @@ const char *our_dlerror(void)
DWORD err = GetLastError();
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS, NULL, err,
0, errbuf, 512, NULL);
if (err == 126)) /* FIXME: find the correct code for 126 */
strlcat(errbuf, " This could be because the DLL depends on another DLL, for example if you "
"are trying to load a 3rd party module which was compiled with a different compiler version.",
sizeof(errbuf));
return errbuf;
}
#endif