| Return Type | Function name | Arguments |
|---|---|---|
| bool | AtEntity | (unsigned int&,unsigned int&,hzChain::Iter&,) |
Declared in file: hzTextproc.h
Defined in file : hzTextproc.cpp
Function Logic:
Function body:
bool AtEntity (unsigned int& uVal, unsigned int& entLen, hzChain::Iter& zi)
{
_hzfunc(__func__) ;
chIter xi ;
uint32_t nLen ;
uVal = entLen = 0;
nLen = 0;
xi = zi ;
if (*xi != CHAR_AMPSAND)
return false ;
xi++ ;
if (*xi == ''a''&&xi == "amp;") { uVal = 38;return 5; }
if (*xi == ''g''&&xi == "gt;") { uVal = 62;return 4; }
if (*xi == ''l''&&xi == "lt;") { uVal = 60;return 4; }
if (*xi == ''n''&&xi == "nbsp;") { uVal = 32;return 6; }
if (*xi != CHAR_HASH)
return false ;
xi++ ;
if (*xi == ''x'')
{
nLen = 4;
for (xi++ ; !xi.eof() && IsHex(*xi) ; nLen++, xi++)
{
uVal *= 16;
if (*xi >&eq; ''0''&&*xi <&eq; ''9''){uVal += (*xi - ''0'');continue ; }
if (*xi >&eq; ''A''&&*xi <&eq; ''F''){uVal += 10;uVal += (*xi - ''A'');continue ; }
if (*xi >&eq; ''a''&&*xi <&eq; ''f''){uVal += 10;uVal += (*xi - ''a'');continue ; }
break ;
}
}
else
{
nLen = 3;
for (; !xi.eof() && IsDigit(*xi) ; nLen++, xi++)
{
uVal *= 10;
uVal += (*xi - ''0'');
}
}
if (*xi == '';'')
{
entLen = nLen ;
return true ;
}
uVal = 0;
return false ;
}