Release space

Return TypeFunction nameArguments
voidhzEdo::Clear(void)

Declared in file: hzDatabase.h
Defined in file : hdbObjRepos.cpp

Function Logic:

0:START 1:unknown 2:pSlot 3:unknown 4:items m_addr 5: No text 6:unknown 7:unknown 8:pSlot ( 9:( 10:nSize 11:pSlot 12:( 13:nSize 14:nSize 15:unknown 16:items 17:items 18:m_addr 19: No text

Function body:

void hzEdo::Clear (void)
{
   //  Release space
   _hzfunc("hzEdo::Clear") ;
   uchar*      pSlot ;     //  EDO string space
   uint32_t    nSize ;     //  EDO size
   if (m_addr)
   {
       pSlot = g_pSMAR_Edo->Xlate(m_addr) ;
       if (!pSlot)
       {
           hzerr(E_CORRUPT, "Could not Xlate address %u", m_addr) ;
           m_addr = 0;
           return ;
       }
       if (pSlot[0]& 0x80)
       {
           if (pSlot[0]& 0x40)
               nSize = ((pSlot[0]& 0x3f)<<16)+(pSlot[1]<<8)+pSlot[2];
           else
               nSize = ((pSlot[0]& 0x3f)<<8)+pSlot[1];
       }
       else
           nSize = pSlot[0];
       if (!nSize)
           hzerr(E_CORRUPT, "Zero sized EDO at address %u:%u", m_addr/0xffff,m_addr%0xffff);
       else
           g_pSMAR_Edo->Free(m_addr, nSize) ;
       m_addr = 0;
   }
}