diff options
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_typesmodule.c | 93 | ||||
-rw-r--r-- | Modules/config.c.in | 4 | ||||
-rw-r--r-- | Modules/zlibmodule.c | 4 |
3 files changed, 4 insertions, 97 deletions
diff --git a/Modules/_typesmodule.c b/Modules/_typesmodule.c deleted file mode 100644 index e925664..0000000 --- a/Modules/_typesmodule.c +++ /dev/null @@ -1,93 +0,0 @@ -/* This extension module exposes some types that are only available at the - * C level. It should not be used directly, but instead through the Python - * level types modules, which imports this. - */ - -#include "Python.h" -#include "structmember.h" - -typedef struct -{ - PyObject_HEAD - int member; -} Helper; - -static PyMemberDef helper_members[] = { - { "member", T_INT, offsetof(Helper, member), READONLY, - PyDoc_STR("A member descriptor") - }, - { NULL } -}; - -static PyObject * -helper_getter(Helper *self, void *unused) -{ - Py_RETURN_NONE; -} - -static PyGetSetDef helper_getset[] = { - { "getter", (getter)helper_getter, NULL, - PyDoc_STR("A getset descriptor"), - }, - { NULL } -}; - -static PyTypeObject HelperType = { - PyVarObject_HEAD_INIT(NULL, 0) - "_types.Helper", /* tp_name */ - sizeof(Helper), /* tp_basicsize */ - 0, /* tp_itemsize */ - 0, /* tp_dealloc */ - 0, /* tp_print */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_compare */ - 0, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT, /* tp_flags */ - 0, /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - helper_members, /* tp_members */ - helper_getset, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - 0, /* tp_new */ - 0, /* tp_free */ -}; - -PyMODINIT_FUNC -init_types(void) -{ - PyObject *m; - - m = Py_InitModule3("_types", NULL, "A types module helper"); - if (!m) - return; - - if (PyType_Ready(&HelperType) < 0) - return; - - Py_INCREF(&HelperType); - PyModule_AddObject(m, "Helper", (PyObject *)&HelperType); -} - - diff --git a/Modules/config.c.in b/Modules/config.c.in index a5658f5..17b700f 100644 --- a/Modules/config.c.in +++ b/Modules/config.c.in @@ -28,7 +28,6 @@ extern void PyMarshal_Init(void); extern void initimp(void); extern void initgc(void); extern void init_ast(void); -extern void init_types(void); struct _inittab _PyImport_Inittab[] = { @@ -43,9 +42,6 @@ struct _inittab _PyImport_Inittab[] = { /* This lives in Python/Python-ast.c */ {"_ast", init_ast}, - /* This lives in Modules/_typesmodule.c */ - {"_types", init_types}, - /* These entries are here for sys.builtin_module_names */ {"__main__", NULL}, {"builtins", NULL}, diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c index 24efb00..4d941af 100644 --- a/Modules/zlibmodule.c +++ b/Modules/zlibmodule.c @@ -794,6 +794,10 @@ PyZlib_unflush(compobject *self, PyObject *args) if (!PyArg_ParseTuple(args, "|i:flush", &length)) return NULL; + if (length <= 0) { + PyErr_SetString(PyExc_ValueError, "length must be greater than zero"); + return NULL; + } if (!(retval = PyBytes_FromStringAndSize(NULL, length))) return NULL; |