]> granicus.if.org Git - python/commitdiff
Cosmetic changes to MvL's change to unichr():
authorGuido van Rossum <guido@python.org>
Tue, 26 Jun 2001 23:12:25 +0000 (23:12 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 26 Jun 2001 23:12:25 +0000 (23:12 +0000)
- the correct range for the error message is range(0x110000);

- put the 4-byte Unicode-size code inside the same else branch as the
  2-byte code, rather generating unreachable code in the 2-byte case.

- Don't hide the 'else' behine the '}'.

(I would prefer that in 4-byte mode, any value should be accepted, but
reasonable people can argue about that, so I'll put that off.)

Python/bltinmodule.c

index cb4a2574f32892a93cc4511004fd9838a02d28df..8917f450efcc8db2b0879df614397ec9937a4915 100644 (file)
@@ -315,7 +315,7 @@ builtin_unichr(PyObject *self, PyObject *args)
 
        if (x < 0 || x > 0x10ffff) {
                PyErr_SetString(PyExc_ValueError,
-                               "unichr() arg not in range(0x10ffff)");
+                               "unichr() arg not in range(0x110000)");
                return NULL;
        }
 
@@ -323,17 +323,19 @@ builtin_unichr(PyObject *self, PyObject *args)
                /* UCS-2 character */
                s[0] = (Py_UNICODE) x;
                return PyUnicode_FromUnicode(s, 1);
-       } else {
+       }
+       else {
 #if Py_UNICODE_SIZE == 2
                /* UCS-4 character.  store as two surrogate characters */
                x -= 0x10000L;
                s[0] = 0xD800 + (Py_UNICODE) (x >> 10);
                s[1] = 0xDC00 + (Py_UNICODE) (x & 0x03FF);
                return PyUnicode_FromUnicode(s, 2);
+#else
+               s[0] = (Py_UNICODE)x;
+               return PyUnicode_FromUnicode(s, 1);
 #endif
        }
-       s[0] = (Py_UNICODE)x;
-       return PyUnicode_FromUnicode(s, 1);
 }
 
 static char unichr_doc[] =