mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-01 09:50:52 +00:00
hhctrl.ocx: Correctly handle URLs in SetChmPath.
This commit is contained in:
parent
1bfbcefb60
commit
e18ddbc0cd
1 changed files with 18 additions and 0 deletions
|
@ -249,11 +249,29 @@ done:
|
||||||
return SUCCEEDED(hr);
|
return SUCCEEDED(hr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static LPCWSTR skip_schema(LPCWSTR url)
|
||||||
|
{
|
||||||
|
static const WCHAR its_schema[] = {'i','t','s',':'};
|
||||||
|
static const WCHAR msits_schema[] = {'m','s','-','i','t','s',':'};
|
||||||
|
static const WCHAR mk_schema[] = {'m','k',':','@','M','S','I','T','S','t','o','r','e',':'};
|
||||||
|
|
||||||
|
if(!strncmpiW(its_schema, url, sizeof(its_schema)/sizeof(WCHAR)))
|
||||||
|
return url+sizeof(its_schema)/sizeof(WCHAR);
|
||||||
|
if(!strncmpiW(msits_schema, url, sizeof(msits_schema)/sizeof(WCHAR)))
|
||||||
|
return url+sizeof(msits_schema)/sizeof(WCHAR);
|
||||||
|
if(!strncmpiW(mk_schema, url, sizeof(mk_schema)/sizeof(WCHAR)))
|
||||||
|
return url+sizeof(mk_schema)/sizeof(WCHAR);
|
||||||
|
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
void SetChmPath(ChmPath *file, LPCWSTR base_file, LPCWSTR path)
|
void SetChmPath(ChmPath *file, LPCWSTR base_file, LPCWSTR path)
|
||||||
{
|
{
|
||||||
LPCWSTR ptr;
|
LPCWSTR ptr;
|
||||||
static const WCHAR separatorW[] = {':',':',0};
|
static const WCHAR separatorW[] = {':',':',0};
|
||||||
|
|
||||||
|
path = skip_schema(path);
|
||||||
|
|
||||||
ptr = strstrW(path, separatorW);
|
ptr = strstrW(path, separatorW);
|
||||||
if(ptr) {
|
if(ptr) {
|
||||||
WCHAR chm_file[MAX_PATH];
|
WCHAR chm_file[MAX_PATH];
|
||||||
|
|
Loading…
Reference in a new issue