[KoCo-CVS] [Commit] cjkcodecs/src _euc_kr.c multibytecodec.c
Brought to you by:
perky
From: Hye-Shik C. <pe...@us...> - 2003-05-19 06:32:18
|
perky 03/05/18 23:32:17 Modified: src _euc_kr.c multibytecodec.c Log: Enable error callbacks and fix codec typos. Revision Changes Path 1.2 +3 -3 cjkcodecs/src/_euc_kr.c Index: _euc_kr.c =================================================================== RCS file: /cvsroot/koco/cjkcodecs/src/_euc_kr.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- _euc_kr.c 19 May 2003 06:06:38 -0000 1.1 +++ _euc_kr.c 19 May 2003 06:32:17 -0000 1.2 @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $Id: _euc_kr.c,v 1.1 2003/05/19 06:06:38 perky Exp $ + * $Id: _euc_kr.c,v 1.2 2003/05/19 06:32:17 perky Exp $ */ #include "Python.h" @@ -62,9 +62,9 @@ clow = c & 0xff; if (map->map == NULL || clow < map->bottom || clow > map->top || (code = map->map[clow - map->bottom]) == UNIINV) - return 2; + return 1; if (code & 0x8000) /* MSB set: CP949 */ - return 2; + return 1; (*outbuf)[0] = (code >> 8) | 0x80; (*outbuf)[1] = (code & 0xFF) | 0x80; 1.4 +7 -19 cjkcodecs/src/multibytecodec.c Index: multibytecodec.c =================================================================== RCS file: /cvsroot/koco/cjkcodecs/src/multibytecodec.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- multibytecodec.c 19 May 2003 06:06:38 -0000 1.3 +++ multibytecodec.c 19 May 2003 06:32:17 -0000 1.4 @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $Id: multibytecodec.c,v 1.3 2003/05/19 06:06:38 perky Exp $ + * $Id: multibytecodec.c,v 1.4 2003/05/19 06:32:17 perky Exp $ */ #include "Python.h" @@ -49,6 +49,9 @@ static char *kwarglist[] = {"input", "errors", NULL}; +static PyObject *multibytecodec_encode(PyMultibyteCodec *, + PyMultibyteCodec_State *, const Py_UNICODE *, int, PyObject *); + static PyObject * make_tuple(PyObject *unicode, int len) { @@ -162,7 +165,7 @@ *buf->outbuf++ = '?'; } } - if (errors == ERROR_IGNORE) { + if (errors == ERROR_IGNORE || errors == ERROR_REPLACE) { buf->inbuf += esize; return 0; } @@ -191,7 +194,6 @@ goto errorexit; } -#if 0 argsobj = PyTuple_New(1); if (argsobj == NULL) goto errorexit; @@ -211,8 +213,8 @@ goto errorexit; } - retstr = multibytecodec_encode(self, ic, PyUnicode_AS_UNICODE(tobj), - PyUnicode_GET_SIZE(tobj), ERROR_STRICT, 0); + retstr = multibytecodec_encode(codec, state, PyUnicode_AS_UNICODE(tobj), + PyUnicode_GET_SIZE(tobj), ERROR_STRICT); if (retstr == NULL) goto errorexit; @@ -230,25 +232,11 @@ "position %d from error handler out of bounds", newpos); goto errorexit; } - switch (self->unitype) { - case UNIINTERNAL_UTF_8: - if (newpos >= start) /* buf->rinbuf is at 'start' position now */ - buf->rinbuf = skipchars_utf8(buf->rinbuf, newpos - start); - else - buf->rinbuf = skipchars_utf8(buf->rinbuf_top, newpos); - break; - case UNIINTERNAL_UCS_SWAPPED: - buf->rinbuf = buf->rinbuf_top + newpos * Py_UNICODE_SIZE; - break; - default: - break; - } buf->inbuf = buf->inbuf_top + newpos; Py_DECREF(retobj); Py_DECREF(retstr); return 0; -#endif errorexit: Py_XDECREF(retobj); |