| Return Type | Function name | Arguments |
|---|---|---|
| bool | IsEntity | (unsigned int&,unsigned int&,const char*,) |
Declared in file: hzTextproc.h
Defined in file : hzTextproc.cpp
Function Logic:
Function body:
bool IsEntity (unsigned int& uVal, unsigned int& nLen, const char* tok)
{
uint32_t v = 0;
int32_t c = 0;
const char* i ;
uVal = 0;
nLen = 0;
if (!tok) return false ;
if (tok[0]!= ''&'') return false ;
i = tok + 1;
if (*i == ''a''&&memcmp(i, "amp;", 4)== 0) { uVal = 38;nLen = 5; return true ; }
if (*i == ''g''&&memcmp(i, "gt;", 3)== 0) { uVal = 62;nLen = 4; return true ; }
if (*i == ''l''&&memcmp(i, "lt;", 3)== 0) { uVal = 60;nLen = 4; return true ; }
if (*i == ''n''&&memcmp(i, "nbsp;", 5)== 0) { uVal = 32;nLen = 6; return true ; }
if (tok[1]!= ''#'') return false ;
if (tok[2]== ''x'')
{
for (c = 3,i = tok + c ; IsHex(*i) ; c++, i++)
{
v *= 16;
if (*i >&eq; ''0''&&*i <&eq; ''9''){v += (*i - ''0'');continue ; }
if (*i >&eq; ''A''&&*i <&eq; ''F''){v += 10;v += (*i - ''A'');continue ; }
if (*i >&eq; ''a''&&*i <&eq; ''f''){v += 10;v += (*i - ''a'');continue ; }
break ;
}
}
else
{
for (c = 2,i = tok + c ; IsDigit(*i) ; c++, i++)
{
v *= 10;
v += (*i - ''0'');
}
}
if (*i == '';'')
{
uVal = v ;
nLen = c + 1;
return true ;
}
return false ;
}