PyThread_type_lock lock;
} Decompressor;
+#define Compressor_CAST(op) ((Compressor *)(op))
+#define Decompressor_CAST(op) ((Decompressor *)(op))
+
/* Helper functions. */
static int
}
static void
-Compressor_dealloc(Compressor *self)
+Compressor_dealloc(PyObject *op)
{
+ Compressor *self = Compressor_CAST(op);
lzma_end(&self->lzs);
if (self->lock != NULL) {
PyThread_free_lock(self->lock);
}
PyTypeObject *tp = Py_TYPE(self);
- tp->tp_free((PyObject *)self);
+ tp->tp_free(self);
Py_DECREF(tp);
}
};
static int
-Compressor_traverse(Compressor *self, visitproc visit, void *arg)
+Compressor_traverse(PyObject *self, visitproc visit, void *arg)
{
Py_VISIT(Py_TYPE(self));
return 0;
}
static void
-Decompressor_dealloc(Decompressor *self)
+Decompressor_dealloc(PyObject *op)
{
+ Decompressor *self = Decompressor_CAST(op);
if(self->input_buffer != NULL)
PyMem_Free(self->input_buffer);
PyThread_free_lock(self->lock);
}
PyTypeObject *tp = Py_TYPE(self);
- tp->tp_free((PyObject *)self);
+ tp->tp_free(self);
Py_DECREF(tp);
}
static int
-Decompressor_traverse(Decompressor *self, visitproc visit, void *arg)
+Decompressor_traverse(PyObject *self, visitproc visit, void *arg)
{
Py_VISIT(Py_TYPE(self));
return 0;
static void
lzma_free(void *module)
{
- lzma_clear((PyObject *)module);
+ (void)lzma_clear((PyObject *)module);
}
static PyModuleDef _lzmamodule = {