Allow file:/// protocol to be used to download the Mozilla ActiveX
control.
This commit is contained in:
parent
c02356b835
commit
18e909e650
|
@ -307,6 +307,7 @@ static DWORD WINAPI ThreadFunc( LPVOID info )
|
|||
{
|
||||
IBindStatusCallback *dl;
|
||||
static const WCHAR szUrlVal[] = {'M','o','z','i','l','l','a','U','r','l',0};
|
||||
static const WCHAR szFileProtocol[] = {'f','i','l','e',':','/','/','/',0};
|
||||
WCHAR path[MAX_PATH], szUrl[MAX_PATH];
|
||||
LPWSTR p;
|
||||
STARTUPINFOW si;
|
||||
|
@ -330,22 +331,27 @@ static DWORD WINAPI ThreadFunc( LPVOID info )
|
|||
if( r != ERROR_SUCCESS )
|
||||
goto end;
|
||||
|
||||
/* built the path for the download */
|
||||
p = strrchrW( szUrl, '/' );
|
||||
if (!p)
|
||||
goto end;
|
||||
if (!GetTempPathW( MAX_PATH, path ))
|
||||
goto end;
|
||||
strcatW( path, p+1 );
|
||||
if( !strncmpW(szUrl, szFileProtocol, strlenW(szFileProtocol)) )
|
||||
lstrcpynW( path, szUrl+strlenW(szFileProtocol), MAX_PATH );
|
||||
else
|
||||
{
|
||||
/* built the path for the download */
|
||||
p = strrchrW( szUrl, '/' );
|
||||
if (!p)
|
||||
goto end;
|
||||
if (!GetTempPathW( MAX_PATH, path ))
|
||||
goto end;
|
||||
strcatW( path, p+1 );
|
||||
|
||||
/* download it */
|
||||
bTempfile = TRUE;
|
||||
dl = create_dl(info, &bCancelled);
|
||||
r = URLDownloadToFileW( NULL, szUrl, path, 0, dl );
|
||||
if( dl )
|
||||
IBindStatusCallback_Release( dl );
|
||||
if( (r != S_OK) || bCancelled )
|
||||
goto end;
|
||||
/* download it */
|
||||
bTempfile = TRUE;
|
||||
dl = create_dl(info, &bCancelled);
|
||||
r = URLDownloadToFileW( NULL, szUrl, path, 0, dl );
|
||||
if( dl )
|
||||
IBindStatusCallback_Release( dl );
|
||||
if( (r != S_OK) || bCancelled )
|
||||
goto end;
|
||||
}
|
||||
|
||||
/* run it */
|
||||
memset( &si, 0, sizeof si );
|
||||
|
|
Loading…
Reference in New Issue