Jacek Caban : mshtml: Don't use wine_url in nsIURI::SchemeIs implementation .

Alexandre Julliard julliard at winehq.org
Thu Nov 25 11:18:57 CST 2010


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Nov 25 13:56:25 2010 +0100

mshtml: Don't use wine_url in nsIURI::SchemeIs implementation.

---

 dlls/mshtml/nsio.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c
index 13085e6..412b1d4 100644
--- a/dlls/mshtml/nsio.c
+++ b/dlls/mshtml/nsio.c
@@ -2037,15 +2037,20 @@ static nsresult NSAPI nsURI_SchemeIs(nsIURL *iface, const char *scheme, PRBool *
 {
     nsWineURI *This = NSURI_THIS(iface);
     WCHAR buf[INTERNET_MAX_SCHEME_LENGTH];
-    int len;
+    BSTR scheme_name;
+    HRESULT hres;
 
     TRACE("(%p)->(%s %p)\n", This, debugstr_a(scheme), _retval);
 
-    len = MultiByteToWideChar(CP_ACP, 0, scheme, -1, buf, sizeof(buf)/sizeof(WCHAR))-1;
+    if(!ensure_uri(This))
+        return NS_ERROR_UNEXPECTED;
+
+    hres = IUri_GetSchemeName(This->uri, &scheme_name);
+    if(FAILED(hres))
+        return NS_ERROR_UNEXPECTED;
 
-    *_retval = lstrlenW(This->wine_url) > len
-        && This->wine_url[len] == ':'
-        && !memcmp(buf, This->wine_url, len*sizeof(WCHAR));
+    MultiByteToWideChar(CP_ACP, 0, scheme, -1, buf, sizeof(buf)/sizeof(WCHAR));
+    *_retval = !strcmpW(scheme_name, buf);
     return NS_OK;
 }
 




More information about the wine-cvs mailing list