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 ; }