lua-users home
lua-l archive

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


Great - thanks! :-)

On Tue, Apr 3, 2018 at 10:15 PM, Roberto Ierusalimschy <roberto@inf.puc-rio.br> wrote:
> 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