Akihiro Sagawa <sagawa.aki(a)gmail.com> writes:
> @@ -3246,6 +3385,24 @@ INT WINAPI LCMapStringEx(LPCWSTR name, DWORD flags, LPCWSTR src, INT srclen, LPW
> goto done;
> }
>
> + if (flags & LCMAP_FULLWIDTH)
> + {
> + len = min(srclen, dstlen);
> + buffer = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
> + if (!buffer)
> + {
> + SetLastError(ERROR_NOT_ENOUGH_MEMORY);
> + return 0;
> + }
> + srclen = map_to_fullwidth(src, srclen, buffer, len);
> + if (!srclen)
> + {
> + HeapFree(GetProcessHeap(), 0, buffer);
> + return 0;
> + }
> + src = buffer;
> + }
It seems to me that you should be able to do this without allocating an
intermediate buffer.
--
Alexandre Julliard
julliard(a)winehq.org