diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2012-10-30 00:42:39 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2012-10-30 00:42:39 (GMT) |
commit | 76df43de30f40b5cc1de9d36a5a083dd8bd8cb27 (patch) | |
tree | be245b62c632a103851fa69d447e8d89e3ac782f /Objects/unicodeobject.c | |
parent | a5e7cd06bb314f338eff3e2ef948ef35bed4487b (diff) | |
download | cpython-76df43de30f40b5cc1de9d36a5a083dd8bd8cb27.zip cpython-76df43de30f40b5cc1de9d36a5a083dd8bd8cb27.tar.gz cpython-76df43de30f40b5cc1de9d36a5a083dd8bd8cb27.tar.bz2 |
Issue #16330: Use surrogate-related macros
Patch written by Serhiy Storchaka.
Diffstat (limited to 'Objects/unicodeobject.c')
-rw-r--r-- | Objects/unicodeobject.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 0a3712e..3e2e8e3 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -4412,7 +4412,7 @@ encode_char: /* code first surrogate */ base64bits += 16; - base64buffer = (base64buffer << 16) | 0xd800 | ((ch-0x10000) >> 10); + base64buffer = (base64buffer << 16) | Py_UNICODE_HIGH_SURROGATE(ch); while (base64bits >= 6) { *out++ = TO_BASE64(base64buffer >> (base64bits-6)); base64bits -= 6; @@ -7052,9 +7052,8 @@ encode_code_page_errors(UINT code_page, PyObject **outbytes, charsize = 1; } else { - ch -= 0x10000; - chars[0] = 0xd800 + (ch >> 10); - chars[1] = 0xdc00 + (ch & 0x3ff); + chars[0] = Py_UNICODE_HIGH_SURROGATE(ch); + chars[1] = Py_UNICODE_LOW_SURROGATE(ch); charsize = 2; } |