Return Type | Function name | Arguments |
---|---|---|
unsigned int | hzChain::Iter::Write | (void*,unsigned int,) |
Declared in file: hzChain.h
Defined in file : hzChain.cpp
Function Logic:
Function body:
unsigned int hzChain::Iter::Write (void* pBuf, unsigned int maxBytes) { _hzfunc("hzChain::Iter::Write") ; _zblk* zp ; char* i ; uint32_t nOset ; uint32_t nAvail ; uint32_t nWritten = 0; if (maxBytes < 0) return -1; zp = (_zblk*) m_block ; if (!zp) return -1; nOset = m_nOset ; i = (char*) pBuf ; for (; nWritten < maxBytes ;) { if (nOset == zp->m_nUsage) { zp = zp->Next() ; if (!zp) break ; nOset = 0; } nAvail = zp->m_nUsage - nOset ; if ((nWritten + nAvail) > maxBytes) nAvail = maxBytes - nWritten ; memcpy(i, zp->m_Data + nOset, nAvail) ; nOset += nAvail ; i += nAvail ; nWritten += nAvail ; } return nWritten ; }