summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2001-06-26 23:12:25 (GMT)
committerGuido van Rossum <guido@python.org>2001-06-26 23:12:25 (GMT)
commit236d8b79748fec890d57ad0dd99ea3f1c3ba57df (patch)
treeb3bc91c83678cfe36dd672d787dafd04c303f7d8
parent9b14ab367a2e6de589593be6b9bea6f688c17d60 (diff)
downloadcpython-236d8b79748fec890d57ad0dd99ea3f1c3ba57df.zip
cpython-236d8b79748fec890d57ad0dd99ea3f1c3ba57df.tar.gz
cpython-236d8b79748fec890d57ad0dd99ea3f1c3ba57df.tar.bz2
Cosmetic changes to MvL's change to unichr():
- 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.)
-rw-r--r--Python/bltinmodule.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index cb4a257..8917f45 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -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[] =