lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> I have some code which makes use of the deprecated function lua_cpcall:
> 
>    s.argv[0]=NULL;
>    s.argv[1]=data->config.m_luafile;
>    s.argv[2]=NULL;
>    status = lua_cpcall(L, &pmain, &s);
>    report(L, status);
> 
> Now the manual says i have to replace lua_cpcall by lua_pushfunction and
> lua_pcall. What I don't understand: how can I hand over my arguments "s"
> with these new functions? They don't seem to have a possibility to deal
> with this kind of parameter which has to be forwarded to the called
> function "pmain"!

You pass it as a regular argument to your function:

  lua_pushcfunction(L, &pmain);
  lua_pushlightuserdata(L, &s);
  status = lua_pcall(L, 1, 0, 0);

-- Roberto