| Return Type | Function name | Arguments |
|---|---|---|
| hzChain& | hzChain::operator+= | (const char*,) |
Declared in file: hzChain.h
Defined in file : hzChain.cpp
Function Logic:
Function body:
hzChain& hzChain::operator+= (const char* s)
{
_hzfunc("hzChain::operator+=(char*)") ;
_zblk* curBlk ;
_zblk* newBlk ;
const char* i ;
if (!s || !s[0])
return *this ;
if (!mx)
{ mx = new _chain() ; mx->m_Test = mx ; }
if (!mx->m_Begin)
mx->m_Begin = mx->m_End = _zblk_alloc() ;
curBlk = (_zblk*) mx->m_End ;
if (!curBlk)
Fatal("Chain %p has no end block\n", this) ;
for (i = s ; *i ; i++)
{
if (curBlk->m_nUsage == ZBLKSIZE)
{
newBlk = _zblk_alloc() ;
newBlk->Prev(curBlk) ;
curBlk->Next(newBlk) ;
mx->m_End = curBlk = newBlk ;
}
curBlk->m_Data[curBlk->m_nUsage] = *i ;
curBlk->m_nUsage++ ;
mx->m_nSize++ ;
}
return *this ;
}