On 08/08/2018 14:03, Markus Armbruster wrote: > + if (cp >= 0xD800 && cp <= 0xDBFF && !leading_surrogate > + && ptr[1] == '\\' && ptr[2] == 'u') { > + ptr += 2; > + leading_surrogate = cp; > + goto hex; > + } > + if (cp >= 0xDC00 && cp <= 0xDFFF && leading_surrogate) { > + cp &= 0x3FF; > + cp |= (leading_surrogate & 0x3FF) << 10; > + cp += 0x010000; > + } > +
The leading surrogate is discarded for \uD800\uCAFE, I think. Is this desired? Paolo