From 0ba70cc3c893f70cc9deb09447277539d7625403 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Tue, 26 Jun 2001 22:22:37 +0000 Subject: Support using UCS-4 as the Py_UNICODE type: Add configure option --enable-unicode. Add config.h macros Py_USING_UNICODE, PY_UNICODE_TYPE, Py_UNICODE_SIZE, SIZEOF_WCHAR_T. Define Py_UCS2. Encode and decode large UTF-8 characters into single Py_UNICODE values for wide Unicode types; likewise for UTF-16. Remove test whether sizeof Py_UNICODE is two. --- Python/bltinmodule.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Python/bltinmodule.c') diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index ed5519f257..cb4a2574f3 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -324,12 +324,16 @@ builtin_unichr(PyObject *self, PyObject *args) s[0] = (Py_UNICODE) x; return PyUnicode_FromUnicode(s, 1); } 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); +#endif } + s[0] = (Py_UNICODE)x; + return PyUnicode_FromUnicode(s, 1); } static char unichr_doc[] = -- cgit v1.2.1