diff options
author | Guido van Rossum <guido@python.org> | 2001-06-26 23:12:25 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2001-06-26 23:12:25 (GMT) |
commit | 236d8b79748fec890d57ad0dd99ea3f1c3ba57df (patch) | |
tree | b3bc91c83678cfe36dd672d787dafd04c303f7d8 /Python | |
parent | 9b14ab367a2e6de589593be6b9bea6f688c17d60 (diff) | |
download | cpython-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.)
Diffstat (limited to 'Python')
-rw-r--r-- | Python/bltinmodule.c | 10 |
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[] = |