Lines Matching refs:archive
50 1) Open with main type. Archive handler is allowed to use archive start finder.
62 - archive is not "Self Exe" - return OK with Warning, that there is tail
63 - archive is "Self Exe"
65 - tail can be open as archive - shows that archive and stub size property.
66 - tail can't be open as archive - shows Parser ???
69 If some open type is OK and physical archive size is uequal or larger
70 than file size, then return that archive with warning that cannot be open as [extension type].
74 - if there is full archive or tail archive and unknown block or "Self Exe"
75 at front, it shows tail archive and stub size property.
76 - in another cases, if there is some archive inside file, it returns parser/
82 - stub (EXE) + archive is open in Parser
85 - returns only Parser. skip full file archive. And show other sub-archives
88 - returns only Parser. skip full file archive. And show other sub-archives for each byte pos
943 static HRESULT Archive_GetItem_Size(IInArchive *archive, UInt32 index, UInt64 &size, bool &defined)
948 RINOK(archive->GetProperty(index, kpidSize, &prop))
1251 HRESULT CArc::ReadBasicProps(IInArchive *archive, UInt64 startPos, HRESULT openRes)
1262 RINOK(archive->GetArchiveProperty(kpidErrorFlags, &prop))
1267 RINOK(archive->GetArchiveProperty(kpidWarningFlags, &prop))
1273 RINOK(archive->GetArchiveProperty(kpidError, &prop))
1280 RINOK(archive->GetArchiveProperty(kpidWarning, &prop))
1287 RINOK(Archive_GetArcProp_UInt(archive, kpidPhySize, PhySize, PhySize_Defined))
1289 RINOK(Archive_GetArcProp_UInt(archive, kpidOkPhySize, OkPhySize, OkPhySize_Defined));
1298 RINOK(Archive_GetArcProp_Int(archive, kpidOffset, Offset, offsetDefined))
1329 HRESULT CArc::PrepareToOpen(const COpenOptions &op, unsigned formatIndex, CMyComPtr<IInArchive> &archive)
1334 RINOK(op.codecs->CreateInArchive(formatIndex, archive))
1336 if (!archive)
1348 archive.QueryInterface(IID_ISetCompressCodecsInfo, (void **)&setCompressCodecsInfo);
1368 to open archive, if there is tail after executable (for SFX cases) */
1370 archive.QueryInterface(IID_IArchiveAllowTail, (void **)&allowTail);
1383 RINOK(SetProperties(archive, optProps.Props));
1388 RINOK(SetProperties(archive, *op.props))
1397 static HRESULT ReadParseItemProps(IInArchive *archive, const CArcInfoEx &ai, NArchive::NParser::CParseItem &pi)
1403 RINOK(Archive_GetArcProp_Bool(archive, kpidIsNotArcType, pi.IsNotArcType))
1405 // RINOK(Archive_GetArcProp_Bool(archive, kpidIsSelfExe, pi.IsSelfExe));
1410 RINOK(archive->GetArchiveProperty(kpidMTime, &prop))
1421 RINOK(archive->GetArchiveProperty(kpidCTime, &prop))
1431 RINOK(archive->GetArchiveProperty(kpidName, &prop))
1439 RINOK(archive->GetArchiveProperty(kpidExtension, &prop))
1447 RINOK(archive->GetArchiveProperty(kpidShortComment, &prop))
1454 RINOK(archive->GetNumberOfItems(&numItems))
1457 // RINOK(Archive_GetArcProp_UInt(archive, kpidUnpackSize, pi.UnpackSize, pi.UnpackSize_Defined));
1467 Archive_GetItem_Size(archive, i, size, defined);
1475 Archive_IsItem_Dir(archive, i, isDir);
1583 static HRESULT OpenArchiveSpec(IInArchive *archive, bool needPhySize,
1593 open2, archive)
1598 RINOK(archive->Open(stream, maxCheckStartPosition, openCallback))
1603 RINOK(Archive_GetArcProp_UInt(archive, kpidPhySize, phySize, phySize_Defined))
1608 RINOK(Archive_GetArcProp_Bool(archive, kpidPhySizeCantBeDetected, phySizeCantBeDetected))
1612 PRF(printf("\n-- !phySize_Defined after Open, call archive->Extract()"));
1614 // But the Handler will know phySize after full archive testing.
1615 RINOK(archive->Extract(NULL, (UInt32)(Int32)-1, BoolToInt(true), extractCallback))
1964 CMyComPtr<IInArchive> archive;
1966 RINOK(PrepareToOpen(op, (unsigned)FormatIndex, archive))
1967 if (!archive)
1974 result = archive->Open(op.stream, &searchLimit, op.callback);
1979 archive.QueryInterface(IID_IArchiveOpenSeq, (void **)&openSeq);
1985 RINOK(ReadBasicProps(archive, 0, result))
1992 // if it's archive, we allow another open attempt for parser
2010 // if bad archive was detected, we don't need additional open attempts
2090 Archive = archive;
2230 CMyComPtr<IInArchive> archive;
2231 RINOK(PrepareToOpen(op, (unsigned)FormatIndex, archive))
2232 if (!archive)
2241 result = archive->Open(op.stream, &searchLimit, op.callback);
2245 result = OpenArchiveSpec(archive,
2259 RINOK(ReadBasicProps(archive, 0, result))
2264 // but there are some cases like false prefixed PK00 archive, when
2329 Archive = archive;
2346 RINOK(ReadParseItemProps(archive, ai, pi))
2665 // we don't check same archive second time */
2709 CMyComPtr<IInArchive> archive;
2710 RINOK(PrepareToOpen(op, index, archive))
2711 if (!archive)
2739 // HRESULT result = archive->Open(limitedStream, &maxCheckStartPosition, openCallback_Offset);
2743 HRESULT result = OpenArchiveSpec(archive,
2749 RINOK(ReadBasicProps(archive, ai.Flags_UseGlobalOffset() ? 0 : startArcPos, result))
2761 // if archive was detected, we don't need additional open attempts
2774 // we skip that epmty archive case with unusual unexpected (PhySize == 0) from Code function.
2868 RINOK(ReadParseItemProps(archive, ai, pi))
2926 // We open file as SFX, if there is front archive or first archive is "Self Executable"
2948 Archive = archive;
2984 Archive = archive;
3504 /* if archive is multivolume (unsupported here still)