Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 13247bf

Browse files
committed
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
1 parent 6da4856 commit 13247bf

1 file changed

Lines changed: 28 additions & 4 deletions

File tree

Modules/cjkcodecs/multibytecodec.c

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -926,6 +926,12 @@ mbiencoder_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
926926
return NULL;
927927
}
928928

929+
static int
930+
mbiencoder_init(PyObject *self, PyObject *args, PyObject *kwds)
931+
{
932+
return 0;
933+
}
934+
929935
static int
930936
mbiencoder_traverse(MultibyteIncrementalEncoderObject *self,
931937
visitproc visit, void *arg)
@@ -982,7 +988,7 @@ static PyTypeObject MultibyteIncrementalEncoder_Type = {
982988
0, /* tp_descr_get */
983989
0, /* tp_descr_set */
984990
0, /* tp_dictoffset */
985-
0, /* tp_init */
991+
mbiencoder_init, /* tp_init */
986992
0, /* tp_alloc */
987993
mbiencoder_new, /* tp_new */
988994
};
@@ -1121,6 +1127,12 @@ mbidecoder_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
11211127
return NULL;
11221128
}
11231129

1130+
static int
1131+
mbidecoder_init(PyObject *self, PyObject *args, PyObject *kwds)
1132+
{
1133+
return 0;
1134+
}
1135+
11241136
static int
11251137
mbidecoder_traverse(MultibyteIncrementalDecoderObject *self,
11261138
visitproc visit, void *arg)
@@ -1177,7 +1189,7 @@ static PyTypeObject MultibyteIncrementalDecoder_Type = {
11771189
0, /* tp_descr_get */
11781190
0, /* tp_descr_set */
11791191
0, /* tp_dictoffset */
1180-
0, /* tp_init */
1192+
mbidecoder_init, /* tp_init */
11811193
0, /* tp_alloc */
11821194
mbidecoder_new, /* tp_new */
11831195
};
@@ -1426,6 +1438,12 @@ mbstreamreader_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
14261438
return NULL;
14271439
}
14281440

1441+
static int
1442+
mbstreamreader_init(PyObject *self, PyObject *args, PyObject *kwds)
1443+
{
1444+
return 0;
1445+
}
1446+
14291447
static int
14301448
mbstreamreader_traverse(MultibyteStreamReaderObject *self,
14311449
visitproc visit, void *arg)
@@ -1484,7 +1502,7 @@ static PyTypeObject MultibyteStreamReader_Type = {
14841502
0, /* tp_descr_get */
14851503
0, /* tp_descr_set */
14861504
0, /* tp_dictoffset */
1487-
0, /* tp_init */
1505+
mbstreamreader_init, /* tp_init */
14881506
0, /* tp_alloc */
14891507
mbstreamreader_new, /* tp_new */
14901508
};
@@ -1631,6 +1649,12 @@ mbstreamwriter_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
16311649
return NULL;
16321650
}
16331651

1652+
static int
1653+
mbstreamwriter_init(PyObject *self, PyObject *args, PyObject *kwds)
1654+
{
1655+
return 0;
1656+
}
1657+
16341658
static int
16351659
mbstreamwriter_traverse(MultibyteStreamWriterObject *self,
16361660
visitproc visit, void *arg)
@@ -1706,7 +1730,7 @@ static PyTypeObject MultibyteStreamWriter_Type = {
17061730
0, /* tp_descr_get */
17071731
0, /* tp_descr_set */
17081732
0, /* tp_dictoffset */
1709-
0, /* tp_init */
1733+
mbstreamwriter_init, /* tp_init */
17101734
0, /* tp_alloc */
17111735
mbstreamwriter_new, /* tp_new */
17121736
};

0 commit comments

Comments
 (0)