cmLex.c: Fixed bug where a '-' with no following digits was interpretted as a integer.
This commit is contained in:
parent
c9a0a1b2dc
commit
18fc1b0a12
6
cmLex.c
6
cmLex.c
@ -200,10 +200,14 @@ unsigned _cmLexRealMatcher( cmLex* p, const cmChar_t* cp, unsigned cn, const cm
|
||||
unsigned _cmLexIntMatcher( cmLex* p, const cmChar_t* cp, unsigned cn, const cmChar_t* keyStr )
|
||||
{
|
||||
unsigned i = 0;
|
||||
bool signFl = false;
|
||||
for(; i<cn; ++i)
|
||||
{
|
||||
if( i==0 && cp[i]=='-' )
|
||||
{
|
||||
signFl = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if( !isdigit(cp[i]) )
|
||||
break;
|
||||
@ -220,7 +224,7 @@ unsigned _cmLexIntMatcher( cmLex* p, const cmChar_t* cp, unsigned cn, const cm
|
||||
// containing a decimal point as reals.
|
||||
|
||||
|
||||
return i;
|
||||
return signFl && i==1 ? 0 : i;
|
||||
}
|
||||
|
||||
unsigned _cmLexHexMatcher( cmLex* p, const cmChar_t* cp, unsigned cn, const cmChar_t* keyStr )
|
||||
|
Loading…
Reference in New Issue
Block a user