Core and Builtins
-----------------
-- Issue #17223: Fix PyUnicode_FromUnicode() on Windows (16-bit wchar_t type)
- to reject invalid UTF-16 surrogate.
-
- Issue #17032: The "global" in the "NameError: global name 'x' is not defined"
error message has been removed. Patch by Ram Rachum.
for (iter = begin; iter < end; ) {
#if SIZEOF_WCHAR_T == 2
- if (Py_UNICODE_IS_HIGH_SURROGATE(iter[0])) {
- if ((iter+1) < end
- && Py_UNICODE_IS_LOW_SURROGATE(iter[1]))
- {
- ch = Py_UNICODE_JOIN_SURROGATES(iter[0], iter[1]);
- ++(*num_surrogates);
- iter += 2;
- }
- else {
- PyErr_SetString(PyExc_ValueError, "illegal UTF-16 surrogate");
- return -1;
- }
+ if (Py_UNICODE_IS_HIGH_SURROGATE(iter[0])
+ && (iter+1) < end
+ && Py_UNICODE_IS_LOW_SURROGATE(iter[1]))
+ {
+ ch = Py_UNICODE_JOIN_SURROGATES(iter[0], iter[1]);
+ ++(*num_surrogates);
+ iter += 2;
}
else
#endif