|
| From: | Markus Armbruster |
| Subject: | Re: [Qemu-devel] [PATCH 28/56] json: Fix \uXXXX for surrogate pairs |
| Date: | Mon, 13 Aug 2018 09:12:34 +0200 |
| User-agent: | Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Paolo Bonzini <address@hidden> writes:
> 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?
Certainly not. I'll fix it. Thanks!
| [Prev in Thread] | Current Thread | [Next in Thread] |