diff options
| author | Benjamin Peterson <benjamin@python.org> | 2011-05-31 00:25:43 (GMT) |
|---|---|---|
| committer | Benjamin Peterson <benjamin@python.org> | 2011-05-31 00:25:43 (GMT) |
| commit | cccfd9932dcbf808ca3b3e2c494799dfab4ae074 (patch) | |
| tree | 287d56155899a1cd0b7f68eb581e792ee3e4b792 /Modules/cjkcodecs/multibytecodec.c | |
| parent | 15ac3110883c7f6e5cde5dd308baf178e666b985 (diff) | |
| parent | 1eb6d278a8139dda25efbe1b3509aac159bc54fd (diff) | |
| download | cpython-cccfd9932dcbf808ca3b3e2c494799dfab4ae074.zip cpython-cccfd9932dcbf808ca3b3e2c494799dfab4ae074.tar.gz cpython-cccfd9932dcbf808ca3b3e2c494799dfab4ae074.tar.bz2 | |
merge heads
Diffstat (limited to 'Modules/cjkcodecs/multibytecodec.c')
| -rw-r--r-- | Modules/cjkcodecs/multibytecodec.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Modules/cjkcodecs/multibytecodec.c b/Modules/cjkcodecs/multibytecodec.c index bb8176f..1b37845 100644 --- a/Modules/cjkcodecs/multibytecodec.c +++ b/Modules/cjkcodecs/multibytecodec.c @@ -901,11 +901,17 @@ mbiencoder_encode(MultibyteIncrementalEncoderObject *self, static PyObject * mbiencoder_reset(MultibyteIncrementalEncoderObject *self) { - if (self->codec->decreset != NULL && - self->codec->decreset(&self->state, self->codec->config) != 0) - return NULL; + /* Longest output: 4 bytes (b'\x0F\x1F(B') with ISO 2022 */ + unsigned char buffer[4], *outbuf; + Py_ssize_t r; + if (self->codec->encreset != NULL) { + outbuf = buffer; + r = self->codec->encreset(&self->state, self->codec->config, + &outbuf, sizeof(buffer)); + if (r != 0) + return NULL; + } self->pendingsize = 0; - Py_RETURN_NONE; } |
