Purpose: Formulate a textual representation of the atom value

Return TypeFunction nameArguments
const char*hzAtom::Show(void)

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

Function Logic:

0:START 1:unknown 2:Return 0 3:unknown 4:Return s_atom_error 5:unknown 6:Return s_atom_state 7:m_eType 8:BASETYPE_UNDEF 9:Return 0 10:BASETYPE_CPP_UNDEF 11:Return *s_cpp_undef 12:BASETYPE_DIGEST 13:pMd5 14:unknown 15:Return pMd5->Txt() 16:Return 0 17:BASETYPE_DOUBLE 18:pBuf items 19:Return pBuf 20:BASETYPE_INT64 21:pBuf items 22:Return pBuf 23:BASETYPE_INT32 24:pBuf items 25:Return pBuf 26:BASETYPE_INT16 27:pBuf items 28:Return pBuf 29:BASETYPE_BYTE 30:pBuf items 31:Return pBuf 32:BASETYPE_UINT64 33:pBuf items 34:Return pBuf 35:BASETYPE_UINT32 36:pBuf items 37:Return pBuf 38:BASETYPE_UINT16 39:pBuf items 40:Return pBuf 41:BASETYPE_UBYTE 42:pBuf items 43:Return pBuf 44:BASETYPE_BOOL 45:Return m_Data.m_Bool?*s_bool_true:*s_bool_false 46:BASETYPE_HZO_UNDEF 47:Return *s_hzo_undef 48:BASETYPE_STRING 49:items ptr items 50:Return ptr 51:BASETYPE_DOMAIN 52:items ptr items 53:Return ptr 54:BASETYPE_EMADDR 55:items ptr items 56:Return ptr 57:BASETYPE_URL 58:Return *Url() 59:BASETYPE_IPADDR 60:Return *Ipaddr() 61:BASETYPE_TIME 62:Return *Time() 63:BASETYPE_SDATE 64:Return *SDate() 65:BASETYPE_XDATE 66:items 67:Return xd.Txt() 68:BASETYPE_TEXT 69:pBuf items 70:Return pBuf 71:BASETYPE_BINARY 72:pBuf items 73:Return pBuf 74:BASETYPE_TXTDOC 75:pBuf items 76:Return pBuf 77:BASETYPE_ENUM 78:pBuf items 79:Return pBuf 80:BASETYPE_APPDEF 81:pBuf items 82:Return pBuf 83:BASETYPE_CLASS 84:pBuf items 85:Return pBuf 86:Return 0

Function body:

const char* hzAtom::Show (void)
{
   //  Purpose: Formulate a textual representation of the atom value
   //  
   //  Arguments: 1) eFmt Format (optional)
   //  
   //  Returns: Instance of hzString by value being atom value in text form.
   _hzfunc("hzAtom::Show") ;
   const char* ptr ;       //  From string-like entities
   char*       pBuf ;      //  Scratch pad buffer
   hzMD5*      pMd5 ;      //  Digest
   hzXDate     xd ;        //  Recepticle for hzXDate data
   hzDomain    dom ;       //  Domain
   hzEmaddr    ema ;       //  Recepticle for hzEmaddr data
   hzUrl       url ;       //  Recepticle for hzUrl data
   hzIpaddr    ipa ;       //  Recepticle for hzIpaddr data
   hzSDate     sd ;        //  Recepticle for hzSDate data
   hzTime      ti ;        //  Recepticle for hzTime data
   hzString    str ;       //  Temp str
   //  threadLog("status %d type %d val %x\n", m_eStatus, m_eType, m_Data.m_uInt64) ;
   if (m_eStatus == ATOM_CLEAR)    return 0;
   if (m_eStatus == ATOM_ERROR)    return s_atom_error ;
   if (m_eStatus != ATOM_SET)      return s_atom_state ;
   switch (m_eType)
   {
   case BASETYPE_UNDEF:        return 0;
   case BASETYPE_CPP_UNDEF:    return *s_cpp_undef ;
   case BASETYPE_DIGEST:       pMd5 = (hzMD5*) m_Data.m_pVoid ;
                               if (pMd5)
                                   return pMd5->Txt() ;
                               return 0;
   case BASETYPE_DOUBLE:       pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "%f", m_Data.m_Double) ;  return pBuf ;
   case BASETYPE_INT64:        pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "%ld", m_Data.m_sInt64) ; return pBuf ;
   case BASETYPE_INT32:        pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "%d", m_Data.m_sInt32) ;  return pBuf ;
   case BASETYPE_INT16:        pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "%d", m_Data.m_sInt16) ;  return pBuf ;
   case BASETYPE_BYTE:         pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "%d", m_Data.m_sByte) ;   return pBuf ;
   case BASETYPE_UINT64:       pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "%lu", m_Data.m_uInt64) ; return pBuf ;
   case BASETYPE_UINT32:       pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "%u", m_Data.m_uInt32) ;  return pBuf ;
   case BASETYPE_UINT16:       pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "%u", m_Data.m_uInt16) ;  return pBuf ;
   case BASETYPE_UBYTE:        pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "%u", m_Data.m_uByte) ;   return pBuf ;
   case BASETYPE_BOOL:         return m_Data.m_Bool ? *s_bool_true : *s_bool_false ;
   case BASETYPE_HZO_UNDEF:    return *s_hzo_undef ;
   case BASETYPE_STRING:       str._int_set(m_Data.m_uInt32) ; ptr = (const char*) str ; str._int_clr() ; return ptr ;
   case BASETYPE_DOMAIN:       dom._int_set(m_Data.m_uInt32) ; ptr = (const char*) dom ; dom._int_clr() ; return ptr ;
   case BASETYPE_EMADDR:       ema._int_set(m_Data.m_uInt32) ; ptr = (const char*) ema ; ema._int_clr() ; return ptr ;
   case BASETYPE_URL:          return *Url() ;
   case BASETYPE_IPADDR:       return *Ipaddr() ;
   case BASETYPE_TIME:         return *Time() ;
   case BASETYPE_SDATE:        return *SDate() ;
   case BASETYPE_XDATE:        xd.SetDate(m_Data.m_uInt64) ;
                               return xd.Txt() ;
       case BASETYPE_TEXT:         pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "TXT ref=%x", m_Data.m_uInt32) ;  return pBuf ;
       case BASETYPE_BINARY:       pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "BIN ref=%x", m_Data.m_uInt32) ;  return pBuf ;
       case BASETYPE_TXTDOC:       pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "DOC ref=%x", m_Data.m_uInt32) ;  return pBuf ;
   case BASETYPE_ENUM:         pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "%u",         m_Data.m_sInt32) ;  return pBuf ;
       case BASETYPE_APPDEF:       pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "APP ref=%x", m_Data.m_uInt32) ;  return pBuf ;
       case BASETYPE_CLASS:        pBuf = _thisfn.ScratchPad(24);  sprintf(pBuf, "OBJ ref=%x", m_Data.m_uInt32) ;  return pBuf ;
   }
   return 0;
}