Return Type | Function name | Arguments |
---|---|---|
hzAtom& | hzAtom::Clear | (void) |
Declared in file: hzDatabase.h
Defined in file : hzAtom.cpp
Function Logic:
Function body:
hzAtom& hzAtom::Clear (void) { _hzfunc("hzAtom::Clear") ; if (m_eStatus == ATOM_CLEAR) { if (m_eType == BASETYPE_UNDEF) { if (m_Data.m_uInt64) hzerr(E_CORRUPT, "Atom status clear, no data type but non-zero value") ; m_Data.m_uInt64 = 0; m_eStatus = ATOM_CLEAR ; m_eType = BASETYPE_UNDEF ; } else { if (m_Data.m_uInt64) hzerr(E_CORRUPT, "Atom status clear but has data type and value") ; else hzerr(E_CORRUPT, "Atom status clear, no value but type %s", Basetype2Txt(m_eType)) ; m_Data.m_uInt64 = 0; m_eStatus = ATOM_CLEAR ; m_eType = BASETYPE_UNDEF ; } return *this ; } if (m_eStatus == ATOM_ERROR) { if (m_eType != BASETYPE_UNDEF) hzerr(E_CORRUPT, "Atom status error - but with data type %s", Basetype2Txt(m_eType)) ; if (m_Data.m_uInt64) hzerr(E_CORRUPT, "Atom status error - but with value") ; m_Data.m_uInt64 = 0; m_eStatus = ATOM_CLEAR ; m_eType = BASETYPE_UNDEF ; return *this ; } if (m_eStatus == ATOM_SET) { if (m_eType == BASETYPE_UNDEF) hzexit(E_CORRUPT, "Atom status set but no data type") ; } else { hzexit(E_CORRUPT, "Atom status unknown") ; } if (m_eType == BASETYPE_DIGEST) { if (m_Data.m_pVoid) delete [] (uchar*) m_Data.m_pVoid ; } if (m_Data.m_uInt32) { if (m_eType == BASETYPE_STRING) { hzString tmp ; tmp._int_set(m_Data.m_uInt32) ; tmp.Clear() ; } if (m_eType == BASETYPE_DOMAIN) { hzDomain tmp ; tmp._int_set(m_Data.m_uInt32) ; tmp.Clear() ; } if (m_eType == BASETYPE_EMADDR) { hzEmaddr tmp ; tmp._int_set(m_Data.m_uInt32) ; tmp.Clear() ; } if (m_eType == BASETYPE_URL) { hzUrl tmp ; tmp._int_set(m_Data.m_uInt32) ; tmp.Clear() ; } } m_Data.m_uInt64 = 0; m_eType = BASETYPE_UNDEF ; m_eStatus = ATOM_CLEAR ; return *this ; }