ADVAPI32: Start test for service tests
Alexandre Julliard
julliard at winehq.org
Tue Jun 5 13:15:51 CDT 2007
"Rolf Kalbermatter" <r.kalbermatter at hccnet.nl> writes:
> Go figure. To me it seems they messed up with the conversion from Widechar to
> ASCII when needing to calculate the needed size. Unless they use some other
> function than WideCharToMultiByte() it couldn't be for avoiding an extra buffer
> allocation since WideCharToMultiByte() specifically states that the input and
> output buffer can not be the same pointer. Maybe that native NTDLL provides a
> lower level Unicode -> ASCII conversion that does allow for overlapping
> buffers.
No, returning twice the W size is the normal behavior when you don't
want to retrieve the full W text but only its length. Since each W
char can map to at most two A chars (at least with standard Windows
codepages) doubling the size is an upper bound on the A buffer size,
and doing it that way can avoid a lot of unnecessary work.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list