Mercurial > cpython-lru_cache-weakref
diff Python/dynload_next.c @ 28060:fb79cc2630c1 2.2
Partial backport of 2.11: better error messages on import failures.
Fixes #652590.
| author | Jack Jansen <jack.jansen@cwi.nl> |
|---|---|
| date | Tue, 25 Feb 2003 14:20:44 +0000 |
| parents | 28f4cea209d7 |
| children |
line wrap: on
line diff
--- a/Python/dynload_next.c Tue Feb 25 14:19:07 2003 +0000 +++ b/Python/dynload_next.c Tue Feb 25 14:20:44 2003 +0000 @@ -120,6 +120,7 @@ NSModule newModule; NSSymbol theSym; const char *errString; + char errBuf[512]; if (NSIsSymbolNameDefined(funcname)) { theSym = NSLookupAndBindSymbol(funcname); @@ -150,8 +151,15 @@ if (errString == NULL) { newModule = NSLinkModule(image, pathname, NSLINKMODULE_OPTION_BINDNOW|NSLINKMODULE_OPTION_RETURN_ON_ERROR); - if (!newModule) - errString = "Failure linking new module"; + if (newModule == NULL) { + int errNo; + char *fileName, *moreErrorStr; + NSLinkEditErrors c; + NSLinkEditError( &c, &errNo, &fileName, &moreErrorStr ); + PyOS_snprintf(errBuf, 512, "Failure linking new module: %s: %s", + fileName, moreErrorStr); + errString = errBuf; + } } if (errString != NULL) { PyErr_SetString(PyExc_ImportError, errString);
