[Python-checkins] CVS: python/dist/src/Python dynload_next.c,2.11,2.12
Jack Jansen
jackjansen@users.sourceforge.net
Fri, 01 Feb 2002 14:24:58 -0800
Update of /cvsroot/python/python/dist/src/Python
In directory usw-pr-cvs1:/tmp/cvs-serv4181
Modified Files:
dynload_next.c
Log Message:
Got rid of an extra level of {} and funny formatting that was still
there because of the NeXT history.
Index: dynload_next.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/dynload_next.c,v
retrieving revision 2.11
retrieving revision 2.12
diff -C2 -d -r2.11 -r2.12
*** dynload_next.c 2002/02/01 16:01:05 2.11
--- dynload_next.c 2002/02/01 22:24:56 2.12
***************
*** 37,117 ****
dl_funcptr p = NULL;
char funcname[258];
PyOS_snprintf(funcname, sizeof(funcname), "_init%.200s", shortname);
- {
- NSObjectFileImageReturnCode rc;
- NSObjectFileImage image;
- NSModule newModule;
- NSSymbol theSym;
- const char *errString;
- char errBuf[512];
-
#ifdef USE_DYLD_GLOBAL_NAMESPACE
! if (NSIsSymbolNameDefined(funcname)) {
! theSym = NSLookupAndBindSymbol(funcname);
! p = (dl_funcptr)NSAddressOfSymbol(theSym);
! return p;
! }
#endif
! rc = NSCreateObjectFileImageFromFile(pathname, &image);
! switch(rc) {
! default:
! case NSObjectFileImageFailure:
! case NSObjectFileImageFormat:
/* for these a message is printed on stderr by dyld */
errString = "Can't create object file image";
! break;
! case NSObjectFileImageSuccess:
errString = NULL;
break;
! case NSObjectFileImageInappropriateFile:
errString = "Inappropriate file type for dynamic loading";
break;
! case NSObjectFileImageArch:
errString = "Wrong CPU type in object file";
break;
! case NSObjectFileImageAccess:
errString = "Can't read object file (no access)";
break;
! }
! if (errString == NULL) {
! newModule = NSLinkModule(image, pathname, LINKOPTIONS);
! 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);
! return NULL;
}
#ifdef USE_DYLD_GLOBAL_NAMESPACE
! if (!NSIsSymbolNameDefined(funcname)) {
! /* UnlinkModule() isn't implemented in current versions, but calling it does no harm */
! NSUnLinkModule(newModule, FALSE);
! PyErr_Format(PyExc_ImportError,
! "Loaded module does not contain symbol %.200s",
! funcname);
! return NULL;
! }
! theSym = NSLookupAndBindSymbol(funcname);
#else
! theSym = NSLookupSymbolInModule(newModule, funcname);
! if ( theSym == NULL ) {
! NSUnLinkModule(newModule, FALSE);
! PyErr_Format(PyExc_ImportError,
! "Loaded module does not contain symbol %.200s",
! funcname);
! return NULL;
! }
! #endif
! p = (dl_funcptr)NSAddressOfSymbol(theSym);
}
return p;
--- 37,115 ----
dl_funcptr p = NULL;
char funcname[258];
+ NSObjectFileImageReturnCode rc;
+ NSObjectFileImage image;
+ NSModule newModule;
+ NSSymbol theSym;
+ const char *errString;
+ char errBuf[512];
PyOS_snprintf(funcname, sizeof(funcname), "_init%.200s", shortname);
#ifdef USE_DYLD_GLOBAL_NAMESPACE
! if (NSIsSymbolNameDefined(funcname)) {
! theSym = NSLookupAndBindSymbol(funcname);
! p = (dl_funcptr)NSAddressOfSymbol(theSym);
! return p;
! }
#endif
! rc = NSCreateObjectFileImageFromFile(pathname, &image);
! switch(rc) {
! default:
! case NSObjectFileImageFailure:
! case NSObjectFileImageFormat:
/* for these a message is printed on stderr by dyld */
errString = "Can't create object file image";
! break;
! case NSObjectFileImageSuccess:
errString = NULL;
break;
! case NSObjectFileImageInappropriateFile:
errString = "Inappropriate file type for dynamic loading";
break;
! case NSObjectFileImageArch:
errString = "Wrong CPU type in object file";
break;
! case NSObjectFileImageAccess:
errString = "Can't read object file (no access)";
break;
! }
! if (errString == NULL) {
! newModule = NSLinkModule(image, pathname, LINKOPTIONS);
! 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);
+ return NULL;
+ }
#ifdef USE_DYLD_GLOBAL_NAMESPACE
! if (!NSIsSymbolNameDefined(funcname)) {
! /* UnlinkModule() isn't implemented in current versions, but calling it does no harm */
! NSUnLinkModule(newModule, FALSE);
! PyErr_Format(PyExc_ImportError,
! "Loaded module does not contain symbol %.200s",
! funcname);
! return NULL;
! }
! theSym = NSLookupAndBindSymbol(funcname);
#else
! theSym = NSLookupSymbolInModule(newModule, funcname);
! if ( theSym == NULL ) {
! NSUnLinkModule(newModule, FALSE);
! PyErr_Format(PyExc_ImportError,
! "Loaded module does not contain symbol %.200s",
! funcname);
! return NULL;
}
+ #endif
+ p = (dl_funcptr)NSAddressOfSymbol(theSym);
+ }
return p;