diff options
author | Zackery Spytz <zspytz@gmail.com> | 2019-02-21 02:11:51 -0700 |
---|---|---|
committer | Zackery Spytz <zspytz@gmail.com> | 2019-02-21 02:11:51 -0700 |
commit | 1c03af9b96c5c3e2eb5afd2f2e93e4381bfa2261 (patch) | |
tree | b3cfb1fff3aeb5fc60f2e863d963b5dcf3959d99 /Source | |
parent | 32b963ef1caccf7bc941e16c9a6fc7abe8c8fd8d (diff) | |
download | swig-1c03af9b96c5c3e2eb5afd2f2e93e4381bfa2261.tar.gz |
Fix some rejections of valid floating-point literals
Some valid floating-point literals were giving
"Error: Syntax error in input(1)".
Diffstat (limited to 'Source')
-rw-r--r-- | Source/Swig/scanner.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/Swig/scanner.c b/Source/Swig/scanner.c index 964336621..908bc747f 100644 --- a/Source/Swig/scanner.c +++ b/Source/Swig/scanner.c @@ -1160,6 +1160,8 @@ static int look(Scanner *s) { return SWIG_TOKEN_INT; if (isdigit(c)) state = 84; + else if ((c == 'e') || (c == 'E')) + state = 82; else if ((c == 'x') || (c == 'X')) state = 85; else if ((c == 'b') || (c == 'B')) @@ -1181,6 +1183,10 @@ static int look(Scanner *s) { return SWIG_TOKEN_INT; if (isdigit(c)) state = 84; + else if (c == '.') + state = 81; + else if ((c == 'e') || (c == 'E')) + state = 82; else if ((c == 'l') || (c == 'L')) { state = 87; } else if ((c == 'u') || (c == 'U')) { |