mirror of
https://github.com/python/cpython.git
synced 2025-11-03 07:01:21 +00:00
30 lines
813 B
C
30 lines
813 B
C
|
|
// Workaround for testing _Py_OPAQUE_PYOBJECT.
|
||
|
|
// See end of 'extension.c'
|
||
|
|
|
||
|
|
|
||
|
|
#undef _Py_OPAQUE_PYOBJECT
|
||
|
|
#undef Py_LIMITED_API
|
||
|
|
#include "Python.h"
|
||
|
|
|
||
|
|
|
||
|
|
// (repeated definition to avoid creating a header)
|
||
|
|
extern PyObject *testcext_create_moduledef(
|
||
|
|
const char *name, const char *doc,
|
||
|
|
PyMethodDef *methods, PyModuleDef_Slot *slots);
|
||
|
|
|
||
|
|
PyObject *testcext_create_moduledef(
|
||
|
|
const char *name, const char *doc,
|
||
|
|
PyMethodDef *methods, PyModuleDef_Slot *slots) {
|
||
|
|
|
||
|
|
static struct PyModuleDef _testcext_module = {
|
||
|
|
PyModuleDef_HEAD_INIT,
|
||
|
|
};
|
||
|
|
if (!_testcext_module.m_name) {
|
||
|
|
_testcext_module.m_name = name;
|
||
|
|
_testcext_module.m_doc = doc;
|
||
|
|
_testcext_module.m_methods = methods;
|
||
|
|
_testcext_module.m_slots = slots;
|
||
|
|
}
|
||
|
|
return PyModuleDef_Init(&_testcext_module);
|
||
|
|
}
|