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[] =