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