]> pd.if.org Git - pdclib.old/commitdiff
PDCLIB-2 c16rtomb never cleared _Surrogate
authorOwen Shepherd <owen.shepherd@e43.eu>
Tue, 23 Apr 2013 17:56:38 +0000 (18:56 +0100)
committerOwen Shepherd <owen.shepherd@e43.eu>
Tue, 23 Apr 2013 17:56:38 +0000 (18:56 +0100)
functions/uchar/c16rtomb.c

index e8f1de780597eb44d4e0b3c6a4356e9bd89f5ba6..6e3a27cfd5add2eef9dfe50d11a855b8fe43433e 100644 (file)
@@ -58,6 +58,7 @@ size_t c16rtomb_l(
             if((c16 & 0xFC00) == 0xDC00) {\r
                 // Trailing surrogate\r
                 char32_t c32 = (ps->_Surrogate & 0x3FF) << 10 | (c16 & 0x3FF);\r
+                ps->_Surrogate = 0;\r
                 return c32rtomb_l(s, c32, ps, l);\r
             } else {\r
                 // Not a trailing surrogate - encoding error\r