Mercurial > emacs
comparison src/coding.c @ 89842:b5f22f538c1f
(decode_coding_utf_16): Fix handling of surrogate pare.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Thu, 04 Mar 2004 07:49:18 +0000 |
parents | a53cb5864a40 |
children | 3edfa038a435 |
comparison
equal
deleted
inserted
replaced
89841:dba335b3b492 | 89842:b5f22f538c1f |
---|---|
1493 } | 1493 } |
1494 else | 1494 else |
1495 { | 1495 { |
1496 c = ((surrogate - 0xD800) << 10) | (c - 0xDC00); | 1496 c = ((surrogate - 0xD800) << 10) | (c - 0xDC00); |
1497 CODING_UTF_16_SURROGATE (coding) = surrogate = 0; | 1497 CODING_UTF_16_SURROGATE (coding) = surrogate = 0; |
1498 *charbuf++ = c; | 1498 *charbuf++ = 0x10000 + c; |
1499 } | 1499 } |
1500 } | 1500 } |
1501 else | 1501 else |
1502 { | 1502 { |
1503 if (UTF_16_HIGH_SURROGATE_P (c)) | 1503 if (UTF_16_HIGH_SURROGATE_P (c)) |