Return TypeFunction nameArguments
hzEcodeReadSerialUINT32(unsigned int&,unsigned int&,const unsigned char*,)

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

Function Logic:

0:START 1:!ptr 2:Return hzerr(E_ARGUMENT,No length indicator supplied) 3:*ptr&0x80 4:*ptr&0xE0 5:0x80 6:nValue nValue nLen

Function body:

hzEcode ReadSerialUINT32 (unsigned int& nValue, unsigned int& nLen, const unsigned char* ptr)
{
   if (!ptr)
       return hzerr(E_ARGUMENT, "No length indicator supplied") ;
   if (*ptr & 0x80)
   {
       switch  (*ptr & 0xE0)
       {
       case 0x80:
                   nValue = ((ptr[0]& 0x1f)<<8);
                   nValue += ptr[1];
                   nLen = 2;
                   break ;
       case 0xA0:
                   nValue += ((ptr[1]<< 8)+ ptr[2]);
                   nLen = 3;
                   break ;
       case 0xC0:
                   nValue += ((ptr[1]<< 16)+(ptr[2]<< 8)+ ptr[3]);
                   nLen = 4;
                   break ;
       case 0xE0:
                   _endian_import4(nValue, ptr + 1);
                   nLen = 5;
                   break ;
       }
   }
   else
   {
       nLen = 1;
       nValue = *ptr & 0x7f;
   }
   return E_OK ;
}