4.58 beta

This commit is contained in:
Igor Pavlov
2008-05-05 00:00:00 +00:00
committed by Kornel Lesiński
parent bd1fa36322
commit 3901bf0ab8
326 changed files with 10643 additions and 14913 deletions

View File

@@ -250,7 +250,7 @@ STDMETHODIMP CAgent::DoOperation(
UString resultPath;
int pos;
if(!NFile::NDirectory::MyGetFullPathName(archiveName, resultPath, pos))
throw 141716;
return E_FAIL;
NFile::NDirectory::CreateComplexDirectory(resultPath.Left(pos));
}
if (!outStreamSpec->Create(archiveName, true))
@@ -282,7 +282,7 @@ STDMETHODIMP CAgent::DoOperation(
catch(...)
{
delete []propValues;
throw;
return E_FAIL;
}
delete []propValues;
}
@@ -295,7 +295,8 @@ STDMETHODIMP CAgent::DoOperation(
CInFileStream *sfxStreamSpec = new CInFileStream;
CMyComPtr<IInStream> sfxStream(sfxStreamSpec);
if (!sfxStreamSpec->Open(sfxModule))
throw "Can't open sfx module";
return E_FAIL;
// throw "Can't open sfx module";
RINOK(CopyBlock(sfxStream, outStream));
}

View File

@@ -228,7 +228,20 @@ HRESULT CProxyArchive::ReadObjects(IInArchive *archive, IProgress *progress)
CProxyFolder *currentItem = &RootFolder;
UString fileName;
if(propVariantPath.vt == VT_EMPTY)
{
fileName = DefaultName;
NCOM::CPropVariant prop;
RINOK(archive->GetProperty(i, kpidExtension, &prop));
if (prop.vt == VT_BSTR)
{
fileName += L'.';
fileName += prop.bstrVal;
}
else if (prop.vt != VT_EMPTY)
return E_FAIL;
}
else
{
if(propVariantPath.vt != VT_BSTR)