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