+++ /dev/null
-\r
-/* Support for dynamic loading of extension modules */\r
-\r
-#define INCL_DOSERRORS\r
-#define INCL_DOSMODULEMGR\r
-#include <os2.h>\r
-\r
-#include "Python.h"\r
-#include "importdl.h"\r
-\r
-\r
-const struct filedescr _PyImport_DynLoadFiletab[] = {\r
- {".pyd", "rb", C_EXTENSION},\r
- {".dll", "rb", C_EXTENSION},\r
- {0, 0}\r
-};\r
-\r
-dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname,\r
- const char *pathname, FILE *fp)\r
-{\r
- dl_funcptr p;\r
- APIRET rc;\r
- HMODULE hDLL;\r
- char failreason[256];\r
- char funcname[258];\r
-\r
- rc = DosLoadModule(failreason,\r
- sizeof(failreason),\r
- pathname,\r
- &hDLL);\r
-\r
- if (rc != NO_ERROR) {\r
- char errBuf[256];\r
- PyOS_snprintf(errBuf, sizeof(errBuf),\r
- "DLL load failed, rc = %d: %.200s",\r
- rc, failreason);\r
- PyErr_SetString(PyExc_ImportError, errBuf);\r
- return NULL;\r
- }\r
-\r
- PyOS_snprintf(funcname, sizeof(funcname), "init%.200s", shortname);\r
- rc = DosQueryProcAddr(hDLL, 0L, funcname, &p);\r
- if (rc != NO_ERROR)\r
- p = NULL; /* Signify Failure to Acquire Entrypoint */\r
- return p;\r
-}\r