Browse Source

wrong error message when 'coroutine.create' or 'coroutine.wrap' are
called with no arguments (new thread is assumed to be the missing
argument).

Roberto Ierusalimschy 13 năm trước cách đây
mục cha
commit
bb1146dc39
1 tập tin đã thay đổi với 3 bổ sung2 xóa
  1. 3 2
      lcorolib.c

+ 3 - 2
lcorolib.c

@@ -1,5 +1,5 @@
 /*
-** $Id: lcorolib.c,v 1.2 2010/07/02 11:38:13 roberto Exp roberto $
+** $Id: lcorolib.c,v 1.3 2011/08/23 17:24:34 roberto Exp roberto $
 ** Coroutine Library
 ** See Copyright Notice in lua.h
 */
@@ -80,8 +80,9 @@ static int luaB_auxwrap (lua_State *L) {
 
 
 static int luaB_cocreate (lua_State *L) {
-  lua_State *NL = lua_newthread(L);
+  lua_State *NL;
   luaL_checktype(L, 1, LUA_TFUNCTION);
+  NL = lua_newthread(L);
   lua_pushvalue(L, 1);  /* move function to top */
   lua_xmove(L, NL, 1);  /* move function from L to NL */
   return 1;