Lines Matching defs:item
158 bool IsEqualTo(const CParseItem &item) const
160 return Offset == item.Offset && Size == item.Size;
192 int FindInsertPos(const CParseItem &item) const;
193 void AddItem(const CParseItem &item);
198 int CHandler::FindInsertPos(const CParseItem &item) const
205 if (item.Offset < midItem.Offset)
207 else if (item.Offset > midItem.Offset)
209 else if (item.Size < midItem.Size)
212 else if (item.Size > midItem.Size)
253 void CHandler::AddItem(const CParseItem &item)
255 AddUnknownItem(item.Offset);
256 const int pos = FindInsertPos(item);
259 _items.Insert((unsigned)pos, item);
260 UInt64 next = item.Offset + item.Size;
323 const CParseItem &item = _items[index];
332 if (!item.Name.IsEmpty())
335 s += item.Name;
337 if (!item.Extension.IsEmpty())
340 s += item.Extension;
345 case kpidPackSize: prop = item.Size; break;
346 case kpidOffset: prop = item.Offset; break;
347 case kpidUnpackSize: if (item.UnpackSize_Defined) prop = item.UnpackSize; break;
348 case kpidNumSubFiles: if (item.NumSubFiles_Defined) prop = item.NumSubFiles; break;
349 case kpidNumSubDirs: if (item.NumSubDirs_Defined) prop = item.NumSubDirs; break;
350 case kpidMTime: if (item.FileTime_Defined) prop = item.FileTime; break;
351 case kpidComment: if (!item.Comment.IsEmpty()) prop = item.Comment; break;
352 case kpidType: if (!item.ArcType.IsEmpty()) prop = item.ArcType; break;
401 const CParseItem &item = _items[index];
404 UInt64 unpackSize = item.Size;
416 RINOK(InStream_SeekSet(_stream, item.Offset))
435 const CParseItem &item = _items[index];
436 return CreateLimitedInStream(_stream, item.Offset, item.Size, stream);
810 HRESULT CArc::GetItem(UInt32 index, CReadArcItem &item) const
813 item.IsAltStream = false;
814 item.AltStreamName.Empty();
815 item.MainPath.Empty();
818 item.IsDir = false;
819 item.Path.Empty();
820 item.ParentIndex = (UInt32)(Int32)-1;
822 item.PathParts.Clear();
824 RINOK(Archive_IsItem_Dir(Archive, index, item.IsDir))
825 item.MainIsDir = item.IsDir;
827 RINOK(GetItem_Path2(index, item.Path))
835 item.MainPath = item.Path;
838 RINOK(Archive_IsItem_AltStream(Archive, index, item.IsAltStream))
843 if (item.IsAltStream)
856 item.AltStreamName.SetFromBstr(prop.bstrVal);
861 // item.IsAltStream = false;
864 if (item.AltStreamName.IsEmpty())
865 item.IsAltStream = false;
869 item.ParentIndex = parentIndex;
874 item.MainPath.Empty();
875 item.MainIsDir = true;
879 RINOK(GetItem_Path2(parentIndex, item.MainPath))
880 RINOK(Archive_IsItem_Dir(Archive, parentIndex, item.MainIsDir))
886 if (item.WriteToAltStreamIfColon || needFindAltStream)
890 int colon = FindAltStreamColon_in_Path(item.Path);
893 item.MainPath.DeleteFrom((unsigned)colon);
894 item.AltStreamName = item.Path.Ptr((unsigned)(colon + 1));
895 item.MainIsDir = (colon == 0 || IsPathSepar(item.Path[(unsigned)colon - 1]));
896 item.IsAltStream = true;
903 if (item._use_baseParentFolder_mode)
905 RINOK(GetItem_PathToParent(mainIndex, (unsigned)item._baseParentFolder, item.PathParts))
908 if ((item.WriteToAltStreamIfColon || needFindAltStream) && !item.PathParts.IsEmpty())
912 UString &s = item.PathParts.Back();
916 item.AltStreamName = s.Ptr((unsigned)(colon + 1));
917 item.MainIsDir = (colon == 0 || IsPathSepar(s[(unsigned)colon - 1]));
918 item.IsAltStream = true;
923 item.PathParts.DeleteBack();
932 item.MainPath
934 item.Path
936 , item.PathParts);
1935 // orderIndices[] item cannot be negative here
2158 // orderIndices[] item cannot be negative here
2873 This code deletes all previous items that are included to current item */