MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / readExtraFields

Method readExtraFields

Engine/source/core/util/zip/fileHeader.cpp:73–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

71//-----------------------------------------------------------------------------
72
73bool FileHeader::readExtraFields(Stream *stream, U16 efLen)
74{
75 bool ret = true;
76
77 U32 pos = stream->getPosition();
78 U32 end = pos + efLen;
79
80 while(stream->getPosition() < end)
81 {
82 U16 fieldSig, fieldSize;
83
84 ret = false;
85
86 ret |= stream->read(&fieldSig);
87 ret |= stream->read(&fieldSize);
88 if(! ret)
89 break;
90
91 pos = stream->getPosition();
92
93 ExtraField *ef = ExtraField::create(fieldSig);
94 if(ef)
95 {
96 ret |= ef->read(stream);
97
98 if(! ret)
99 delete ef;
100 else
101 mExtraFields.push_back(ef);
102 }
103
104 stream->setPosition(pos + fieldSize);
105 }
106
107 return ret;
108}
109
110//-----------------------------------------------------------------------------
111// Public Methods

Callers

nothing calls this directly

Calls 4

getPositionMethod · 0.45
readMethod · 0.45
push_backMethod · 0.45
setPositionMethod · 0.45

Tested by

no test coverage detected