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

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

Function Logic:

0:START 1:unknown 2:Return false 3:unknown 4:unknown 5:bNeg items 6:unknown 7:unknown 8:Return false 9:items 10:unknown 11:unknown 12:unknown 13:Return false 14:val * val 15:unknown 16:Return false 17:items 18:Return true

Function body:

bool IsInteger (int64_t& nVal)const char* tok, 
{
   _hzfunc("IsInteger(int64)") ;
   const char* i = tok ;       //  Input string iterator
   int64_t     val = 0;        //  Value aggregator
   uint32_t    count = 0;      //  Length test
   bool        bNeg = false ;  //  Negation indicator
   if (!tok || !tok[0])
       return false ;
   //  Ignore leading spaces
   for (; *i == CHAR_SPACE ; i++, count++) ;
   //  Check for minus sign
   if (*i == CHAR_MINUS)
       { bNeg = true ; i++ ; }
   //  Check for plus sign
   if (*i == CHAR_PLUS)
   {
       if (bNeg)
           return false ;
       i++ ;
   }
   //  Remove any spaces between sign and digits
   for (; *i == CHAR_SPACE ; i++) ;
   //  Calculate value
   for (count = 0; count < 21&&*i ; count++, i++)
   {
       if (!(chartype[*i] & CTYPE_DIGIT))
           return false ;
       val *= 10;
       val += (int64_t) (*i - CHAR_0) ;
   }
   //  Check size
   if (count > 20)
       return false ;
   nVal = bNeg ? val * -1: val ;
   return true ;
}