Release space
| Return Type | Function name | Arguments |
|---|---|---|
| void | hzEdo::Clear | (void) |
Declared in file: hzDatabase.h
Defined in file : hdbObjRepos.cpp
Function Logic:
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;
}
}