[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: RE: lua_pcall
- From: "Virgil Smith" <Virgil@...>
- Date: Wed, 4 Feb 2004 18:45:36 -0600
> lua_getglobal( l, "some_func" );
> lua_pushstring( l, "a" );
> lua_pushstring( l, "b" );
>
> my_pcall();
>
> But if my_pcall does stack manipulation in
> order to retrieve the err_func, my values
> are gonna be out of whack from what the called
> function is expecting?
That's what lua_insert is for. :-)
So that's roughly
int my_pcall(L, nargs, nresults)
{
int err_func = lua_gettop(L) - (nargs + 1);
... get the error function on the top of the stack ...
lua_insert(L, err_func);
return lua_pcall(L, nargs, nresults, err_func);
}