summaryrefslogtreecommitdiffstats
path: root/Doc/includes/sublist.c
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/includes/sublist.c')
-rw-r--r--Doc/includes/sublist.c69
1 files changed, 0 insertions, 69 deletions
diff --git a/Doc/includes/sublist.c b/Doc/includes/sublist.c
deleted file mode 100644
index b2c26e7..0000000
--- a/Doc/includes/sublist.c
+++ /dev/null
@@ -1,69 +0,0 @@
-#define PY_SSIZE_T_CLEAN
-#include <Python.h>
-
-typedef struct {
- PyListObject list;
- int state;
-} SubListObject;
-
-static PyObject *
-SubList_increment(SubListObject *self, PyObject *unused)
-{
- self->state++;
- return PyLong_FromLong(self->state);
-}
-
-static PyMethodDef SubList_methods[] = {
- {"increment", (PyCFunction) SubList_increment, METH_NOARGS,
- PyDoc_STR("increment state counter")},
- {NULL},
-};
-
-static int
-SubList_init(SubListObject *self, PyObject *args, PyObject *kwds)
-{
- if (PyList_Type.tp_init((PyObject *) self, args, kwds) < 0)
- return -1;
- self->state = 0;
- return 0;
-}
-
-static PyTypeObject SubListType = {
- PyVarObject_HEAD_INIT(NULL, 0)
- .tp_name = "sublist.SubList",
- .tp_doc = "SubList objects",
- .tp_basicsize = sizeof(SubListObject),
- .tp_itemsize = 0,
- .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_init = (initproc) SubList_init,
- .tp_methods = SubList_methods,
-};
-
-static PyModuleDef sublistmodule = {
- PyModuleDef_HEAD_INIT,
- .m_name = "sublist",
- .m_doc = "Example module that creates an extension type.",
- .m_size = -1,
-};
-
-PyMODINIT_FUNC
-PyInit_sublist(void)
-{
- PyObject *m;
- SubListType.tp_base = &PyList_Type;
- if (PyType_Ready(&SubListType) < 0)
- return NULL;
-
- m = PyModule_Create(&sublistmodule);
- if (m == NULL)
- return NULL;
-
- Py_INCREF(&SubListType);
- if (PyModule_AddObject(m, "SubList", (PyObject *) &SubListType) < 0) {
- Py_DECREF(&SubListType);
- Py_DECREF(m);
- return NULL;
- }
-
- return m;
-}