39 lines
534 B
C++
39 lines
534 B
C++
#include "StdAfx.h"
|
|
#include "TStaticBuffer.h"
|
|
|
|
TStaticBuffer::TStaticBuffer(char *pBuf, int nSize)
|
|
: m_pBuf(pBuf), m_nSize(nSize)
|
|
{
|
|
m_nPos = 0;
|
|
}
|
|
|
|
TStaticBuffer::~TStaticBuffer()
|
|
{
|
|
if (m_pBuf)
|
|
{
|
|
delete m_pBuf;
|
|
}
|
|
}
|
|
|
|
int TStaticBuffer::IsEOF()
|
|
{
|
|
return (m_nPos >= m_nSize);
|
|
}
|
|
|
|
int TStaticBuffer::operator !()
|
|
{
|
|
return (!m_pBuf || IsEOF());
|
|
}
|
|
|
|
int TStaticBuffer::Read(void *pDest, int nCount)
|
|
{
|
|
if (m_nPos + nCount > m_nSize)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
memcpy(pDest, &m_pBuf[m_nPos], nCount);
|
|
m_nPos += nCount;
|
|
|
|
return 1;
|
|
} |