aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2011-09-13 15:05:59 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2011-09-13 15:05:59 -0300
commit2275030b86f1f4ec1bfbc458b922b08aa259e7da (patch)
tree318990772e8ff5baf7fe1458207b78ab591ed8e9
parent05de3147012dd955649eaba96904394404ef3753 (diff)
downloadlua-2275030b86f1f4ec1bfbc458b922b08aa259e7da.tar.gz
lua-2275030b86f1f4ec1bfbc458b922b08aa259e7da.tar.bz2
lua-2275030b86f1f4ec1bfbc458b922b08aa259e7da.zip
details (and missing 'break's)
-rw-r--r--ldebug.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/ldebug.c b/ldebug.c
index 062fd304..f9c30ce0 100644
--- a/ldebug.c
+++ b/ldebug.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ldebug.c,v 2.84 2011/08/12 20:01:44 roberto Exp roberto $ 2** $Id: ldebug.c,v 2.85 2011/09/13 17:40:20 roberto Exp roberto $
3** Debug Interface 3** Debug Interface
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -385,16 +385,15 @@ static const char *getobjname (Proto *p, int lastpc, int reg,
385 OpCode op = GET_OPCODE(i); 385 OpCode op = GET_OPCODE(i);
386 switch (op) { 386 switch (op) {
387 case OP_MOVE: { 387 case OP_MOVE: {
388 int a = GETARG_A(i);
389 int b = GETARG_B(i); /* move from 'b' to 'a' */ 388 int b = GETARG_B(i); /* move from 'b' to 'a' */
390 lua_assert(reg == a); 389 if (b < GETARG_A(i))
391 if (b < a)
392 return getobjname(p, pc, b, name); /* get name for 'b' */ 390 return getobjname(p, pc, b, name); /* get name for 'b' */
391 break;
393 } 392 }
394 case OP_GETTABUP: 393 case OP_GETTABUP:
395 case OP_GETTABLE: { 394 case OP_GETTABLE: {
396 int k = GETARG_C(i); /* key index */ 395 int k = GETARG_C(i); /* key index */
397 int t = GETARG_B(i); 396 int t = GETARG_B(i); /* table index */
398 const char *vn = (op == OP_GETTABLE) /* name of indexed variable */ 397 const char *vn = (op == OP_GETTABLE) /* name of indexed variable */
399 ? luaF_getlocalname(p, t + 1, pc) 398 ? luaF_getlocalname(p, t + 1, pc)
400 : upvalname(p, t); 399 : upvalname(p, t);
@@ -402,8 +401,7 @@ static const char *getobjname (Proto *p, int lastpc, int reg,
402 return (vn && strcmp(vn, LUA_ENV) == 0) ? "global" : "field"; 401 return (vn && strcmp(vn, LUA_ENV) == 0) ? "global" : "field";
403 } 402 }
404 case OP_GETUPVAL: { 403 case OP_GETUPVAL: {
405 int u = GETARG_B(i); /* upvalue index */ 404 *name = upvalname(p, GETARG_B(i));
406 *name = upvalname(p, u);
407 return "upvalue"; 405 return "upvalue";
408 } 406 }
409 case OP_LOADK: 407 case OP_LOADK:
@@ -414,6 +412,7 @@ static const char *getobjname (Proto *p, int lastpc, int reg,
414 *name = svalue(&p->k[b]); 412 *name = svalue(&p->k[b]);
415 return "constant"; 413 return "constant";
416 } 414 }
415 break;
417 } 416 }
418 case OP_SELF: { 417 case OP_SELF: {
419 int k = GETARG_C(i); /* key index */ 418 int k = GETARG_C(i); /* key index */