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

Reply via email to