Clear the contents Arguments: None Returns: None

Return TypeFunction nameArguments
voidhzEmaddr::Clear(void)

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

Function Logic:

0:START 1:unknown 2:pCtrl 3:unknown 4:items 5:unknown 6:items m_addr 7: No text 8:unknown 9:items m_addr 10: No text 11:unknown 12:unknown 13:items 14:items 15:unknown 16:pCtrl 17:pCtrl 18:nLen rc 19:m_addr 20:unknown 21:items 22: No text

Function body:

void hzEmaddr::Clear (void)
{
   //  Clear the contents
   //  
   //  Arguments: None
   //  Returns: None
   _hzfunc("hzEmaddr::Clear") ;
   _ema_space* pCtrl ;         //  This email address space
   uint32_t    nLen ;          //  Length
   hzEcode     rc = E_OK ;     //  Return code
    if (m_addr)
    {
       //  pCtrl = (_ema_space*) g_ssrInet.Xlate(m_addr) ;
       pCtrl = _emaXlate(m_addr) ;
       if (!pCtrl)
           hzexit(E_CORRUPT, "Illegal string address %u:%u", (m_addr&0x7fff0000)>>16,m_addr&0xffff);
       if (pCtrl->m_copy == 0)
           { threadLog("Deletion in progress address %u:%u\n", (m_addr&0x7fff0000)>>16,m_addr&0xffff);m_addr=0;return;}
       if (pCtrl->m_copy == 0xff)
       {
           //  hzerr(E_CORRUPT, "Invalid email addr (cpy %u lhs %u rhs %u) address %u:%u", pCtrl->m_copy, pCtrl->m_lhs, pCtrl->m_rhs, (m_addr&0x7fff0000)>>16, m_addr&0xffff) ;
           threadLog("CORRUPT: Invalid email addr (cpy %u lhs %u rhs %u) address %u:%u\n", pCtrl->m_copy, pCtrl->m_lhs, pCtrl->m_rhs, (m_addr&0x7fff0000)>>16,m_addr&0xffff);
           m_addr = 0;
           return ;
       }
       if (pCtrl->m_copy && pCtrl->m_copy < 100)
       {
           if (_hzGlobal_MT)
               __sync_add_and_fetch(&(pCtrl->m_copy), -1);
           else
               pCtrl->m_copy-- ;
           if (pCtrl->m_copy == 0)
           {
               nLen = pCtrl->m_lhs + pCtrl->m_rhs + 1;
               rc = _emaFree(m_addr, nLen + EMA_FACTOR) ;
           }
        }
        m_addr = 0;
    }
   if (rc != E_OK)
       threadLog("Email address %s not deleted\n", pCtrl->m_data) ;
}