"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "CPP/7zip/UI/Common/ArchiveExtractCallback.cpp" between
p7zip_15.14.1_src_all.tar.gz and p7zip_16.02_src_all.tar.gz

About: p7zip is a command-line file archiver with a high compression ratio (a port of the Windows program 7za.exe).

ArchiveExtractCallback.cpp  (p7zip_15.14.1_src_all):ArchiveExtractCallback.cpp  (p7zip_16.02_src_all)
skipping to change at line 1039 skipping to change at line 1039
if (_pathMode != NExtract::NPathMode::kAbsPaths if (_pathMode != NExtract::NPathMode::kAbsPaths
|| !NName::IsAbsolutePath(processedPath)) || !NName::IsAbsolutePath(processedPath))
{ {
fullProcessedPath = MakePath_from_2_Parts(_dirPathPrefix, fullProcessedPa th); fullProcessedPath = MakePath_from_2_Parts(_dirPathPrefix, fullProcessedPa th);
} }
#ifdef SUPPORT_ALT_STREAMS #ifdef SUPPORT_ALT_STREAMS
if (_item.IsAltStream && _item.ParentIndex != (UInt32)(Int32)-1) if (_item.IsAltStream && _item.ParentIndex != (UInt32)(Int32)-1)
{ {
CIndexToPathPair pair(_item.ParentIndex); int renIndex = _renamedFiles.FindInSorted(CIndexToPathPair(_item.ParentInd
int renIndex = _renamedFiles.FindInSorted(pair); ex));
if (renIndex >= 0) if (renIndex >= 0)
{ {
const CIndexToPathPair &pair = _renamedFiles[renIndex]; const CIndexToPathPair &pair = _renamedFiles[renIndex];
fullProcessedPath = pair.Path; fullProcessedPath = pair.Path;
fullProcessedPath += (FChar)':'; fullProcessedPath += (FChar)':';
UString s = _item.AltStreamName; UString s = _item.AltStreamName;
Correct_AltStream_Name(s); Correct_AltStream_Name(s);
fullProcessedPath += us2fs(s); fullProcessedPath += us2fs(s);
} }
} }
skipping to change at line 1311 skipping to change at line 1310
} }
} }
} }
} }
} }
#endif #endif
if (needWriteFile) if (needWriteFile)
{ {
_outFileStreamSpec = new COutFileStream; _outFileStreamSpec = new COutFileStream;
CMyComPtr<ISequentialOutStream> outStreamLoc(_outFileStreamSpec); CMyComPtr<ISequentialOutStream> outStreamLoc2(_outFileStreamSpec);
if (!_outFileStreamSpec->Open(fullProcessedPath, _isSplit ? OPEN_ALWAY S: CREATE_ALWAYS)) if (!_outFileStreamSpec->Open(fullProcessedPath, _isSplit ? OPEN_ALWAY S: CREATE_ALWAYS))
{ {
// if (::GetLastError() != ERROR_FILE_EXISTS || !isSplit) // if (::GetLastError() != ERROR_FILE_EXISTS || !isSplit)
{ {
RINOK(SendMessageError_with_LastError("Can not open output file", fullProcessedPath)); RINOK(SendMessageError_with_LastError("Can not open output file", fullProcessedPath));
return S_OK; return S_OK;
} }
} }
#ifdef SUPPORT_ALT_STREAMS #ifdef SUPPORT_ALT_STREAMS
skipping to change at line 1337 skipping to change at line 1336
if (oldSize == _renamedFiles.Size()) if (oldSize == _renamedFiles.Size())
_renamedFiles[insertIndex].Path = fullProcessedPath; _renamedFiles[insertIndex].Path = fullProcessedPath;
} }
#endif #endif
if (_isSplit) if (_isSplit)
{ {
RINOK(_outFileStreamSpec->Seek(_position, STREAM_SEEK_SET, NULL)); RINOK(_outFileStreamSpec->Seek(_position, STREAM_SEEK_SET, NULL));
} }
_outFileStream = outStreamLoc; _outFileStream = outStreamLoc2;
} }
} }
} }
outStreamLoc = _outFileStream; outStreamLoc = _outFileStream;
} }
} }
#ifndef _SFX #ifndef _SFX
 End of changes. 3 change blocks. 
4 lines changed or deleted 4 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS