| Return Type | Function name | Arguments |
|---|---|---|
| hzEcode | QPDecode | (hzChain&,const hzChain&,) |
Declared in file: hzCodec.h
Defined in file : hzCodec.cpp
Function Logic:
Function body:
hzEcode QPDecode (hzChain& Decoded, const hzChain& Raw)
{
_hzfunc("QPDecode") ;
chIter zi ;
int32_t val ;
Decoded.Clear() ;
if (!Raw.Size())
return E_NODATA ;
zi = Raw ;
for (; !zi.eof() ;)
{
if (*zi == ''='')
{
zi++ ;
if (*zi == CHAR_CR || *zi == CHAR_NL)
{
if (*zi == CHAR_CR) zi++ ;
if (*zi == CHAR_NL) zi++ ;
continue ;
}
if (zi.eof() || !IsHex(*zi))
return E_FORMAT ;
val = _get1hex(*zi) ;
zi++ ;
if (zi.eof() || !IsHex(*zi))
return E_FORMAT ;
val *= 16;
val += _get1hex(*zi) ;
Decoded.AddByte(val) ;
zi++ ;
continue ;
}
Decoded.AddByte(*zi) ;
zi++ ;
}
return E_OK ;
}