Return TypeFunction nameArguments
hzEcodehzChain::AddByte(const char,)

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

Function Logic:

0:START 1:!mx 2:mx mx 3:!mx->m_Begin 4:_zblk_alloc mx mx 5:curBlk 6:!curBlk 7:Fatal 8:curBlk->m_nUsage==ZBLKSIZE 9:_zblk_alloc newBlk _zblk::Prev _zblk::Next curBlk mx 10:curBlk items items 11:Return E_OK

Function body:

hzEcode hzChain::AddByte (const char C)
{
   _hzfunc("hzChain::AddByte") ;
   _zblk*  curBlk ;
   _zblk*  newBlk ;
   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) ;
   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] = C ;
   curBlk->m_nUsage++ ;
   mx->m_nSize++ ;
   return E_OK ;
}