Return TypeFunction nameArguments
hzEcodeReadSerialUINT32(unsigned int&,hzXbuf::Iter&,)

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

Function Logic:

0:START 1:hzXbuf::Iter::eof 2:zi.eof() 3:nValue 4:Return E_OK 5:!(*zi&0x80) 6:val items nValue 7:Return E_OK 8:*zi&0xE0 9:0x80 10:val items val

Function body:

hzEcode ReadSerialUINT32 (unsigned int& nValue, hzXbuf::Iter& zi)
{
   uint32_t    val = 0;
   if (zi.eof())
   {
       nValue = 0;
       return E_OK ;
   }
   if (!(*zi & 0x80))
   {
       val = *zi & 0x7f;
       zi++ ;
       nValue = val ;
       return E_OK ;
   }
   switch  (*zi & 0xE0)
   {
   case 0x80:
               val = ((*zi & 0x1f)<<8);
               zi++ ;  val += *zi ;
               break ;
   case 0xA0:
               val = ((*zi & 0x1f)<<16);
               zi++ ;  val += (*zi << 8);
               zi++ ;  val += *zi ;
               break ;
   case 0xC0:
               val = ((*zi & 0x1f)<<24);
               zi++ ;  val += (*zi << 16);
               zi++ ;  val += (*zi << 8);
               zi++ ;  val += *zi ;
               break ;
   case 0xE0:
               zi++ ;  val = (*zi << 24);
               zi++ ;  val += (*zi << 16);
               zi++ ;  val += (*zi << 8);
               zi++ ;  val += *zi ;
               break ;
   }
   zi++ ;
   nValue = val ;
   return E_OK ;
}