Return TypeFunction nameArguments
boolIsInteger(long&,const char*,)

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

Function Logic:

0:START 1:!tok||!tok[0] 2:Return false 3:*i==(char)32; 4:*i==(char)45 5:bNeg items 6:*i==(char)43 7:bNeg 8:Return false 9:items 10:*i==(char)32; 11:count<21&&*i; 12:!(chartype[*i]&CTYPE_DIGIT) 13:Return false 14:val val 15:count>20 16:Return false 17:nVal 18:Return true

Function body:

bool IsInteger (long& nVal, const char* tok)
{
   _hzfunc("IsInteger(int64)") ;
   const char* i = tok ;
   int64_t     val = 0;
   uint32_t    count = 0;
   bool        bNeg = false ;
   if (!tok || !tok[0])
       return false ;
   for (; *i == CHAR_SPACE ; i++, count++) ;
   if (*i == CHAR_MINUS)
       { bNeg = true ; i++ ; }
   if (*i == CHAR_PLUS)
   {
       if (bNeg)
           return false ;
       i++ ;
   }
   for (; *i == CHAR_SPACE ; i++) ;
   for (count = 0; count < 21&&*i ; count++, i++)
   {
       if (!(chartype[*i] & CTYPE_DIGIT))
           return false ;
       val *= 10;
       val += (int64_t) (*i - CHAR_0) ;
   }
   if (count > 20)
       return false ;
   nVal = bNeg ? val * -1: val ;
   return true ;
}