aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lvm.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lvm.c b/lvm.c
index e51e7f13..164fe476 100644
--- a/lvm.c
+++ b/lvm.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lvm.c,v 2.245 2015/06/09 15:53:35 roberto Exp roberto $ 2** $Id: lvm.c,v 2.246 2015/06/25 14:00:01 roberto Exp roberto $
3** Lua virtual machine 3** Lua virtual machine
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -1139,7 +1139,7 @@ void luaV_execute (lua_State *L) {
1139 vmcase(OP_FORLOOP) { 1139 vmcase(OP_FORLOOP) {
1140 if (ttisinteger(ra)) { /* integer loop? */ 1140 if (ttisinteger(ra)) { /* integer loop? */
1141 lua_Integer step = ivalue(ra + 2); 1141 lua_Integer step = ivalue(ra + 2);
1142 lua_Integer idx = ivalue(ra) + step; /* increment index */ 1142 lua_Integer idx = intop(+, ivalue(ra), step); /* increment index */
1143 lua_Integer limit = ivalue(ra + 1); 1143 lua_Integer limit = ivalue(ra + 1);
1144 if ((0 < step) ? (idx <= limit) : (limit <= idx)) { 1144 if ((0 < step) ? (idx <= limit) : (limit <= idx)) {
1145 ci->u.l.savedpc += GETARG_sBx(i); /* jump back */ 1145 ci->u.l.savedpc += GETARG_sBx(i); /* jump back */
@@ -1171,7 +1171,7 @@ void luaV_execute (lua_State *L) {
1171 /* all values are integer */ 1171 /* all values are integer */
1172 lua_Integer initv = (stopnow ? 0 : ivalue(init)); 1172 lua_Integer initv = (stopnow ? 0 : ivalue(init));
1173 setivalue(plimit, ilimit); 1173 setivalue(plimit, ilimit);
1174 setivalue(init, initv - ivalue(pstep)); 1174 setivalue(init, intop(-, initv, ivalue(pstep)));
1175 } 1175 }
1176 else { /* try making all values floats */ 1176 else { /* try making all values floats */
1177 lua_Number ninit; lua_Number nlimit; lua_Number nstep; 1177 lua_Number ninit; lua_Number nlimit; lua_Number nstep;