| Return Type | Function name | Arguments |
|---|---|---|
| bool | IsInteger | (char&,const char*,) |
Declared in file: hzTextproc.h
Defined in file : hzTypes.cpp
Function Logic:
Function body:
bool IsInteger (char& nVal)const char* tok,
{
_hzfunc("IsInteger(int8)") ;
const char* i = tok ; // Input string iterator
uint32_t count = 0; // Length test
char val = 0; // Value aggregator
char bNeg = 0; // Negator
if (!tok || !tok[0])
return false ;
// Ignore leading spaces
for (; *i == CHAR_SPACE ; i++) ;
// Test for minus sign
if (*i == CHAR_MINUS)
{ bNeg = 1; i++ ; }
// Test for plus sign
if (*i == CHAR_PLUS)
{
if (bNeg)
return false ;
i++ ;
}
// Ignore spaces after sign and before digits
for (; *i == CHAR_SPACE ; i++) ;
for (count = 0; count < 4&& *i ; count++, i++)
{
if (!(chartype[*i] & CTYPE_DIGIT))
return false ;
val *= 10;
val += (*i - CHAR_0) ;
}
// Check size
if (count > 3)
return false ;
nVal = bNeg ? val * -1: val ;
return true ;
}