Added raw data block mode in IszImageStream.

git-svn-id: http://svn.purei.org/purei/trunk@523 b36208d7-6611-0410-8bec-b1987f11c4a2
This commit is contained in:
jpd002 2009-05-23 02:09:37 +00:00
parent b51b5facfd
commit 788c9d1883
2 changed files with 13 additions and 0 deletions

View File

@ -167,6 +167,9 @@ void CIszImageStream::SyncCache()
case ADI_ZERO:
ReadZeroBlock(blockDescriptor.size);
break;
case ADI_DATA:
ReadDataBlock(blockDescriptor.size);
break;
case ADI_ZLIB:
ReadGzipBlock(blockDescriptor.size);
break;
@ -188,6 +191,15 @@ void CIszImageStream::ReadZeroBlock(uint32 compressedBlockSize)
}
}
void CIszImageStream::ReadDataBlock(uint32 compressedBlockSize)
{
if(compressedBlockSize != m_header.blockSize)
{
throw runtime_error("Invalid data block.");
}
m_baseStream->Read(m_cachedBlock, compressedBlockSize);
}
void CIszImageStream::ReadGzipBlock(uint32 compressedBlockSize)
{
m_baseStream->Read(m_readBuffer, compressedBlockSize);

View File

@ -75,6 +75,7 @@ private:
void SyncCache();
void ReadZeroBlock(uint32);
void ReadDataBlock(uint32);
void ReadGzipBlock(uint32);
void ReadBz2Block(uint32);