diff options
Diffstat (limited to '')
| -rw-r--r-- | lbaselib.c | 22 |
1 files changed, 2 insertions, 20 deletions
| @@ -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 | ||
| 397 | static int luaB_tostring (lua_State *L) { | 397 | static 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 | ||
