summaryrefslogtreecommitdiffstats
path: root/Objects/unicodeobject.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2012-10-30 00:42:39 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2012-10-30 00:42:39 (GMT)
commit76df43de30f40b5cc1de9d36a5a083dd8bd8cb27 (patch)
treebe245b62c632a103851fa69d447e8d89e3ac782f /Objects/unicodeobject.c
parenta5e7cd06bb314f338eff3e2ef948ef35bed4487b (diff)
downloadcpython-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.c7
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;
}