aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/llex.js2
-rw-r--r--src/lobject.js5
2 files changed, 4 insertions, 3 deletions
diff --git a/src/llex.js b/src/llex.js
index d617e7c..998ab0e 100644
--- a/src/llex.js
+++ b/src/llex.js
@@ -240,7 +240,7 @@ const read_numeral = function(ls, seminfo) {
else break;
}
- save(ls, 0);
+ // save(ls, 0);
let obj = lobject.luaO_str2num(ls.buff.buffer);
if (obj === false) /* format error? */
diff --git a/src/lobject.js b/src/lobject.js
index 0898a15..153d776 100644
--- a/src/lobject.js
+++ b/src/lobject.js
@@ -346,7 +346,8 @@ const lua_strx2number = function(s) {
e += exp1;
}
if (neg) r = -r;
- return defs.to_jsstring(s).trim().search(/s/) < 0 ? luaconf.ldexp(r, e) : null; /* Only valid if nothing left is s*/
+ while (ljstype.lisspace(s[0])) s = s.slice(1); /* skip trailing spaces */
+ return s.length === 0 ? luaconf.ldexp(r, e) : null; /* Only valid if nothing left is s*/
};
const l_str2dloc = function(s, mode) {
@@ -401,7 +402,7 @@ const l_str2int = function(s) {
while (ljstype.lisspace(s[0])) s = s.slice(1); /* skip trailing spaces */
- if (empty || (s.length > 0 && s[0] !== 0)) return null; /* something wrong in the numeral */
+ if (empty || (s.length !== 0)) return null; /* something wrong in the numeral */
else {
return (neg ? -a : a)|0;
}