]> granicus.if.org Git - python/commitdiff
Backport p3yk r45619:
authorHye-Shik Chang <hyeshik@gmail.com>
Fri, 21 Apr 2006 16:28:34 +0000 (16:28 +0000)
committerHye-Shik Chang <hyeshik@gmail.com>
Fri, 21 Apr 2006 16:28:34 +0000 (16:28 +0000)
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

index 340de180e04652ec380a6ef24ec34f7709d98a82..aa0096aeb3cecf94dc8e71c987a6d68ca5e997dd 100644 (file)
@@ -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 */
 };