Return TypeFunction nameArguments
hzEcodeReadSerialSINT64(long&,hzChain::Iter&,)

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

Function Logic:

0:START 1:bNeg 2:!(*zi&0x80) 3:val items 4:nLen nLen val 5:nLen==9 6:val n 7:n 8:items val val 9:nValue 10:Return E_OK

Function body:

hzEcode ReadSerialSINT64 (long& nValue, hzChain::Iter& zi)
{
   uint64_t    val ;
   uint32_t    n ;
   uint32_t    nLen ;
   bool        bNeg ;
   bNeg = *zi & 0x40;
   if (!(*zi & 0x80))
   {
       val = *zi & 0x3f;
       zi++ ;
   }
   else
   {
       nLen = (*zi & 0x70)>>4;
       nLen += 2;
       val = *zi & 0x0f;
       if (nLen == 9)
       {
           val = 0;
       }
       for (n = nLen == 9? 1: 2; n < nLen ; n++)
       {
           zi++ ;
           val <<&eq; 8;
           val += *zi ;
       }
   }
   nValue = bNeg ? -val : val ;
   return E_OK ;
}