Mercurial > cpython-lru_cache-weakref
diff Python/bltinmodule.c @ 18292:ffbb9c918ac0 legacy-trunk
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.
| author | Martin v. Löwis <martin@v.loewis.de> |
|---|---|
| date | Tue, 26 Jun 2001 22:22:37 +0000 |
| parents | f38923ce3c6b |
| children | 932903c7d054 |
line wrap: on
line diff
--- a/Python/bltinmodule.c Tue Jun 26 21:53:25 2001 +0000 +++ b/Python/bltinmodule.c Tue Jun 26 22:22:37 2001 +0000 @@ -324,12 +324,16 @@ 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[] =
