1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-02-08 12:25:13 +01:00
GPXSee/src/map/IMG/huffmanbuffer.cpp

25 lines
612 B
C++
Raw Normal View History

#include "rgnfile.h"
#include "huffmanbuffer.h"
bool HuffmanBuffer::load(const RGNFile *rgn, SubFile::Handle &rgnHdl)
{
quint32 recordSize, recordOffset = rgn->dictOffset();
for (int i = 0; i <= _id; i++) {
if (!rgn->seek(rgnHdl, recordOffset))
return false;
if (!rgn->readVUInt32(rgnHdl, recordSize))
return false;
recordOffset = rgn->pos(rgnHdl) + recordSize;
if (recordOffset > rgn->dictOffset() + rgn->dictSize())
return false;
};
resize(recordSize);
for (int i = 0; i < QByteArray::size(); i++)
2021-02-01 20:06:05 +01:00
if (!rgn->readByte(rgnHdl, (quint8*)(data() + i)))
return false;
return true;
}