Return TypeFunction nameArguments
hzChain&hzChain::operator+=(const char*,)

Declared in file: hzChain.h
Defined in file : hzChain.cpp

Function Logic:

0:START 1:!s||!s[0] 2:Return *this 3:!mx 4:mx mx 5:!mx->m_Begin 6:_zblk_alloc mx mx 7:curBlk 8:!curBlk 9:Fatal 10:*i; 11:curBlk->m_nUsage==ZBLKSIZE 12:_zblk_alloc newBlk _zblk::Prev _zblk::Next curBlk mx 13:curBlk items items 14:Return *this

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