diff --git a/dlls/mshtml/editor.c b/dlls/mshtml/editor.c
index 057ac2493f9..12f2c35107c 100644
--- a/dlls/mshtml/editor.c
+++ b/dlls/mshtml/editor.c
@@ -559,7 +559,6 @@ static HRESULT exec_fontname(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in,
if(in) {
char *stra;
- DWORD len;
if(V_VT(in) != VT_BSTR) {
FIXME("Unsupported vt=%d\n", V_VT(out));
@@ -568,12 +567,8 @@ static HRESULT exec_fontname(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in,
TRACE("%s\n", debugstr_w(V_BSTR(in)));
- len = WideCharToMultiByte(CP_ACP, 0, V_BSTR(in), -1, NULL, 0, NULL, NULL);
- stra = heap_alloc(len);
- WideCharToMultiByte(CP_ACP, 0, V_BSTR(in), -1, stra, -1, NULL, NULL);
-
+ stra = heap_strdupWtoA(V_BSTR(in));
set_ns_fontname(This->nscontainer, stra);
-
heap_free(stra);
update_doc(This, UPDATE_UI);
diff --git a/dlls/mshtml/install.c b/dlls/mshtml/install.c
index fd362907297..edb5f58e75c 100644
--- a/dlls/mshtml/install.c
+++ b/dlls/mshtml/install.c
@@ -135,7 +135,7 @@ static BOOL install_cab(LPCWSTR file_name)
char install_dir[MAX_PATH];
HRESULT (WINAPI *pExtractFilesA)(LPCSTR,LPCSTR,DWORD,LPCSTR,LPVOID,DWORD);
LPSTR file_name_a;
- DWORD res, len;
+ DWORD res;
HRESULT hres;
static const WCHAR wszAdvpack[] = {'a','d','v','p','a','c','k','.','d','l','l',0};
@@ -160,11 +160,8 @@ static BOOL install_cab(LPCWSTR file_name)
advpack = LoadLibraryW(wszAdvpack);
pExtractFilesA = (void *)GetProcAddress(advpack, "ExtractFiles");
- len = WideCharToMultiByte(CP_ACP, 0, file_name, -1, NULL, 0, NULL, NULL);
- file_name_a = heap_alloc(len);
- WideCharToMultiByte(CP_ACP, 0, file_name, -1, file_name_a, -1, NULL, NULL);
-
/* FIXME: Use unicode version (not yet implemented) */
+ file_name_a = heap_strdupWtoA(file_name);
hres = pExtractFilesA(file_name_a, install_dir, 0, NULL, NULL, 0);
FreeLibrary(advpack);
heap_free(file_name_a);
diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c
index a094dc1f58b..78a5d6b4190 100644
--- a/dlls/mshtml/persist.c
+++ b/dlls/mshtml/persist.c
@@ -134,7 +134,7 @@ static nsIInputStream *get_post_data_stream(IBindCtx *bctx)
data = heap_alloc(headers_len+post_len+sizeof(content_length)+8);
if(headers_len) {
- WideCharToMultiByte(CP_ACP, 0, headers, -1, data, -1, NULL, NULL);
+ WideCharToMultiByte(CP_ACP, 0, headers, -1, data, headers_len, NULL, NULL);
len = fix_headers(data, post_len);
}