Jacek Caban : shdocvw: Store headers as BSTR.

Alexandre Julliard julliard at winehq.org
Mon Jan 21 05:58:53 CST 2008


Module: wine
Branch: master
Commit: 13a785cc11d4465632fa9f5273fbde3a678cc2b4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=13a785cc11d4465632fa9f5273fbde3a678cc2b4

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Jan 18 21:54:30 2008 +0100

shdocvw: Store headers as BSTR.

---

 dlls/shdocvw/navigate.c |   13 ++++---------
 1 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/dlls/shdocvw/navigate.c b/dlls/shdocvw/navigate.c
index 4439922..2d46abe 100644
--- a/dlls/shdocvw/navigate.c
+++ b/dlls/shdocvw/navigate.c
@@ -41,7 +41,7 @@ typedef struct {
 
     LPWSTR url;
     HGLOBAL post_data;
-    LPWSTR headers;
+    BSTR headers;
     ULONG post_data_len;
 } BindStatusCallback;
 
@@ -160,8 +160,9 @@ static ULONG WINAPI BindStatusCallback_Release(IBindStatusCallback *iface)
             IOleClientSite_Release(CLIENTSITE(This->doc_host));
         if(This->post_data)
             GlobalFree(This->post_data);
+        if(This->headers)
+            SysFreeString(This->headers);
         heap_free(This->url);
-        heap_free(This->headers);
         heap_free(This);
     }
 
@@ -399,7 +400,7 @@ static BindStatusCallback *create_callback(DocHost *doc_host, LPCWSTR url, PBYTE
     ret->url = heap_strdupW(url);
     ret->post_data = NULL;
     ret->post_data_len = post_data_len;
-    ret->headers = NULL;
+    ret->headers = headers ? SysAllocString(headers) : NULL;
 
     ret->doc_host = doc_host;
     IOleClientSite_AddRef(CLIENTSITE(doc_host));
@@ -409,12 +410,6 @@ static BindStatusCallback *create_callback(DocHost *doc_host, LPCWSTR url, PBYTE
         memcpy(ret->post_data, post_data, post_data_len);
     }
 
-    if(headers) {
-        int size = (strlenW(headers)+1)*sizeof(WCHAR);
-        ret->headers = heap_alloc(size);
-        memcpy(ret->headers, headers, size);
-    }
-
     return ret;
 }
 




More information about the wine-cvs mailing list