Commit c7f8e71a authored by Ken Thomases's avatar Ken Thomases Committed by Alexandre Julliard

winemac: Fix some bytes-vs-WCHARs length computation bugs in the UTF-16 clipboard support.

parent 0153a962
......@@ -1007,7 +1007,7 @@ static HANDLE import_utf16_to_unicodetext(CFDataRef data)
HANDLE unicode_handle;
src = (const WCHAR *)CFDataGetBytePtr(data);
data_len = CFDataGetLength(data);
data_len = CFDataGetLength(data) / sizeof(WCHAR);
for (i = 0; i < data_len; i++)
{
if (src[i] == '\n')
......@@ -1358,13 +1358,13 @@ static CFDataRef export_unicodetext_to_utf16(HANDLE data)
dst_len = GlobalSize(data) / sizeof(WCHAR);
if (dst_len) dst_len--; /* Leave off null terminator. */
ret = CFDataCreateMutable(NULL, dst_len);
ret = CFDataCreateMutable(NULL, dst_len * sizeof(WCHAR));
if (ret)
{
LPWSTR dst;
int i, j;
CFDataSetLength(ret, dst_len);
CFDataSetLength(ret, dst_len * sizeof(WCHAR));
dst = (LPWSTR)CFDataGetMutableBytePtr(ret);
/* Remove carriage returns */
......@@ -1375,7 +1375,7 @@ static CFDataRef export_unicodetext_to_utf16(HANDLE data)
continue;
dst[j++] = src[i];
}
CFDataSetLength(ret, j);
CFDataSetLength(ret, j * sizeof(WCHAR));
}
GlobalUnlock(data);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment