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 ; }