winebrowser: Fix broken handling of DDE type XTYP_EXECUTE

Peter Dons Tychsen (none) donpedro at donpedro.
Tue Sep 1 20:03:56 CDT 2009


---
 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.2.5


--=-UuyXI9WKSUQtrtShPxKl--




More information about the wine-patches mailing list