diff options
-rw-r--r-- | llex.c | 10 |
1 files changed, 4 insertions, 6 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: llex.c,v 2.16 2005/12/08 15:50:54 roberto Exp roberto $ | 2 | ** $Id: llex.c,v 2.17 2005/12/22 16:19:56 roberto Exp roberto $ |
3 | ** Lexical Analyzer | 3 | ** Lexical Analyzer |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -193,12 +193,10 @@ static void read_numeral (LexState *ls, SemInfo *seminfo) { | |||
193 | do { | 193 | do { |
194 | save_and_next(ls); | 194 | save_and_next(ls); |
195 | } while (isdigit(ls->current) || ls->current == '.'); | 195 | } while (isdigit(ls->current) || ls->current == '.'); |
196 | if (check_next(ls, "Ee")) { /* `E'? */ | 196 | if (check_next(ls, "Ee")) /* `E'? */ |
197 | check_next(ls, "+-"); /* optional exponent sign */ | 197 | check_next(ls, "+-"); /* optional exponent sign */ |
198 | while (isdigit(ls->current)) { | 198 | while (isalnum(ls->current) || ls->current == '_') |
199 | save_and_next(ls); | 199 | save_and_next(ls); |
200 | } | ||
201 | } | ||
202 | save(ls, '\0'); | 200 | save(ls, '\0'); |
203 | buffreplace(ls, '.', ls->decpoint); /* follow locale for decimal point */ | 201 | buffreplace(ls, '.', ls->decpoint); /* follow locale for decimal point */ |
204 | if (!luaO_str2d(luaZ_buffer(ls->buff), &seminfo->r)) /* format error? */ | 202 | if (!luaO_str2d(luaZ_buffer(ls->buff), &seminfo->r)) /* format error? */ |