summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_typesmodule.c93
-rw-r--r--Modules/config.c.in4
-rw-r--r--Modules/zlibmodule.c4
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;