| Return Type | Function name | Arguments |
|---|---|---|
| hzEcode | ReadSerialSINT32 | (int&,hzChain::Iter&,) |
Declared in file: hzCodec.h
Defined in file : hzCodec.cpp
Function Logic:
Function body:
hzEcode ReadSerialSINT32 (int& nValue, hzChain::Iter& zi)
{
uint32_t val ;
bool bNeg ;
bNeg = *zi & 0x40;
if (!(*zi & 0x80))
{
val = *zi & 0x3f;
zi++ ;
}
else
{
switch (*zi & 0x30)
{
case 0x00:
val = *zi & 0x0f;
zi++ ; val <<&eq; 8; val+= (uchar) *zi ;
break ;
case 0x10:
val = *zi & 0x0f;
zi++ ; val <<&eq; 8; val+= (uchar) *zi ;
zi++ ; val <<&eq; 8; val+= (uchar) *zi ;
break ;
case 0x20:
val = *zi & 0x0f;
zi++ ; val <<&eq; 8; val+= (uchar) *zi ;
zi++ ; val <<&eq; 8; val+= (uchar) *zi ;
zi++ ; val <<&eq; 8; val+= (uchar) *zi ;
break ;
case 0x30:
zi++ ; val = (uchar) *zi ;
zi++ ; val <<&eq; 8; val+= (uchar) *zi ;
zi++ ; val <<&eq; 8; val+= (uchar) *zi ;
zi++ ; val <<&eq; 8; val+= (uchar) *zi ;
break ;
}
}
nValue = bNeg ? -val : val ;
return E_OK ;
}