浏览代码

better error message for 'concat'

Roberto Ierusalimschy 18 年之前
父节点
当前提交
80b4753539
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      ltablib.c

+ 4 - 2
ltablib.c

@@ -1,5 +1,5 @@
 /*
 /*
-** $Id: ltablib.c,v 1.39 2007/06/21 13:48:04 roberto Exp roberto $
+** $Id: ltablib.c,v 1.40 2007/06/21 13:50:53 roberto Exp roberto $
 ** Library for Table Manipulation
 ** Library for Table Manipulation
 ** See Copyright Notice in lua.h
 ** See Copyright Notice in lua.h
 */
 */
@@ -133,7 +133,9 @@ static int tconcat (lua_State *L) {
   luaL_buffinit(L, &b);
   luaL_buffinit(L, &b);
   for (; i <= last; i++) {
   for (; i <= last; i++) {
     lua_rawgeti(L, 1, i);
     lua_rawgeti(L, 1, i);
-    luaL_argcheck(L, lua_isstring(L, -1), 1, "table contains non-strings");
+    if (!lua_isstring(L, -1))
+      return luaL_error(L, "invalid value (%s) at index %d in table for "
+                            LUA_QL("concat"), luaL_typename(L, -1), i);
     luaL_addvalue(&b);
     luaL_addvalue(&b);
     if (i != last)
     if (i != last)
       luaL_addlstring(&b, sep, lsep);
       luaL_addlstring(&b, sep, lsep);