aboutsummaryrefslogtreecommitdiff
path: root/ltests.c
diff options
context:
space:
mode:
Diffstat (limited to 'ltests.c')
-rw-r--r--ltests.c90
1 files changed, 45 insertions, 45 deletions
diff --git a/ltests.c b/ltests.c
index da880c65..3f2b724b 100644
--- a/ltests.c
+++ b/ltests.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ltests.c,v 1.155 2003/03/11 12:24:34 roberto Exp roberto $ 2** $Id: ltests.c,v 1.156 2003/03/19 21:14:53 roberto Exp roberto $
3** Internal Module for Debugging of the Lua Implementation 3** Internal Module for Debugging of the Lua Implementation
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -36,6 +36,9 @@
36#ifdef LUA_DEBUG 36#ifdef LUA_DEBUG
37 37
38 38
39#define lua_pushintegral(L,i) lua_pushnumber(L, cast(lua_Number, (i)))
40
41
39static lua_State *lua_state = NULL; 42static lua_State *lua_state = NULL;
40 43
41int islocked = 0; 44int islocked = 0;
@@ -46,7 +49,7 @@ int islocked = 0;
46 49
47static void setnameval (lua_State *L, const char *name, int val) { 50static void setnameval (lua_State *L, const char *name, int val) {
48 lua_pushstring(L, name); 51 lua_pushstring(L, name);
49 lua_pushnumber(L, val); 52 lua_pushintegral(L, val);
50 lua_settable(L, -3); 53 lua_settable(L, -3);
51} 54}
52 55
@@ -196,7 +199,7 @@ static int listcode (lua_State *L) {
196 setnameval(L, "numparams", p->numparams); 199 setnameval(L, "numparams", p->numparams);
197 for (pc=0; pc<p->sizecode; pc++) { 200 for (pc=0; pc<p->sizecode; pc++) {
198 char buff[100]; 201 char buff[100];
199 lua_pushnumber(L, pc+1); 202 lua_pushintegral(L, pc+1);
200 lua_pushstring(L, buildop(p, pc, buff)); 203 lua_pushstring(L, buildop(p, pc, buff));
201 lua_settable(L, -3); 204 lua_settable(L, -3);
202 } 205 }
@@ -212,7 +215,7 @@ static int listk (lua_State *L) {
212 p = clvalue(func_at(L, 1))->l.p; 215 p = clvalue(func_at(L, 1))->l.p;
213 lua_newtable(L); 216 lua_newtable(L);
214 for (i=0; i<p->sizek; i++) { 217 for (i=0; i<p->sizek; i++) {
215 lua_pushnumber(L, i+1); 218 lua_pushintegral(L, i+1);
216 luaA_pushobject(L, p->k+i); 219 luaA_pushobject(L, p->k+i);
217 lua_settable(L, -3); 220 lua_settable(L, -3);
218 } 221 }
@@ -252,9 +255,9 @@ static int get_limits (lua_State *L) {
252 255
253static int mem_query (lua_State *L) { 256static int mem_query (lua_State *L) {
254 if (lua_isnone(L, 1)) { 257 if (lua_isnone(L, 1)) {
255 lua_pushnumber(L, memdebug_total); 258 lua_pushintegral(L, memdebug_total);
256 lua_pushnumber(L, memdebug_numblocks); 259 lua_pushintegral(L, memdebug_numblocks);
257 lua_pushnumber(L, memdebug_maxmem); 260 lua_pushintegral(L, memdebug_maxmem);
258 return 3; 261 return 3;
259 } 262 }
260 else { 263 else {
@@ -267,14 +270,14 @@ static int mem_query (lua_State *L) {
267static int hash_query (lua_State *L) { 270static int hash_query (lua_State *L) {
268 if (lua_isnone(L, 2)) { 271 if (lua_isnone(L, 2)) {
269 luaL_argcheck(L, lua_type(L, 1) == LUA_TSTRING, 1, "string expected"); 272 luaL_argcheck(L, lua_type(L, 1) == LUA_TSTRING, 1, "string expected");
270 lua_pushnumber(L, tsvalue(func_at(L, 1))->tsv.hash); 273 lua_pushintegral(L, tsvalue(func_at(L, 1))->tsv.hash);
271 } 274 }
272 else { 275 else {
273 TObject *o = func_at(L, 1); 276 TObject *o = func_at(L, 1);
274 Table *t; 277 Table *t;
275 luaL_checktype(L, 2, LUA_TTABLE); 278 luaL_checktype(L, 2, LUA_TTABLE);
276 t = hvalue(func_at(L, 2)); 279 t = hvalue(func_at(L, 2));
277 lua_pushnumber(L, luaH_mainposition(t, o) - t->node); 280 lua_pushintegral(L, luaH_mainposition(t, o) - t->node);
278 } 281 }
279 return 1; 282 return 1;
280} 283}
@@ -282,11 +285,11 @@ static int hash_query (lua_State *L) {
282 285
283static int stacklevel (lua_State *L) { 286static int stacklevel (lua_State *L) {
284 unsigned long a = 0; 287 unsigned long a = 0;
285 lua_pushnumber(L, (int)(L->top - L->stack)); 288 lua_pushintegral(L, (int)(L->top - L->stack));
286 lua_pushnumber(L, (int)(L->stack_last - L->stack)); 289 lua_pushintegral(L, (int)(L->stack_last - L->stack));
287 lua_pushnumber(L, (int)(L->ci - L->base_ci)); 290 lua_pushintegral(L, (int)(L->ci - L->base_ci));
288 lua_pushnumber(L, (int)(L->end_ci - L->base_ci)); 291 lua_pushintegral(L, (int)(L->end_ci - L->base_ci));
289 lua_pushnumber(L, (unsigned long)&a); 292 lua_pushintegral(L, (unsigned long)&a);
290 return 5; 293 return 5;
291} 294}
292 295
@@ -297,12 +300,12 @@ static int table_query (lua_State *L) {
297 luaL_checktype(L, 1, LUA_TTABLE); 300 luaL_checktype(L, 1, LUA_TTABLE);
298 t = hvalue(func_at(L, 1)); 301 t = hvalue(func_at(L, 1));
299 if (i == -1) { 302 if (i == -1) {
300 lua_pushnumber(L, t->sizearray); 303 lua_pushintegral(L, t->sizearray);
301 lua_pushnumber(L, sizenode(t)); 304 lua_pushintegral(L, sizenode(t));
302 lua_pushnumber(L, t->firstfree - t->node); 305 lua_pushintegral(L, t->firstfree - t->node);
303 } 306 }
304 else if (i < t->sizearray) { 307 else if (i < t->sizearray) {
305 lua_pushnumber(L, i); 308 lua_pushintegral(L, i);
306 luaA_pushobject(L, &t->array[i]); 309 luaA_pushobject(L, &t->array[i]);
307 lua_pushnil(L); 310 lua_pushnil(L);
308 } 311 }
@@ -316,7 +319,7 @@ static int table_query (lua_State *L) {
316 lua_pushstring(L, "<undef>"); 319 lua_pushstring(L, "<undef>");
317 luaA_pushobject(L, gval(gnode(t, i))); 320 luaA_pushobject(L, gval(gnode(t, i)));
318 if (t->node[i].next) 321 if (t->node[i].next)
319 lua_pushnumber(L, t->node[i].next - t->node); 322 lua_pushintegral(L, t->node[i].next - t->node);
320 else 323 else
321 lua_pushnil(L); 324 lua_pushnil(L);
322 } 325 }
@@ -328,8 +331,8 @@ static int string_query (lua_State *L) {
328 stringtable *tb = &G(L)->strt; 331 stringtable *tb = &G(L)->strt;
329 int s = luaL_optint(L, 2, 0) - 1; 332 int s = luaL_optint(L, 2, 0) - 1;
330 if (s==-1) { 333 if (s==-1) {
331 lua_pushnumber(L ,tb->nuse); 334 lua_pushintegral(L ,tb->nuse);
332 lua_pushnumber(L ,tb->size); 335 lua_pushintegral(L ,tb->size);
333 return 2; 336 return 2;
334 } 337 }
335 else if (s < tb->size) { 338 else if (s < tb->size) {
@@ -351,7 +354,7 @@ static int tref (lua_State *L) {
351 int lock = luaL_optint(L, 2, 1); 354 int lock = luaL_optint(L, 2, 1);
352 luaL_checkany(L, 1); 355 luaL_checkany(L, 1);
353 lua_pushvalue(L, 1); 356 lua_pushvalue(L, 1);
354 lua_pushnumber(L, lua_ref(L, lock)); 357 lua_pushintegral(L, lua_ref(L, lock));
355 assert(lua_gettop(L) == level+1); /* +1 for result */ 358 assert(lua_gettop(L) == level+1); /* +1 for result */
356 return 1; 359 return 1;
357} 360}
@@ -417,7 +420,7 @@ static int pushuserdata (lua_State *L) {
417 420
418 421
419static int udataval (lua_State *L) { 422static int udataval (lua_State *L) {
420 lua_pushnumber(L, cast(int, lua_touserdata(L, 1))); 423 lua_pushintegral(L, cast(int, lua_touserdata(L, 1)));
421 return 1; 424 return 1;
422} 425}
423 426
@@ -429,7 +432,7 @@ static int doonnewstack (lua_State *L) {
429 int status = luaL_loadbuffer(L1, s, l, s); 432 int status = luaL_loadbuffer(L1, s, l, s);
430 if (status == 0) 433 if (status == 0)
431 status = lua_pcall(L1, 0, 0, 0); 434 status = lua_pcall(L1, 0, 0, 0);
432 lua_pushnumber(L, status); 435 lua_pushintegral(L, status);
433 return 1; 436 return 1;
434} 437}
435 438
@@ -450,7 +453,7 @@ static int newstate (lua_State *L) {
450 lua_State *L1 = lua_open(); 453 lua_State *L1 = lua_open();
451 if (L1) { 454 if (L1) {
452 lua_userstateopen(L1); /* init lock */ 455 lua_userstateopen(L1); /* init lock */
453 lua_pushnumber(L, (unsigned long)L1); 456 lua_pushintegral(L, (unsigned long)L1);
454 } 457 }
455 else 458 else
456 lua_pushnil(L); 459 lua_pushnil(L);
@@ -493,7 +496,7 @@ static int doremote (lua_State *L) {
493 status = lua_pcall(L1, 0, LUA_MULTRET, 0); 496 status = lua_pcall(L1, 0, LUA_MULTRET, 0);
494 if (status != 0) { 497 if (status != 0) {
495 lua_pushnil(L); 498 lua_pushnil(L);
496 lua_pushnumber(L, status); 499 lua_pushintegral(L, status);
497 lua_pushstring(L, lua_tostring(L1, -1)); 500 lua_pushstring(L, lua_tostring(L1, -1));
498 return 3; 501 return 3;
499 } 502 }
@@ -508,14 +511,14 @@ static int doremote (lua_State *L) {
508 511
509 512
510static int log2_aux (lua_State *L) { 513static int log2_aux (lua_State *L) {
511 lua_pushnumber(L, luaO_log2(luaL_checkint(L, 1))); 514 lua_pushintegral(L, luaO_log2(luaL_checkint(L, 1)));
512 return 1; 515 return 1;
513} 516}
514 517
515static int int2fb_aux (lua_State *L) { 518static int int2fb_aux (lua_State *L) {
516 int b = luaO_int2fb(luaL_checkint(L, 1)); 519 int b = luaO_int2fb(luaL_checkint(L, 1));
517 lua_pushnumber(L, b); 520 lua_pushintegral(L, b);
518 lua_pushnumber(L, fb2int(b)); 521 lua_pushintegral(L, fb2int(b));
519 return 2; 522 return 2;
520} 523}
521 524
@@ -585,31 +588,31 @@ static int testC (lua_State *L) {
585 const char *inst = getname; 588 const char *inst = getname;
586 if EQ("") return 0; 589 if EQ("") return 0;
587 else if EQ("isnumber") { 590 else if EQ("isnumber") {
588 lua_pushnumber(L, lua_isnumber(L, getnum)); 591 lua_pushintegral(L, lua_isnumber(L, getnum));
589 } 592 }
590 else if EQ("isstring") { 593 else if EQ("isstring") {
591 lua_pushnumber(L, lua_isstring(L, getnum)); 594 lua_pushintegral(L, lua_isstring(L, getnum));
592 } 595 }
593 else if EQ("istable") { 596 else if EQ("istable") {
594 lua_pushnumber(L, lua_istable(L, getnum)); 597 lua_pushintegral(L, lua_istable(L, getnum));
595 } 598 }
596 else if EQ("iscfunction") { 599 else if EQ("iscfunction") {
597 lua_pushnumber(L, lua_iscfunction(L, getnum)); 600 lua_pushintegral(L, lua_iscfunction(L, getnum));
598 } 601 }
599 else if EQ("isfunction") { 602 else if EQ("isfunction") {
600 lua_pushnumber(L, lua_isfunction(L, getnum)); 603 lua_pushintegral(L, lua_isfunction(L, getnum));
601 } 604 }
602 else if EQ("isuserdata") { 605 else if EQ("isuserdata") {
603 lua_pushnumber(L, lua_isuserdata(L, getnum)); 606 lua_pushintegral(L, lua_isuserdata(L, getnum));
604 } 607 }
605 else if EQ("isudataval") { 608 else if EQ("isudataval") {
606 lua_pushnumber(L, lua_islightuserdata(L, getnum)); 609 lua_pushintegral(L, lua_islightuserdata(L, getnum));
607 } 610 }
608 else if EQ("isnil") { 611 else if EQ("isnil") {
609 lua_pushnumber(L, lua_isnil(L, getnum)); 612 lua_pushintegral(L, lua_isnil(L, getnum));
610 } 613 }
611 else if EQ("isnull") { 614 else if EQ("isnull") {
612 lua_pushnumber(L, lua_isnone(L, getnum)); 615 lua_pushintegral(L, lua_isnone(L, getnum));
613 } 616 }
614 else if EQ("tonumber") { 617 else if EQ("tonumber") {
615 lua_pushnumber(L, lua_tonumber(L, getnum)); 618 lua_pushnumber(L, lua_tonumber(L, getnum));
@@ -618,11 +621,8 @@ static int testC (lua_State *L) {
618 const char *s = lua_tostring(L, getnum); 621 const char *s = lua_tostring(L, getnum);
619 lua_pushstring(L, s); 622 lua_pushstring(L, s);
620 } 623 }
621 else if EQ("tonumber") {
622 lua_pushnumber(L, lua_tonumber(L, getnum));
623 }
624 else if EQ("strlen") { 624 else if EQ("strlen") {
625 lua_pushnumber(L, lua_strlen(L, getnum)); 625 lua_pushintegral(L, lua_strlen(L, getnum));
626 } 626 }
627 else if EQ("tocfunction") { 627 else if EQ("tocfunction") {
628 lua_pushcfunction(L, lua_tocfunction(L, getnum)); 628 lua_pushcfunction(L, lua_tocfunction(L, getnum));
@@ -631,7 +631,7 @@ static int testC (lua_State *L) {
631 return getnum; 631 return getnum;
632 } 632 }
633 else if EQ("gettop") { 633 else if EQ("gettop") {
634 lua_pushnumber(L, lua_gettop(L)); 634 lua_pushintegral(L, lua_gettop(L));
635 } 635 }
636 else if EQ("settop") { 636 else if EQ("settop") {
637 lua_settop(L, getnum); 637 lua_settop(L, getnum);
@@ -640,7 +640,7 @@ static int testC (lua_State *L) {
640 lua_pop(L, getnum); 640 lua_pop(L, getnum);
641 } 641 }
642 else if EQ("pushnum") { 642 else if EQ("pushnum") {
643 lua_pushnumber(L, getnum); 643 lua_pushintegral(L, getnum);
644 } 644 }
645 else if EQ("pushnil") { 645 else if EQ("pushnil") {
646 lua_pushnil(L); 646 lua_pushnil(L);
@@ -649,7 +649,7 @@ static int testC (lua_State *L) {
649 lua_pushboolean(L, getnum); 649 lua_pushboolean(L, getnum);
650 } 650 }
651 else if EQ("tobool") { 651 else if EQ("tobool") {
652 lua_pushnumber(L, lua_toboolean(L, getnum)); 652 lua_pushintegral(L, lua_toboolean(L, getnum));
653 } 653 }
654 else if EQ("pushvalue") { 654 else if EQ("pushvalue") {
655 lua_pushvalue(L, getnum); 655 lua_pushvalue(L, getnum);