Mercurial > cpython-lru_cache-weakref
view Python/dynload_os2.c @ 50640:368df0060740 3.0
Blocked revisions 68417 via svnmerge
................
r68417 | tarek.ziade | 2009-01-09 01:15:45 +0100 (Fri, 09 Jan 2009) | 9 lines
Merged revisions 68415 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r68415 | tarek.ziade | 2009-01-09 00:56:31 +0100 (Fri, 09 Jan 2009) | 1 line
fixed #4394 make the storage of the password optional in .pypirc
........
................
| author | Tarek Ziadé <ziade.tarek@gmail.com> |
|---|---|
| date | Fri, 09 Jan 2009 00:17:40 +0000 |
| parents | 94f64f11fdd0 |
| children | cab14be0ada1 |
line wrap: on
line source
/* Support for dynamic loading of extension modules */ #define INCL_DOSERRORS #define INCL_DOSMODULEMGR #include <os2.h> #include "Python.h" #include "importdl.h" const struct filedescr _PyImport_DynLoadFiletab[] = { {".pyd", "rb", C_EXTENSION}, {".dll", "rb", C_EXTENSION}, {0, 0} }; dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname, const char *pathname, FILE *fp) { dl_funcptr p; APIRET rc; HMODULE hDLL; char failreason[256]; char funcname[258]; rc = DosLoadModule(failreason, sizeof(failreason), pathname, &hDLL); if (rc != NO_ERROR) { char errBuf[256]; PyOS_snprintf(errBuf, sizeof(errBuf), "DLL load failed, rc = %d: %.200s", rc, failreason); PyErr_SetString(PyExc_ImportError, errBuf); return NULL; } PyOS_snprintf(funcname, sizeof(funcname), "PyInit_%.200s", shortname); rc = DosQueryProcAddr(hDLL, 0L, funcname, &p); if (rc != NO_ERROR) p = NULL; /* Signify Failure to Acquire Entrypoint */ return p; }
