[1/5] msxml3/httprequest: Store passed data for IXMLHttpRequest::open()

Jacek Caban jacek at codeweavers.com
Mon Sep 27 06:25:53 CDT 2010


  Hi Nikolay,

On 9/25/10 10:15 PM, Nikolay Sivov wrote:
>  Store passed data for IXMLHttpRequest::open()

+    hr = VariantChangeType(&async,&async, 0, VT_BOOL);
+    This->async = (hr == S_OK) ? V_BOOL(&async) : FALSE;


You mix BOOL and VARIANT_BOOL here. |This->async = (hr == S_OK) && 
V_BOOL(&async)| will do what you want.

+    hr = VariantChangeType(&user,&user, 0, VT_BSTR);
+    if (hr == S_OK)
+        This->user = SysAllocString(V_BSTR(&user));

You potentially leak here.

+    hr = VariantChangeType(&password,&password, 0, VT_BSTR);
+    if (hr == S_OK)
+        This->password = SysAllocString(V_BSTR(&password));


And here.

+        {
+            return SysReAllocString(&entry->value, value) == TRUE ? S_OK : E_OUTOFMEMORY;
+

You shouldn't compare to TRUE value. This should be |return 
SysReAllocString(...) ? S_OK : E_OUTOFMEMORY|.

+    *bind_flags = BINDF_FROMURLMON;

Are you sure you need BINDF_FROMURLMON here? This flag is set by urlmon before calling protocol handler.

+    hr = BindStatusCallback_create(This,&bsc);
+    if (FAILED(hr)) return hr;
+
+    ERR("%x\n", hr);


Debugging code left?


Jacek



More information about the wine-devel mailing list