Fix SysStringByteLen to really return the length in bytes.
This commit is contained in:
parent
9b6082f0a3
commit
5d83a6576e
|
@ -303,7 +303,18 @@ int WINAPI SysStringLen(BSTR str)
|
||||||
*/
|
*/
|
||||||
int WINAPI SysStringByteLen(BSTR str)
|
int WINAPI SysStringByteLen(BSTR str)
|
||||||
{
|
{
|
||||||
return SysStringLen(str)*sizeof(WCHAR);
|
DWORD* bufferPointer;
|
||||||
|
|
||||||
|
if (!str) return 0;
|
||||||
|
/*
|
||||||
|
* The length of the string (in bytes) is contained in a DWORD placed
|
||||||
|
* just before the BSTR pointer
|
||||||
|
*/
|
||||||
|
bufferPointer = (DWORD*)str;
|
||||||
|
|
||||||
|
bufferPointer--;
|
||||||
|
|
||||||
|
return (int)(*bufferPointer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
|
|
Loading…
Reference in New Issue