Module: wine Branch: master Commit: bc3a5bad0f791986bfa41432e222e62b8a2e5f8d URL: http://source.winehq.org/git/wine.git/?a=commit;h=bc3a5bad0f791986bfa41432e2...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Jan 21 12:40:57 2008 +0100
libwine: Properly increment source pointer for surrogates in wine_utf8_wcstombs.
Spotted by Ken Thomases.
---
libs/wine/utf8.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/libs/wine/utf8.c b/libs/wine/utf8.c index 14cdb9d..fcbbeb0 100644 --- a/libs/wine/utf8.c +++ b/libs/wine/utf8.c @@ -82,7 +82,11 @@ static inline int get_length_wcs_utf8( int flags, const WCHAR *src, unsigned int if (val < 0x10000) /* 0x800-0xffff: 3 bytes */ len += 3; else /* 0x10000-0x10ffff: 4 bytes */ + { len += 4; + src++; + srclen--; + } } return len; } @@ -144,6 +148,8 @@ int wine_utf8_wcstombs( int flags, const WCHAR *src, int srclen, char *dst, int val >>= 6; dst[0] = 0xf0 | val; dst += 4; + src++; + srclen--; } } return dstlen - len;