Просмотр исходного кода

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 лет назад
Родитель
Сommit
bb1146dc39
1 измененных файлов с 3 добавлено и 2 удалено
  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;