summaryrefslogtreecommitdiff
path: root/lib/lua
diff options
context:
space:
mode:
authorpixel <pixel>2004-12-19 16:14:04 +0000
committerpixel <pixel>2004-12-19 16:14:04 +0000
commit0f0e19e655fa9f271642db485212d8af172926eb (patch)
tree3bfe6cf57291677903855f80abd6350a437d6457 /lib/lua
parentbbb9b3a36ac54bf428b2e17316ae856663e9da6b (diff)
Fixing lua's decimal system.
Diffstat (limited to 'lib/lua')
-rw-r--r--lib/lua/src/llex.c4
-rw-r--r--lib/lua/src/lobject.c4
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/lua/src/llex.c b/lib/lua/src/llex.c
index ff88f92..c06ea9f 100644
--- a/lib/lua/src/llex.c
+++ b/lib/lua/src/llex.c
@@ -1,5 +1,5 @@
/*
-** $Id: llex.c,v 1.5 2004-11-27 21:46:07 pixel Exp $
+** $Id: llex.c,v 1.6 2004-12-19 16:14:04 pixel Exp $
** Lexical Analyzer
** See Copyright Notice in lua.h
*/
@@ -185,6 +185,8 @@ static void read_numeral (LexState *LS, int comma, SemInfo *seminfo) {
hex = 1;
checkbuffer(LS, 1);
save_and_next(LS, l);
+ } else if (LS->current == '.') {
+ oct = hex = 0;
}
}
while (isdigit(LS->current) || (hex && isxdigit(LS->current))) {
diff --git a/lib/lua/src/lobject.c b/lib/lua/src/lobject.c
index bdc83b3..62c70b6 100644
--- a/lib/lua/src/lobject.c
+++ b/lib/lua/src/lobject.c
@@ -1,5 +1,5 @@
/*
-** $Id: lobject.c,v 1.5 2004-11-27 21:46:07 pixel Exp $
+** $Id: lobject.c,v 1.6 2004-12-19 16:14:04 pixel Exp $
** Some generic functions over Lua objects
** See Copyright Notice in lua.h
*/
@@ -86,7 +86,7 @@ int luaO_str2d (const char *s, lua_Number *result) {
char *endptr;
size_t l = strlen(s);
lua_Number res;
- if ((l > 0) && (s[0] == '0')) {
+ if ((l > 0) && (s[0] == '0') && (s[1] != '.')) {
if ((l > 2) && (s[1] == 'x')) {
res = strtol(s + 2, &endptr, 16);
} else {