From 722172bc522256202f2f0db91e3f7b51927fb688 Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Thu, 13 May 2010 15:33:42 -0500 Subject: [PATCH 2/3] winebrowser: Never convert data from DDE to unicode. --- programs/winebrowser/main.c | 15 ++------------- 1 files changed, 2 insertions(+), 13 deletions(-) diff --git a/programs/winebrowser/main.c b/programs/winebrowser/main.c index b959d38..90e2b1b 100644 --- a/programs/winebrowser/main.c +++ b/programs/winebrowser/main.c @@ -200,23 +200,12 @@ static HDDEDATA CALLBACK ddeCb(UINT uType, UINT uFmt, HCONV hConv, case XTYP_EXECUTE: { - char *buffer = NULL; - if (!(size = DdeGetData(hData, NULL, 0, 0))) WINE_ERR("DdeGetData returned zero size of execute string\n"); - else if (!(buffer = HeapAlloc(GetProcessHeap(), 0, size))) + else if (!(ddeString = HeapAlloc(GetProcessHeap(), 0, size))) WINE_ERR("Out of memory\n"); - else if (DdeGetData(hData, (LPBYTE)buffer, size, 0) != size) + else if (DdeGetData(hData, (LPBYTE)ddeString, size, 0) != size) WINE_WARN("DdeGetData did not return %d bytes\n", size); - else - { - int len = MultiByteToWideChar(CP_ACP, 0, buffer, -1, NULL, 0); - if (!(ddeString = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)))) - WINE_ERR("Out of memory\n"); - else - MultiByteToWideChar(CP_ACP, 0, buffer, -1, ddeString, len); - } - HeapFree(GetProcessHeap(), 0, buffer); DdeFreeDataHandle(hData); return (HDDEDATA)DDE_FACK; } -- 1.6.3.3