diff options
Diffstat (limited to 'lvm.c')
| -rw-r--r-- | lvm.c | 14 |
1 files changed, 13 insertions, 1 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lvm.c,v 2.348 2018/02/26 14:16:05 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 2.349 2018/03/02 18:59:19 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 | */ |
| @@ -1552,6 +1552,18 @@ void luaV_execute (lua_State *L, CallInfo *ci) { | |||
| 1552 | } | 1552 | } |
| 1553 | vmbreak; | 1553 | vmbreak; |
| 1554 | } | 1554 | } |
| 1555 | vmcase(OP_UNDEF) { | ||
| 1556 | TValue *rb = vRB(i); | ||
| 1557 | luaT_keydef(L, vra, rb, 1); | ||
| 1558 | vmbreak; | ||
| 1559 | } | ||
| 1560 | vmcase(OP_ISDEF) { | ||
| 1561 | TValue *rb = vRB(i); | ||
| 1562 | TValue *rc = vRC(i); | ||
| 1563 | int res = luaT_keydef(L, rb, rc, 0); | ||
| 1564 | setbvalue(vra, res == GETARG_k(i)); | ||
| 1565 | vmbreak; | ||
| 1566 | } | ||
| 1555 | vmcase(OP_CALL) { | 1567 | vmcase(OP_CALL) { |
| 1556 | int b = GETARG_B(i); | 1568 | int b = GETARG_B(i); |
| 1557 | int nresults = GETARG_C(i) - 1; | 1569 | int nresults = GETARG_C(i) - 1; |
