diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c index 9ac735c20ec..137b6fb1a76 100644 --- a/dlls/mshtml/nsio.c +++ b/dlls/mshtml/nsio.c @@ -2171,43 +2171,13 @@ static nsresult NSAPI nsURL_SetParam(nsIURL *iface, const nsACString *aParam) static nsresult NSAPI nsURL_GetQuery(nsIURL *iface, nsACString *aQuery) { nsWineURI *This = NSURI_THIS(iface); - URL_COMPONENTSW url = {sizeof(URL_COMPONENTSW)}; - WCHAR *ptr_end, *ptr; - char *query; - int len; TRACE("(%p)->(%p)\n", This, aQuery); if(This->nsurl) return nsIURL_GetQuery(This->nsurl, aQuery); - url.dwExtraInfoLength = 1; - if(!InternetCrackUrlW(This->wine_url, 0, 0, &url)) { - WARN("InternetCrackUrlW failed: 0x%08x\n", GetLastError()); - nsACString_SetData(aQuery, ""); - return NS_OK; - } - - ptr_end = url.lpszExtraInfo+url.dwExtraInfoLength; - for(ptr = url.lpszExtraInfo; ptr < ptr_end; ptr++) { - if(*ptr == '#') { - ptr_end = ptr; - break; - } - } - - ptr = url.lpszExtraInfo; - len = WideCharToMultiByte(CP_ACP, 0, ptr, ptr_end-ptr, NULL, 0, NULL, NULL); - query = heap_alloc(len+1); - if(!query) - return NS_ERROR_OUT_OF_MEMORY; - WideCharToMultiByte(CP_ACP, 0, ptr, ptr_end-ptr, query, len, NULL, NULL); - query[len] = 0; - nsACString_SetData(aQuery, query); - - TRACE("ret %s\n", debugstr_a(query)); - heap_free(query); - return NS_OK; + return get_uri_string(This, Uri_PROPERTY_QUERY, aQuery); } static nsresult NSAPI nsURL_SetQuery(nsIURL *iface, const nsACString *aQuery)