FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python/Python/dynload_os2.c at master · java66liu/python · GitHub
java66liu
/
python
Public
forked from
glix/python
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python
/
Python
/
dynload_os2.c
Copy path
More file actions
More file actions
Latest commit
History
History
History
46 lines (37 loc) · 1020 Bytes
Breadcrumbs
python
/
Python
/
dynload_os2.c
Copy path
File metadata and controls
46 lines (37 loc) · 1020 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* 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
;
}
Back
|
FazBrowse Home
|
New Git URL