cinap_lenrekadd hg and python4bb9e2215 years agoHistory
46 lines · 1020 B · C
RawDownload
 /* 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), "init%.200s", shortname);	rc = DosQueryProcAddr(hDLL, 0L, funcname, &p);	if (rc != NO_ERROR)		p = NULL; /* Signify Failure to Acquire Entrypoint */	return p;}