aboutsummaryrefslogtreecommitdiff
path: root/lbaselib.c
diff options
context:
space:
mode:
Diffstat (limited to 'lbaselib.c')
-rw-r--r--lbaselib.c22
1 files changed, 2 insertions, 20 deletions
diff --git a/lbaselib.c b/lbaselib.c
index 01decb46..556325af 100644
--- a/lbaselib.c
+++ b/lbaselib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lbaselib.c,v 1.194 2006/10/20 19:30:53 roberto Exp roberto $ 2** $Id: lbaselib.c,v 1.195 2006/10/24 19:46:12 roberto Exp roberto $
3** Basic library 3** Basic library
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -396,25 +396,7 @@ static int luaB_xpcall (lua_State *L) {
396 396
397static int luaB_tostring (lua_State *L) { 397static int luaB_tostring (lua_State *L) {
398 luaL_checkany(L, 1); 398 luaL_checkany(L, 1);
399 if (luaL_callmeta(L, 1, "__tostring")) /* is there a metafield? */ 399 luaL_tostring(L, 1);
400 return 1; /* use its value */
401 switch (lua_type(L, 1)) {
402 case LUA_TNUMBER:
403 lua_pushstring(L, lua_tostring(L, 1));
404 break;
405 case LUA_TSTRING:
406 lua_pushvalue(L, 1);
407 break;
408 case LUA_TBOOLEAN:
409 lua_pushstring(L, (lua_toboolean(L, 1) ? "true" : "false"));
410 break;
411 case LUA_TNIL:
412 lua_pushliteral(L, "nil");
413 break;
414 default:
415 lua_pushfstring(L, "%s: %p", luaL_typename(L, 1), lua_topointer(L, 1));
416 break;
417 }
418 return 1; 400 return 1;
419} 401}
420 402