Commit b5e70534 authored by Thomas Mullaly's avatar Thomas Mullaly Committed by Alexandre Julliard

urlmon: Implemented IUri_GetPathAndQuery.

parent 45069a33
......@@ -3014,6 +3014,22 @@ static HRESULT WINAPI Uri_GetPropertyBSTR(IUri *iface, Uri_PROPERTY uriProp, BST
hres = E_OUTOFMEMORY;
break;
case Uri_PROPERTY_PATH_AND_QUERY:
if(This->path_start > -1) {
*pbstrProperty = SysAllocStringLen(This->canon_uri+This->path_start, This->path_len+This->query_len);
hres = S_OK;
} else if(This->query_start > -1) {
*pbstrProperty = SysAllocStringLen(This->canon_uri+This->query_start, This->query_len);
hres = S_OK;
} else {
*pbstrProperty = SysAllocStringLen(NULL, 0);
hres = S_FALSE;
}
if(!(*pbstrProperty))
hres = E_OUTOFMEMORY;
break;
case Uri_PROPERTY_QUERY:
if(This->query_start > -1) {
*pbstrProperty = SysAllocStringLen(This->canon_uri+This->query_start, This->query_len);
......@@ -3148,6 +3164,10 @@ static HRESULT WINAPI Uri_GetPropertyLength(IUri *iface, Uri_PROPERTY uriProp, D
*pcchProperty = This->path_len;
hres = (This->path_start > -1) ? S_OK : S_FALSE;
break;
case Uri_PROPERTY_PATH_AND_QUERY:
*pcchProperty = This->path_len+This->query_len;
hres = (This->path_start > -1 || This->query_start > -1) ? S_OK : S_FALSE;
break;
case Uri_PROPERTY_QUERY:
*pcchProperty = This->query_len;
hres = (This->query_start > -1) ? S_OK : S_FALSE;
......@@ -3310,13 +3330,8 @@ static HRESULT WINAPI Uri_GetPath(IUri *iface, BSTR *pstrPath)
static HRESULT WINAPI Uri_GetPathAndQuery(IUri *iface, BSTR *pstrPathAndQuery)
{
Uri *This = URI_THIS(iface);
FIXME("(%p)->(%p)\n", This, pstrPathAndQuery);
if(!pstrPathAndQuery)
return E_POINTER;
return E_NOTIMPL;
TRACE("(%p)->(%p)\n", iface, pstrPathAndQuery);
return Uri_GetPropertyBSTR(iface, Uri_PROPERTY_PATH_AND_QUERY, pstrPathAndQuery, 0);
}
static HRESULT WINAPI Uri_GetQuery(IUri *iface, BSTR *pstrQuery)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment