Cleanup patches from Greg Stein:
* in import.c, #ifdef out references to dynamic loading based on
HAVE_DYNAMIC_LOADING
* clean out the platform-specific crud from importdl.c.
[ maybe fold this function into import.c and drop the importdl.c file? Greg.]
* change GetDynLoadFunc's "funcname" parameter to "shortname". change
"name" to "fqname" for clarification.
* each GetDynLoadFunc now creates its own funcname value.
WARNING: as I mentioned previously, we may run into an issue with a
missing "_" on some platforms. Testing will show this pretty quickly,
however.
* move pathname munging into dynload_shlib.c
diff --git a/Python/dynload_mac.c b/Python/dynload_mac.c
index 9161995..58c57d5 100644
--- a/Python/dynload_mac.c
+++ b/Python/dynload_mac.c
@@ -59,10 +59,11 @@
};
-dl_funcptr _PyImport_GetDynLoadFunc(const char *name, const char *funcname,
+dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname,
const char *pathname, FILE *fp)
{
dl_funcptr p;
+ char funcname[258];
/*
** Dynamic loading of CFM shared libraries on the Mac. The
@@ -121,6 +122,7 @@
return NULL;
}
/* Locate the address of the correct init function */
+ sprintf(funcname, "init%.200s", shortname);
err = FindSymbol(connID, Pstring(funcname), &symAddr, &class);
if ( err ) {
sprintf(buf, "%s: %.200s",