[2/3] mshtml: Add helper function get_url_components

aeikum at codeweavers.com aeikum at codeweavers.com
Tue Oct 13 15:58:37 CDT 2009


---
 dlls/mshtml/htmllocation.c |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/dlls/mshtml/htmllocation.c b/dlls/mshtml/htmllocation.c index
891e7b8..4769f03 100644
--- a/dlls/mshtml/htmllocation.c
+++ b/dlls/mshtml/htmllocation.c
@@ -46,6 +46,23 @@ static HRESULT get_url(HTMLLocation *This, const WCHAR
**ret)
     return S_OK;
 }

+static HRESULT get_url_components(HTMLLocation *This, URL_COMPONENTSW *url)
+{
+    const WCHAR *doc_url;
+    HRESULT hres;
+
+    hres = get_url(This, &doc_url);
+    if(FAILED(hres))
+        return hres;
+
+    if(!InternetCrackUrlW(doc_url, 0, 0, url)) {
+        FIXME("InternetCrackUrlW failed: 0x%08x\n", GetLastError()); +   
    SetLastError(0);
+        return E_FAIL;
+    }
+
+    return S_OK;
+}

 #define HTMLLOCATION_THIS(iface) DEFINE_THIS(HTMLLocation, HTMLLocation,
iface)

@@ -270,10 +287,9 @@ static HRESULT WINAPI
HTMLLocation_get_pathname(IHTMLLocation *iface, BSTR *p)
     }

     url.dwUrlPathLength = 1;
-    if(!InternetCrackUrlW(doc_url, 0, 0, &url)) {
-        FIXME("InternetCrackUrl failed\n");
-        return E_FAIL;
-    }
+    hres = get_url_components(This, &url);
+    if(FAILED(hres))
+        return hres;

     if(!url.dwUrlPathLength) {
         *p = NULL;
-- 
1.6.4.4








More information about the wine-patches mailing list