| 112 | //----------------------------------------------------------------------------- |
| 113 | |
| 114 | bool FileHeader::read(Stream *stream) |
| 115 | { |
| 116 | stream->read(&mHeaderSig); |
| 117 | if(mHeaderSig != mFileHeaderSignature) |
| 118 | return false; |
| 119 | |
| 120 | stream->read(&mExtractVer); |
| 121 | stream->read(&mFlags); |
| 122 | stream->read(&mCompressMethod); |
| 123 | stream->read(&mModTime); |
| 124 | stream->read(&mModDate); |
| 125 | stream->read(&mCRC32); |
| 126 | stream->read(&mCompressedSize); |
| 127 | stream->read(&mUncompressedSize); |
| 128 | |
| 129 | U16 fnLen, efLen; |
| 130 | stream->read(&fnLen); |
| 131 | stream->read(&efLen); |
| 132 | |
| 133 | char *fn = new char[fnLen + 1]; |
| 134 | stream->read(fnLen, fn); |
| 135 | fn[fnLen] = 0; |
| 136 | mFilename = fn; |
| 137 | SAFE_DELETE_ARRAY(fn); |
| 138 | |
| 139 | |
| 140 | return readExtraFields(stream, efLen); |
| 141 | } |
| 142 | |
| 143 | bool FileHeader::write(Stream *stream) |
| 144 | { |
no outgoing calls
no test coverage detected