Return TypeFunction nameArguments
boolIsEntity(unsigned int&,unsigned int&,const char*,)

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

Function Logic:

0:START 1:uVal nLen 2:!tok 3:Return false 4:tok[0]!='&' 5:Return false 6:i 7:*i=='a'&&memcmp(i,amp;,4)==0 8:uVal nLen 9:Return true 10:*i=='g'&&memcmp(i,gt;,3)==0 11:uVal nLen 12:Return true 13:*i=='l'&&memcmp(i,lt;,3)==0 14:uVal nLen 15:Return true 16:*i=='n'&&memcmp(i,nbsp;,5)==0 17:uVal nLen 18:Return true 19:tok[1]!='#' 20:Return false 21:tok[2]=='x' 22:IsHex(*i); 23:v 24:*i>='0'&&*i<='9' 25:v 26:*i>='A'&&*i<='F' 27:v v 28:*i>='a'&&*i<='f' 29:v v 30:IsDigit(*i); 31:v v 32:*i==';' 33:uVal nLen 34:Return true 35:Return false

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