Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
4a352bd7
Commit
4a352bd7
authored
Sep 05, 2010
by
Thomas Mullaly
Committed by
Alexandre Julliard
Sep 06, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
urlmon: Implemented IUriBuilder_{Get/Set}Path.
parent
0a4e8541
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
78 additions
and
16 deletions
+78
-16
uri.c
dlls/urlmon/tests/uri.c
+65
-1
uri.c
dlls/urlmon/uri.c
+13
-15
No files found.
dlls/urlmon/tests/uri.c
View file @
4a352bd7
...
...
@@ -4347,7 +4347,7 @@ static const uri_builder_test uri_builder_tests[] = {
{
{
TRUE
,
"http"
,
NULL
,
Uri_PROPERTY_SCHEME_NAME
,
S_OK
,
TRUE
},
{
TRUE
,
"::192.2.3.4"
,
NULL
,
Uri_PROPERTY_HOST
,
S_OK
,
FALSE
},
{
TRUE
,
NULL
,
NULL
,
Uri_PROPERTY_PATH
,
S_OK
,
TRU
E
}
{
TRUE
,
NULL
,
NULL
,
Uri_PROPERTY_PATH
,
S_OK
,
FALS
E
}
},
{
FALSE
},
0
,
S_OK
,
TRUE
,
...
...
@@ -4504,6 +4504,70 @@ static const uri_builder_test uri_builder_tests[] = {
{
URL_SCHEME_UNKNOWN
,
S_OK
},
{
URLZONE_INVALID
,
E_NOTIMPL
}
}
},
{
"http://google.com/"
,
0
,
S_OK
,
FALSE
,
{
{
TRUE
,
"test/test"
,
NULL
,
Uri_PROPERTY_PATH
,
S_OK
,
FALSE
},
},
{
FALSE
},
0
,
S_OK
,
TRUE
,
0
,
S_OK
,
TRUE
,
0
,
0
,
0
,
S_OK
,
TRUE
,
{
{
"http://google.com/test/test"
,
S_OK
},
{
"google.com"
,
S_OK
},
{
"http://google.com/test/test"
,
S_OK
},
{
"google.com"
,
S_OK
},
{
""
,
S_FALSE
},
{
""
,
S_FALSE
},
{
"google.com"
,
S_OK
},
{
""
,
S_FALSE
},
{
"/test/test"
,
S_OK
},
{
"/test/test"
,
S_OK
},
{
""
,
S_FALSE
},
{
"http://google.com/test/test"
,
S_OK
},
{
"http"
,
S_OK
},
{
""
,
S_FALSE
},
{
""
,
S_FALSE
}
},
{
{
Uri_HOST_DNS
,
S_OK
},
{
80
,
S_OK
},
{
URL_SCHEME_HTTP
,
S_OK
},
{
URLZONE_INVALID
,
E_NOTIMPL
}
}
},
{
"zip:testing/test"
,
0
,
S_OK
,
FALSE
,
{
{
TRUE
,
"test"
,
NULL
,
Uri_PROPERTY_PATH
,
S_OK
,
FALSE
},
},
{
FALSE
},
0
,
S_OK
,
TRUE
,
0
,
S_OK
,
TRUE
,
0
,
0
,
0
,
S_OK
,
TRUE
,
{
{
"zip:test"
,
S_OK
},
{
""
,
S_FALSE
},
{
"zip:test"
,
S_OK
},
{
""
,
S_FALSE
},
{
""
,
S_FALSE
},
{
""
,
S_FALSE
},
{
""
,
S_FALSE
},
{
""
,
S_FALSE
},
{
"test"
,
S_OK
},
{
"test"
,
S_OK
},
{
""
,
S_FALSE
},
{
"zip:test"
,
S_OK
},
{
"zip"
,
S_OK
},
{
""
,
S_FALSE
},
{
""
,
S_FALSE
}
},
{
{
Uri_HOST_UNKNOWN
,
S_OK
},
{
0
,
S_FALSE
},
{
URL_SCHEME_UNKNOWN
,
S_OK
},
{
URLZONE_INVALID
,
E_NOTIMPL
}
}
}
};
...
...
dlls/urlmon/uri.c
View file @
4a352bd7
...
...
@@ -88,6 +88,9 @@ typedef struct {
WCHAR
*
password
;
DWORD
password_len
;
WCHAR
*
path
;
DWORD
path_len
;
}
UriBuilder
;
typedef
struct
{
...
...
@@ -4318,6 +4321,7 @@ static ULONG WINAPI UriBuilder_Release(IUriBuilder *iface)
heap_free
(
This
->
fragment
);
heap_free
(
This
->
host
);
heap_free
(
This
->
password
);
heap_free
(
This
->
path
);
heap_free
(
This
);
}
...
...
@@ -4480,19 +4484,11 @@ static HRESULT WINAPI UriBuilder_GetPath(IUriBuilder *iface, DWORD *pcchPath, LP
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
TRACE
(
"(%p)->(%p %p)
\n
"
,
This
,
pcchPath
,
ppwzPath
);
if
(
!
pcchPath
)
{
if
(
ppwzPath
)
*
ppwzPath
=
NULL
;
return
E_POINTER
;
}
if
(
!
ppwzPath
)
{
*
pcchPath
=
0
;
return
E_POINTER
;
}
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pcchPath
,
ppwzPath
);
return
E_NOTIMPL
;
if
(
!
This
->
uri
||
This
->
uri
->
path_start
==
-
1
||
This
->
modified_props
&
Uri_HAS_PATH
)
return
get_builder_component
(
&
This
->
path
,
&
This
->
path_len
,
NULL
,
0
,
ppwzPath
,
pcchPath
);
else
return
get_builder_component
(
&
This
->
path
,
&
This
->
path_len
,
This
->
uri
->
canon_uri
+
This
->
uri
->
path_start
,
This
->
uri
->
path_len
,
ppwzPath
,
pcchPath
);
}
static
HRESULT
WINAPI
UriBuilder_GetPort
(
IUriBuilder
*
iface
,
BOOL
*
pfHasPort
,
DWORD
*
pdwPort
)
...
...
@@ -4605,8 +4601,10 @@ static HRESULT WINAPI UriBuilder_SetPassword(IUriBuilder *iface, LPCWSTR pwzNewV
static
HRESULT
WINAPI
UriBuilder_SetPath
(
IUriBuilder
*
iface
,
LPCWSTR
pwzNewValue
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
pwzNewValue
));
return
E_NOTIMPL
;
TRACE
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
pwzNewValue
));
This
->
modified_props
|=
Uri_HAS_PATH
;
return
set_builder_component
(
&
This
->
path
,
&
This
->
path_len
,
pwzNewValue
,
0
);
}
static
HRESULT
WINAPI
UriBuilder_SetPort
(
IUriBuilder
*
iface
,
BOOL
fHasPort
,
DWORD
dwNewValue
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment