exewrapper: report name of failed DLL in error message
authorAdrian Buehlmann <adrian@cadifra.com>
Wed, 14 Oct 2015 12:22:09 +0200
changeset 26662 d215def59c3b
parent 26661 2b955fec91e0
child 26663 fa6858be3c61
exewrapper: report name of failed DLL in error message This uses C string literal concatenation. Example output: $ hg version abort: failed to load Python DLL python27.dll Note that HGPYTHONLIB does not contain the trailing .dll, which works here because the documentation of LoadLibrary [1] says, that if no file name extension is specified in the filename parameter, the default library extension .dll is appended. See [2] for a motivation of this change. [1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms684175(v=vs.85).aspx [2] https://selenic.com/pipermail/mercurial/2015-August/048627.html
mercurial/exewrapper.c
--- a/mercurial/exewrapper.c	Tue Oct 13 00:16:25 2015 +0200
+++ b/mercurial/exewrapper.c	Wed Oct 14 12:22:09 2015 +0200
@@ -106,7 +106,7 @@
 	if (pydll == NULL) {
 		pydll = LoadLibrary(HGPYTHONLIB);
 		if (pydll == NULL) {
-			err = "failed to load Python DLL";
+			err = "failed to load Python DLL " HGPYTHONLIB ".dll";
 			goto bail;
 		}
 	}