[Python-checkins] cpython: charmap encoders uses Py_UCS4, not Py_UNICODE

victor.stinner python-checkins at python.org
Sun Nov 20 22:53:18 CET 2011


http://hg.python.org/cpython/rev/0045a2d1506a
changeset:   73629:0045a2d1506a
parent:      73626:f1cafe6f7834
user:        Victor Stinner <victor.stinner at haypocalc.com>
date:        Sun Nov 20 17:09:18 2011 +0100
summary:
  charmap encoders uses Py_UCS4, not Py_UNICODE

files:
  Objects/unicodeobject.c |  11 ++++-------
  1 files changed, 4 insertions(+), 7 deletions(-)


diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -7934,7 +7934,7 @@
 }
 
 static int
-encoding_map_lookup(Py_UNICODE c, PyObject *mapping)
+encoding_map_lookup(Py_UCS4 c, PyObject *mapping)
 {
     struct encoding_map *map = (struct encoding_map*)mapping;
     int l1 = c>>11;
@@ -7942,11 +7942,8 @@
     int l3 = c & 0x7F;
     int i;
 
-#ifdef Py_UNICODE_WIDE
-    if (c > 0xFFFF) {
+    if (c > 0xFFFF)
         return -1;
-    }
-#endif
     if (c == 0)
         return 0;
     /* level 1*/
@@ -7971,7 +7968,7 @@
    can't be found, Py_None is returned (or NULL, if another
    error occurred). */
 static PyObject *
-charmapencode_lookup(Py_UNICODE c, PyObject *mapping)
+charmapencode_lookup(Py_UCS4 c, PyObject *mapping)
 {
     PyObject *w = PyLong_FromLong((long)c);
     PyObject *x;
@@ -8036,7 +8033,7 @@
    (in which case no character was written) or NULL, if a
    reallocation error occurred. The caller must decref the result */
 static charmapencode_result
-charmapencode_output(Py_UNICODE c, PyObject *mapping,
+charmapencode_output(Py_UCS4 c, PyObject *mapping,
                      PyObject **outobj, Py_ssize_t *outpos)
 {
     PyObject *rep;

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list