The last argument to MultiByteToWideChar is wide character count and
not the buffer size in bytes. Fixed all places where it was wrong.
This commit is contained in:
parent
db62ddec4d
commit
bd7ec9aca5
|
@ -579,7 +579,7 @@ INT WINAPI AddMRUStringA(HANDLE hList, LPCSTR lpszString)
|
||||||
if (!stringW)
|
if (!stringW)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
MultiByteToWideChar(CP_ACP, 0, lpszString, -1, stringW, len);
|
MultiByteToWideChar(CP_ACP, 0, lpszString, -1, stringW, len/sizeof(WCHAR));
|
||||||
ret = AddMRUData(hList, stringW, len);
|
ret = AddMRUData(hList, stringW, len);
|
||||||
Free(stringW);
|
Free(stringW);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -2161,7 +2161,7 @@ static void PROPSHEET_SetTitleA(HWND hwndDlg, DWORD dwStyle, LPCSTR lpszText)
|
||||||
{
|
{
|
||||||
WCHAR szTitle[256];
|
WCHAR szTitle[256];
|
||||||
MultiByteToWideChar(CP_ACP, 0, lpszText, -1,
|
MultiByteToWideChar(CP_ACP, 0, lpszText, -1,
|
||||||
szTitle, sizeof(szTitle));
|
szTitle, sizeof(szTitle)/sizeof(WCHAR));
|
||||||
PROPSHEET_SetTitleW(hwndDlg, dwStyle, szTitle);
|
PROPSHEET_SetTitleW(hwndDlg, dwStyle, szTitle);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -6483,23 +6483,24 @@ static LRESULT TOOLBAR_TTGetDispInfo (TOOLBAR_INFO *infoPtr, NMTTDISPINFOW *lpnm
|
||||||
|
|
||||||
TRACE("TBN_GETINFOTIPA - got string %s\n", debugstr_a(tbgit.pszText));
|
TRACE("TBN_GETINFOTIPA - got string %s\n", debugstr_a(tbgit.pszText));
|
||||||
|
|
||||||
len = -1 + MultiByteToWideChar(CP_ACP, 0, tbgit.pszText, -1, NULL, 0);
|
len = MultiByteToWideChar(CP_ACP, 0, tbgit.pszText, -1, NULL, 0);
|
||||||
if (len > sizeof(lpnmtdi->szText)/sizeof(lpnmtdi->szText[0])-1)
|
if (len > sizeof(lpnmtdi->szText)/sizeof(lpnmtdi->szText[0]))
|
||||||
{
|
{
|
||||||
/* need to allocate temporary buffer in infoPtr as there
|
/* need to allocate temporary buffer in infoPtr as there
|
||||||
* isn't enough space in buffer passed to us by the
|
* isn't enough space in buffer passed to us by the
|
||||||
* tooltip control */
|
* tooltip control */
|
||||||
infoPtr->pszTooltipText = Alloc((len+1)*sizeof(WCHAR));
|
infoPtr->pszTooltipText = Alloc(len*sizeof(WCHAR));
|
||||||
if (infoPtr->pszTooltipText)
|
if (infoPtr->pszTooltipText)
|
||||||
{
|
{
|
||||||
MultiByteToWideChar(CP_ACP, 0, tbgit.pszText, len+1, infoPtr->pszTooltipText, (len+1)*sizeof(WCHAR));
|
MultiByteToWideChar(CP_ACP, 0, tbgit.pszText, -1, infoPtr->pszTooltipText, len);
|
||||||
lpnmtdi->lpszText = infoPtr->pszTooltipText;
|
lpnmtdi->lpszText = infoPtr->pszTooltipText;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (len > 0)
|
else if (len > 0)
|
||||||
{
|
{
|
||||||
MultiByteToWideChar(CP_ACP, 0, tbgit.pszText, len+1, lpnmtdi->lpszText, (len+1)*sizeof(WCHAR));
|
MultiByteToWideChar(CP_ACP, 0, tbgit.pszText, -1,
|
||||||
|
lpnmtdi->lpszText, sizeof(lpnmtdi->szText)/sizeof(lpnmtdi->szText[0]));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -775,8 +775,8 @@ TREEVIEW_UpdateDispInfo(TREEVIEW_INFO *infoPtr, TREEVIEW_ITEM *wineItem,
|
||||||
wineItem->pszText = newText;
|
wineItem->pszText = newText;
|
||||||
MultiByteToWideChar( CP_ACP, 0,
|
MultiByteToWideChar( CP_ACP, 0,
|
||||||
(LPSTR)callback.item.pszText, -1,
|
(LPSTR)callback.item.pszText, -1,
|
||||||
wineItem->pszText, buflen);
|
wineItem->pszText, buflen/sizeof(WCHAR));
|
||||||
wineItem->cchTextMax = buflen;
|
wineItem->cchTextMax = buflen/sizeof(WCHAR);
|
||||||
}
|
}
|
||||||
/* If ReAlloc fails we have nothing to do, but keep original text */
|
/* If ReAlloc fails we have nothing to do, but keep original text */
|
||||||
}
|
}
|
||||||
|
@ -818,8 +818,8 @@ TREEVIEW_UpdateDispInfo(TREEVIEW_INFO *infoPtr, TREEVIEW_ITEM *wineItem,
|
||||||
wineItem->pszText = newText;
|
wineItem->pszText = newText;
|
||||||
MultiByteToWideChar( CP_ACP, 0,
|
MultiByteToWideChar( CP_ACP, 0,
|
||||||
(LPSTR)callback.item.pszText, -1,
|
(LPSTR)callback.item.pszText, -1,
|
||||||
wineItem->pszText, buflen);
|
wineItem->pszText, buflen/sizeof(WCHAR));
|
||||||
wineItem->cchTextMax = buflen;
|
wineItem->cchTextMax = buflen/sizeof(WCHAR);
|
||||||
if (oldText)
|
if (oldText)
|
||||||
Free(oldText);
|
Free(oldText);
|
||||||
}
|
}
|
||||||
|
|
|
@ -407,7 +407,7 @@ static void dump_modules(struct dump_context* dc, BOOL dump_elf)
|
||||||
if (sizeof(ULONG) + ms->Length > sizeof(tmp))
|
if (sizeof(ULONG) + ms->Length > sizeof(tmp))
|
||||||
FIXME("Buffer overflow!!!\n");
|
FIXME("Buffer overflow!!!\n");
|
||||||
MultiByteToWideChar(CP_ACP, 0, dc->module[i].name, -1,
|
MultiByteToWideChar(CP_ACP, 0, dc->module[i].name, -1,
|
||||||
ms->Buffer, ms->Length);
|
ms->Buffer, ms->Length/sizeof(WCHAR));
|
||||||
|
|
||||||
if (dc->cb)
|
if (dc->cb)
|
||||||
{
|
{
|
||||||
|
|
|
@ -903,7 +903,7 @@ HRESULT linuxinput_get_info_W(
|
||||||
|
|
||||||
/* yes, this is windows behavior (print the GUID_Name for name) */
|
/* yes, this is windows behavior (print the GUID_Name for name) */
|
||||||
MultiByteToWideChar(CP_ACP, 0, _dump_dinput_GUID(rguid), -1,
|
MultiByteToWideChar(CP_ACP, 0, _dump_dinput_GUID(rguid), -1,
|
||||||
(WCHAR*)&(info->tszName), sizeof(WCHAR) * MAX_PATH);
|
(WCHAR*)&(info->tszName), MAX_PATH);
|
||||||
|
|
||||||
return DI_OK;
|
return DI_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1088,8 +1088,8 @@ static HRESULT WINAPI DSPROPERTY_Enumerate1(
|
||||||
lstrcpynA(data.DescriptionA, desc.szDesc, sizeof(data.DescriptionA));
|
lstrcpynA(data.DescriptionA, desc.szDesc, sizeof(data.DescriptionA));
|
||||||
lstrcpynA(data.ModuleA, desc.szDrvname, sizeof(data.ModuleA));
|
lstrcpynA(data.ModuleA, desc.szDrvname, sizeof(data.ModuleA));
|
||||||
|
|
||||||
MultiByteToWideChar( CP_ACP, 0, data.DescriptionA, -1, data.DescriptionW, sizeof(data.DescriptionW) );
|
MultiByteToWideChar( CP_ACP, 0, data.DescriptionA, -1, data.DescriptionW, sizeof(data.DescriptionW)/sizeof(WCHAR) );
|
||||||
MultiByteToWideChar( CP_ACP, 0, data.ModuleA, -1, data.ModuleW, sizeof(data.ModuleW) );
|
MultiByteToWideChar( CP_ACP, 0, data.ModuleA, -1, data.ModuleW, sizeof(data.ModuleW)/sizeof(WCHAR) );
|
||||||
|
|
||||||
data.Type = DIRECTSOUNDDEVICE_TYPE_EMULATED;
|
data.Type = DIRECTSOUNDDEVICE_TYPE_EMULATED;
|
||||||
err = mmErr(waveOutMessage((HWAVEOUT)wod, DRV_QUERYDSOUNDIFACE, (DWORD_PTR)&drv, 0));
|
err = mmErr(waveOutMessage((HWAVEOUT)wod, DRV_QUERYDSOUNDIFACE, (DWORD_PTR)&drv, 0));
|
||||||
|
@ -1115,8 +1115,8 @@ static HRESULT WINAPI DSPROPERTY_Enumerate1(
|
||||||
lstrcpynA(data.DescriptionA, desc.szDesc, sizeof(data.DescriptionA));
|
lstrcpynA(data.DescriptionA, desc.szDesc, sizeof(data.DescriptionA));
|
||||||
lstrcpynA(data.ModuleA, desc.szDrvname, sizeof(data.ModuleA));
|
lstrcpynA(data.ModuleA, desc.szDrvname, sizeof(data.ModuleA));
|
||||||
|
|
||||||
MultiByteToWideChar( CP_ACP, 0, data.DescriptionA, -1, data.DescriptionW, sizeof(data.DescriptionW) );
|
MultiByteToWideChar( CP_ACP, 0, data.DescriptionA, -1, data.DescriptionW, sizeof(data.DescriptionW)/sizeof(WCHAR) );
|
||||||
MultiByteToWideChar( CP_ACP, 0, data.ModuleA, -1, data.ModuleW, sizeof(data.ModuleW) );
|
MultiByteToWideChar( CP_ACP, 0, data.ModuleA, -1, data.ModuleW, sizeof(data.ModuleW)/sizeof(WCHAR) );
|
||||||
|
|
||||||
data.Type = DIRECTSOUNDDEVICE_TYPE_EMULATED;
|
data.Type = DIRECTSOUNDDEVICE_TYPE_EMULATED;
|
||||||
err = mmErr(waveInMessage((HWAVEIN)wid, DRV_QUERYDSOUNDIFACE, (DWORD_PTR)&drv, 0));
|
err = mmErr(waveInMessage((HWAVEIN)wid, DRV_QUERYDSOUNDIFACE, (DWORD_PTR)&drv, 0));
|
||||||
|
|
|
@ -848,7 +848,7 @@ static void LoadReplaceList(void)
|
||||||
&dlen) == ERROR_SUCCESS) {
|
&dlen) == ERROR_SUCCESS) {
|
||||||
TRACE("Got %s=%s\n", debugstr_a(value), debugstr_a(data));
|
TRACE("Got %s=%s\n", debugstr_a(value), debugstr_a(data));
|
||||||
/* "NewName"="Oldname" */
|
/* "NewName"="Oldname" */
|
||||||
if(!MultiByteToWideChar(CP_ACP, 0, data, -1, old_nameW, sizeof(old_nameW)))
|
if(!MultiByteToWideChar(CP_ACP, 0, data, -1, old_nameW, sizeof(old_nameW)/sizeof(WCHAR)))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* Find the old family and hence all of the font files
|
/* Find the old family and hence all of the font files
|
||||||
|
@ -3075,7 +3075,7 @@ UINT WineEngGetOutlineTextMetrics(GdiFont font, UINT cbSize,
|
||||||
* sizeof(WCHAR);
|
* sizeof(WCHAR);
|
||||||
style_nameW = HeapAlloc(GetProcessHeap(), 0, lensty);
|
style_nameW = HeapAlloc(GetProcessHeap(), 0, lensty);
|
||||||
MultiByteToWideChar(CP_ACP, 0, ft_face->style_name, -1,
|
MultiByteToWideChar(CP_ACP, 0, ft_face->style_name, -1,
|
||||||
style_nameW, lensty);
|
style_nameW, lensty/sizeof(WCHAR));
|
||||||
|
|
||||||
/* These names should be read from the TT name table */
|
/* These names should be read from the TT name table */
|
||||||
|
|
||||||
|
|
|
@ -625,7 +625,7 @@ static HRESULT (WINAPI *pVarParseNumFromStr)(OLECHAR*,LCID,ULONG,NUMPARSE*,BYTE*
|
||||||
|
|
||||||
/* Macros for converting and testing the result of VarParseNumFromStr */
|
/* Macros for converting and testing the result of VarParseNumFromStr */
|
||||||
#define FAILDIG 255
|
#define FAILDIG 255
|
||||||
#define CONVERTN(str,dig,flags) MultiByteToWideChar(CP_ACP,0,str,-1,buff,sizeof(buff)); \
|
#define CONVERTN(str,dig,flags) MultiByteToWideChar(CP_ACP,0,str,-1,buff,sizeof(buff)/sizeof(WCHAR)); \
|
||||||
memset(rgb, FAILDIG, sizeof(rgb)); memset(&np,-1,sizeof(np)); np.cDig = dig; np.dwInFlags = flags; \
|
memset(rgb, FAILDIG, sizeof(rgb)); memset(&np,-1,sizeof(np)); np.cDig = dig; np.dwInFlags = flags; \
|
||||||
hres = pVarParseNumFromStr(buff,lcid,LOCALE_NOUSEROVERRIDE,&np,rgb)
|
hres = pVarParseNumFromStr(buff,lcid,LOCALE_NOUSEROVERRIDE,&np,rgb)
|
||||||
#define CONVERT(str,flags) CONVERTN(str,sizeof(rgb),flags)
|
#define CONVERT(str,flags) CONVERTN(str,sizeof(rgb),flags)
|
||||||
|
|
|
@ -121,7 +121,7 @@ static HMODULE hOleaut32;
|
||||||
|
|
||||||
#define CONVERT_STR(func,str,flags) \
|
#define CONVERT_STR(func,str,flags) \
|
||||||
SetLastError(0); \
|
SetLastError(0); \
|
||||||
if (str) MultiByteToWideChar(CP_ACP,0,str,-1,buff,sizeof(buff)); \
|
if (str) MultiByteToWideChar(CP_ACP,0,str,-1,buff,sizeof(buff)/sizeof(WCHAR)); \
|
||||||
hres = p##func(str ? buff : NULL,in,flags,&out)
|
hres = p##func(str ? buff : NULL,in,flags,&out)
|
||||||
|
|
||||||
#define COPYTEST(val, vt, srcval, dstval, srcref, dstref, fs) do { \
|
#define COPYTEST(val, vt, srcval, dstval, srcref, dstref, fs) do { \
|
||||||
|
@ -3249,7 +3249,7 @@ static void test_VarDateFromDec(void)
|
||||||
|
|
||||||
#define DFS(str) \
|
#define DFS(str) \
|
||||||
buff[0] = '\0'; out = 0.0; \
|
buff[0] = '\0'; out = 0.0; \
|
||||||
if (str) MultiByteToWideChar(CP_ACP,0,str,-1,buff,sizeof(buff)); \
|
if (str) MultiByteToWideChar(CP_ACP,0,str,-1,buff,sizeof(buff)/sizeof(WCHAR)); \
|
||||||
hres = pVarDateFromStr(str ? buff : NULL,lcid,LOCALE_NOUSEROVERRIDE,&out)
|
hres = pVarDateFromStr(str ? buff : NULL,lcid,LOCALE_NOUSEROVERRIDE,&out)
|
||||||
|
|
||||||
#define MKRELDATE(day,mth) st.wMonth = mth; st.wDay = day; \
|
#define MKRELDATE(day,mth) st.wMonth = mth; st.wDay = day; \
|
||||||
|
|
|
@ -2755,7 +2755,7 @@ RTFFlushCPOutputBuffer(RTF_Info *info)
|
||||||
int length;
|
int length;
|
||||||
|
|
||||||
length = MultiByteToWideChar(info->codePage, 0, info->cpOutputBuffer,
|
length = MultiByteToWideChar(info->codePage, 0, info->cpOutputBuffer,
|
||||||
info->dwCPOutputCount, buffer, bufferMax);
|
info->dwCPOutputCount, buffer, bufferMax/sizeof(WCHAR));
|
||||||
info->dwCPOutputCount = 0;
|
info->dwCPOutputCount = 0;
|
||||||
|
|
||||||
RTFPutUnicodeString(info, buffer, length);
|
RTFPutUnicodeString(info, buffer, length);
|
||||||
|
|
|
@ -52,7 +52,7 @@ CHARFORMAT2W *ME_ToCF2W(CHARFORMAT2W *to, CHARFORMAT2W *from)
|
||||||
CopyMemory(to, f, sizeof(CHARFORMATA)-sizeof(f->szFaceName));
|
CopyMemory(to, f, sizeof(CHARFORMATA)-sizeof(f->szFaceName));
|
||||||
/* convert face name */
|
/* convert face name */
|
||||||
if (f->dwMask & CFM_FACE)
|
if (f->dwMask & CFM_FACE)
|
||||||
MultiByteToWideChar(0, 0, f->szFaceName, -1, to->szFaceName, sizeof(to->szFaceName));
|
MultiByteToWideChar(0, 0, f->szFaceName, -1, to->szFaceName, sizeof(to->szFaceName)/sizeof(WCHAR));
|
||||||
/* copy the rest of the 2A structure to 2W */
|
/* copy the rest of the 2A structure to 2W */
|
||||||
CopyMemory(1+((CHARFORMATW *)to), f+1, sizeof(CHARFORMAT2A)-sizeof(CHARFORMATA));
|
CopyMemory(1+((CHARFORMATW *)to), f+1, sizeof(CHARFORMAT2A)-sizeof(CHARFORMATA));
|
||||||
to->cbSize = sizeof(CHARFORMAT2W);
|
to->cbSize = sizeof(CHARFORMAT2W);
|
||||||
|
|
|
@ -620,7 +620,7 @@ static PSecPkgInfoW _copyPackageInfoFlatAToW(PSecPkgInfoA infoA)
|
||||||
{
|
{
|
||||||
ret->Comment = nextString;
|
ret->Comment = nextString;
|
||||||
MultiByteToWideChar(CP_ACP, 0, infoA->Comment, -1, nextString,
|
MultiByteToWideChar(CP_ACP, 0, infoA->Comment, -1, nextString,
|
||||||
nameLen);
|
commentLen);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ret->Comment = NULL;
|
ret->Comment = NULL;
|
||||||
|
|
|
@ -951,8 +951,7 @@ static struct inf_file *parse_file( HANDLE handle, const WCHAR *class, UINT *err
|
||||||
WCHAR *new_buff = HeapAlloc( GetProcessHeap(), 0, size * sizeof(WCHAR) );
|
WCHAR *new_buff = HeapAlloc( GetProcessHeap(), 0, size * sizeof(WCHAR) );
|
||||||
if (new_buff)
|
if (new_buff)
|
||||||
{
|
{
|
||||||
DWORD len = MultiByteToWideChar( CP_ACP, 0, buffer, size, new_buff,
|
DWORD len = MultiByteToWideChar( CP_ACP, 0, buffer, size, new_buff, size );
|
||||||
size * sizeof(WCHAR) );
|
|
||||||
err = parse_buffer( file, new_buff, new_buff + len, error_line );
|
err = parse_buffer( file, new_buff, new_buff + len, error_line );
|
||||||
HeapFree( GetProcessHeap(), 0, new_buff );
|
HeapFree( GetProcessHeap(), 0, new_buff );
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,7 +134,7 @@ LONG WINAPI SHRegOpenUSKeyW(LPCWSTR Path, REGSAM AccessType, HUSKEY hRelativeUSK
|
||||||
|
|
||||||
/* Create internal HUSKEY */
|
/* Create internal HUSKEY */
|
||||||
hKey = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*hKey));
|
hKey = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*hKey));
|
||||||
lstrcpynW(hKey->lpszPath, Path, sizeof(hKey->lpszPath));
|
lstrcpynW(hKey->lpszPath, Path, sizeof(hKey->lpszPath)/sizeof(WCHAR));
|
||||||
|
|
||||||
if (hRelativeUSKey)
|
if (hRelativeUSKey)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1810,7 +1810,7 @@ HRESULT WINAPI SHStrDupA(LPCSTR lpszStr, LPWSTR * lppszDest)
|
||||||
|
|
||||||
if (*lppszDest)
|
if (*lppszDest)
|
||||||
{
|
{
|
||||||
MultiByteToWideChar(0, 0, lpszStr, -1, *lppszDest, len);
|
MultiByteToWideChar(0, 0, lpszStr, -1, *lppszDest, len/sizeof(WCHAR));
|
||||||
hRet = S_OK;
|
hRet = S_OK;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -3452,7 +3452,7 @@ static WINMM_MapType MCI_UnMapMsg32WTo16(WORD uDevType, WORD wMsg, DWORD dwFlag
|
||||||
UnMapLS( lParam );
|
UnMapLS( lParam );
|
||||||
if (msip16) {
|
if (msip16) {
|
||||||
MultiByteToWideChar(CP_ACP, 0, MapSL(msip16->lpstrReturn), msip16->dwRetSize,
|
MultiByteToWideChar(CP_ACP, 0, MapSL(msip16->lpstrReturn), msip16->dwRetSize,
|
||||||
msip32w->lpstrReturn, msip32w->dwRetSize);
|
msip32w->lpstrReturn, msip32w->dwRetSize/sizeof(WCHAR));
|
||||||
UnMapLS( msip16->lpstrReturn );
|
UnMapLS( msip16->lpstrReturn );
|
||||||
HeapFree( GetProcessHeap(), 0, MapSL(msip16->lpstrReturn) );
|
HeapFree( GetProcessHeap(), 0, MapSL(msip16->lpstrReturn) );
|
||||||
HeapFree( GetProcessHeap(), 0, (char*)msip16 - sizeof(LPMCI_SYSINFO_PARMSW) );
|
HeapFree( GetProcessHeap(), 0, (char*)msip16 - sizeof(LPMCI_SYSINFO_PARMSW) );
|
||||||
|
|
|
@ -603,7 +603,7 @@ UINT WINAPI mixerGetLineInfoA(HMIXEROBJ hmix, LPMIXERLINEA lpmliA,
|
||||||
mliW.Target.wMid = lpmliA->Target.wMid;
|
mliW.Target.wMid = lpmliA->Target.wMid;
|
||||||
mliW.Target.wPid = lpmliA->Target.wPid;
|
mliW.Target.wPid = lpmliA->Target.wPid;
|
||||||
mliW.Target.vDriverVersion = lpmliA->Target.vDriverVersion;
|
mliW.Target.vDriverVersion = lpmliA->Target.vDriverVersion;
|
||||||
MultiByteToWideChar( CP_ACP, 0, lpmliA->Target.szPname, -1, mliW.Target.szPname, sizeof(mliW.Target.szPname));
|
MultiByteToWideChar( CP_ACP, 0, lpmliA->Target.szPname, -1, mliW.Target.szPname, sizeof(mliW.Target.szPname)/sizeof(WCHAR));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
WARN("Unsupported fdwControls=0x%08lx\n", fdwInfo);
|
WARN("Unsupported fdwControls=0x%08lx\n", fdwInfo);
|
||||||
|
|
|
@ -3082,7 +3082,7 @@ SOCKET WINAPI WSASocketA(int af, int type, int protocol,
|
||||||
|
|
||||||
memcpy(&info, lpProtocolInfo, FIELD_OFFSET(WSAPROTOCOL_INFOW, szProtocol));
|
memcpy(&info, lpProtocolInfo, FIELD_OFFSET(WSAPROTOCOL_INFOW, szProtocol));
|
||||||
len = MultiByteToWideChar(CP_ACP, 0, lpProtocolInfo->szProtocol, -1,
|
len = MultiByteToWideChar(CP_ACP, 0, lpProtocolInfo->szProtocol, -1,
|
||||||
info.szProtocol, WSAPROTOCOL_LEN * sizeof(WCHAR) + 1);
|
info.szProtocol, WSAPROTOCOL_LEN + 1);
|
||||||
|
|
||||||
if (!len)
|
if (!len)
|
||||||
{
|
{
|
||||||
|
|
|
@ -224,7 +224,7 @@ void X11DRV_XIMLookupChars( const char *str, DWORD count )
|
||||||
WCHAR wcOutput[64];
|
WCHAR wcOutput[64];
|
||||||
HWND focus;
|
HWND focus;
|
||||||
|
|
||||||
dwOutput = MultiByteToWideChar(CP_UNIXCP, 0, str, count, wcOutput, sizeof(wcOutput));
|
dwOutput = MultiByteToWideChar(CP_UNIXCP, 0, str, count, wcOutput, sizeof(wcOutput)/sizeof(WCHAR));
|
||||||
|
|
||||||
if (pImmAssociateContext && (focus = GetFocus()))
|
if (pImmAssociateContext && (focus = GetFocus()))
|
||||||
pImmAssociateContext(focus,root_context);
|
pImmAssociateContext(focus,root_context);
|
||||||
|
|
|
@ -994,7 +994,7 @@ int PASCAL WinMain (HINSTANCE hInstance, HINSTANCE prev, LPSTR cmdline, int show
|
||||||
{
|
{
|
||||||
WCHAR link[MAX_PATH];
|
WCHAR link[MAX_PATH];
|
||||||
|
|
||||||
MultiByteToWideChar( CP_ACP, 0, token, -1, link, sizeof(link) );
|
MultiByteToWideChar( CP_ACP, 0, token, -1, link, sizeof(link)/sizeof(WCHAR) );
|
||||||
if( !Process_Link( link, bAgain ) )
|
if( !Process_Link( link, bAgain ) )
|
||||||
{
|
{
|
||||||
WINE_ERR( "failed to build menu item for %s\n",token);
|
WINE_ERR( "failed to build menu item for %s\n",token);
|
||||||
|
|
Loading…
Reference in New Issue