| Return Type | Function name | Arguments |
|---|---|---|
| unsigned int | hzXbuf::Iter::Advance | (unsigned int,) |
Declared in file: hzXbuf.h
Defined in file : hzXbuf.cpp
Function Logic:
Function body:
unsigned int hzXbuf::Iter::Advance (unsigned int nInc)
{
_hzfunc("hzXbuf::Iter::Advance") ;
_xblk* zp ;
uint32_t nCan ;
uint32_t nAdv = 0;
if (nInc < 0)
return 0;
zp = (_xblk*) m_block ;
if (!zp)
return 0;
for (; nAdv < nInc ;)
{
nCan = zp->xize - m_nOset ;
if ((nCan + nAdv) > nInc)
nCan = nInc - nAdv ;
m_nOset += nCan ;
nAdv += nCan ;
if (m_nOset == zp->xize)
{
if (!zp->Next())
break ;
m_nOset = 0;
m_block = zp = zp->Next() ;
}
}
return nAdv ;
}