From db8955bc54459f00825fcc66581cb3fd2e5a3648 Mon Sep 17 00:00:00 2001 From: Hye-Shik Chang Date: Fri, 21 Apr 2006 16:28:34 +0000 Subject: [PATCH] Backport p3yk r45619: Add empty __init__ methods for stateful multibytecodec instances. This resolves a problem found by Thomas Wouters: http://mail.python.org/pipermail/python-dev/2006-April/064051.html --- Modules/cjkcodecs/multibytecodec.c | 32 ++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/Modules/cjkcodecs/multibytecodec.c b/Modules/cjkcodecs/multibytecodec.c index 340de180e04..aa0096aeb3c 100644 --- a/Modules/cjkcodecs/multibytecodec.c +++ b/Modules/cjkcodecs/multibytecodec.c @@ -926,6 +926,12 @@ errorexit: return NULL; } +static int +mbiencoder_init(PyObject *self, PyObject *args, PyObject *kwds) +{ + return 0; +} + static int mbiencoder_traverse(MultibyteIncrementalEncoderObject *self, visitproc visit, void *arg) @@ -982,7 +988,7 @@ static PyTypeObject MultibyteIncrementalEncoder_Type = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - 0, /* tp_init */ + mbiencoder_init, /* tp_init */ 0, /* tp_alloc */ mbiencoder_new, /* tp_new */ }; @@ -1121,6 +1127,12 @@ errorexit: return NULL; } +static int +mbidecoder_init(PyObject *self, PyObject *args, PyObject *kwds) +{ + return 0; +} + static int mbidecoder_traverse(MultibyteIncrementalDecoderObject *self, visitproc visit, void *arg) @@ -1177,7 +1189,7 @@ static PyTypeObject MultibyteIncrementalDecoder_Type = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - 0, /* tp_init */ + mbidecoder_init, /* tp_init */ 0, /* tp_alloc */ mbidecoder_new, /* tp_new */ }; @@ -1426,6 +1438,12 @@ errorexit: return NULL; } +static int +mbstreamreader_init(PyObject *self, PyObject *args, PyObject *kwds) +{ + return 0; +} + static int mbstreamreader_traverse(MultibyteStreamReaderObject *self, visitproc visit, void *arg) @@ -1484,7 +1502,7 @@ static PyTypeObject MultibyteStreamReader_Type = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - 0, /* tp_init */ + mbstreamreader_init, /* tp_init */ 0, /* tp_alloc */ mbstreamreader_new, /* tp_new */ }; @@ -1631,6 +1649,12 @@ errorexit: return NULL; } +static int +mbstreamwriter_init(PyObject *self, PyObject *args, PyObject *kwds) +{ + return 0; +} + static int mbstreamwriter_traverse(MultibyteStreamWriterObject *self, visitproc visit, void *arg) @@ -1706,7 +1730,7 @@ static PyTypeObject MultibyteStreamWriter_Type = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - 0, /* tp_init */ + mbstreamwriter_init, /* tp_init */ 0, /* tp_alloc */ mbstreamwriter_new, /* tp_new */ };