private long GetNextAreaHeader(long offset, long[] header)
{
Read(offset, headerBuf, 0, 8);
long sz = BytesUtil.ReadInt8(headerBuf, 0);
sz = sz & ActiveFlag;
long nextOffset = offset + sz;
if (nextOffset >= DataAreaEndOffset) {
// Return a 0 sized block
header[0] = 0;
return -1;
}
Read(nextOffset, headerBuf, 0, 8);
header[0] = BytesUtil.ReadInt8(headerBuf, 0);
return nextOffset;
}