Return TypeFunction nameArguments
boolAtEntity(unsigned int&,unsigned int&,hzChain::Iter&,)

Declared in file: hzTextproc.h
Defined in file : hzTextproc.cpp

Function Logic:

0:START 1:entLen uVal nLen xi 2:*xi!=(char)38 3:Return false 4:items 5:*xi=='a'&&xi==amp; 6:uVal 7:Return 5 8:*xi=='g'&&xi==gt; 9:uVal 10:Return 4 11:*xi=='l'&&xi==lt; 12:uVal 13:Return 4 14:*xi=='n'&&xi==nbsp; 15:uVal 16:Return 6 17:*xi!=(char)35 18:Return false 19:items 20:*xi=='x' 21:nLen 22:!xi.eof()&&IsHex(*xi); 23:uVal 24:*xi>='0'&&*xi<='9' 25:uVal 26:*xi>='A'&&*xi<='F' 27:uVal uVal 28:*xi>='a'&&*xi<='f' 29:uVal uVal 30:nLen 31:!xi.eof()&&IsDigit(*xi); 32:uVal uVal 33:*xi==';' 34:entLen 35:Return true 36:uVal 37:Return false

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