Hin-Tak Leung htl10@users.sourceforge.net writes:
This is the fix to bug 8246 to get HtmlHelpW to work correctly. It was first worked on by Andrey Turkin and updated later by me.
Please add a proper log entry describing the change.
-static inline LPWSTR strdupAtoW(LPCSTR str) +static inline LPWSTR strdupnAtoW(LPCSTR str, LONG l) { LPWSTR ret; DWORD len;
BOOL zero_pad;
if(!str) return NULL;
- len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
- if (l>0)
- {
LONG i;
zero_pad = TRUE;
for (i=0;i<l;i++)
{
if (!str[i])
{
zero_pad = FALSE;
l = i+1;
break;
}
}
- } else {
zero_pad = FALSE;
- }
- len = MultiByteToWideChar(CP_ACP, 0, str, l, NULL, 0);
- if (zero_pad)
len++;
This is ugly and unnecessary, MultiByteToWideChar handles embedded nulls just fine.