Let the scanner returned unsigned integers
- The scanner already recognized the u suffix for unsigned integers, but otherwise ignored it. Return it as a proper token.
This commit is contained in:
parent
aec6aff7a8
commit
33344201fa
3 changed files with 15 additions and 3 deletions
|
|
@ -530,8 +530,19 @@ bool FScanner::GetToken ()
|
|||
else if (TokenType == TK_IntConst)
|
||||
{
|
||||
char *stopper;
|
||||
Number = strtol(String, &stopper, 0);
|
||||
Float = Number;
|
||||
// Check for unsigned
|
||||
if (String[StringLen - 1] == 'u' || String[StringLen - 1] == 'U' ||
|
||||
String[StringLen - 2] == 'u' || String[StringLen - 2] == 'U')
|
||||
{
|
||||
TokenType = TK_UIntConst;
|
||||
Number = strtoul(String, &stopper, 0);
|
||||
Float = (unsigned)Number;
|
||||
}
|
||||
else
|
||||
{
|
||||
Number = strtol(String, &stopper, 0);
|
||||
Float = Number;
|
||||
}
|
||||
}
|
||||
else if (TokenType == TK_FloatConst)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue