From 54ad31d6d3ee46f752b73174b96082a430fabc44 Mon Sep 17 00:00:00 2001 From: "zik.saleeba" Date: Wed, 2 Jun 2010 19:31:51 +0000 Subject: [PATCH] Fixed a problem with lexing very large hex constants as reported by Sen Chang in issue #78. git-svn-id: http://picoc.googlecode.com/svn/trunk@417 21eae674-98b7-11dd-bd71-f92a316d2d60 --- lex.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lex.c b/lex.c index ff564c8..717c4a5 100644 --- a/lex.c +++ b/lex.c @@ -151,7 +151,7 @@ enum LexToken LexGetNumber(struct LexState *Lexer, struct Value *Value) for (; Lexer->Pos != Lexer->End && IS_BASE_DIGIT(*Lexer->Pos, Base); LEXER_INC(Lexer)) Result = Result * Base + GET_BASE_DIGIT(*Lexer->Pos); - if (Result <= MAX_CHAR_VALUE) + if (Result >= 0 && Result <= MAX_CHAR_VALUE) { Value->Typ = &CharType; Value->Val->Character = Result;