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);
|