On 4/12/06, Ray Gilbert <[EMAIL PROTECTED]> wrote:
> On the stack - the lua function calling c function
> 'static int LUACALL My_C_fn(lua_State *L)'
Take a look at the code in modules/wxluadebug/src/wxldebug.cpp
int wxLuaDebugData::EnumerateTable(const wxLuaState& wxlState_, int
tableRef, int nIndex, wxArrayInt& references)
switch (lua_type(L, -2))
case LUA_TFUNCTION:
if (lua_iscfunction(L, -2))
name.Printf(wxT("%p"), lua_tocfunction(L, -2));
else
name.Printf(wxT("%p"), lua_topointer(L, -2));
break;
----------------
You could do
lua_getglobal(L, "myfunction");
if (lua_isfunction(L, -1))
{
lua_CFunction* fn = lua_tocfunction(L, -1);
lua_pop(L, -1);
if (fn)
fn(L); // I forget how to call a pointer fn?
}
else if (!lua_isnil(L, -1))
lua_pop(-1);
-John Labenski
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of John
> Labenski
> Sent: Thursday, 13 April 2006 10:02
> To: [email protected]
> Subject: Re: [Wxlua-users] How to get lua function name while in C
> function
>
> On 4/12/06, Ray Gilbert <[EMAIL PROTECTED]> wrote:
> >
> > Has anyone got a sample of c code showing how to get lua function name
>
> Hi, I'm not sure I understand what you mean. A lua function that's on
> the stack or just see if the function exists at all?
>
> To see if it exists I think this should work
>
> lua_getglobal(L, "myfunction");
> lua_isfunction(L, -1)
>
> then to run it do
>
> lua_pcall(L, 0, LUA_MULTRET, 0);
>
> else pop it off the stack
>
> lua_pop(L, 1)
>
>
> -John Labenski
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by xPML, a groundbreaking scripting
> language
> that extends applications into web and mobile media. Attend the live
> webcast
> and join the prime developer group breaking into this new coding
> territory!
> http://sel.as-us.falkag.net/sel?cmd=k&kid0944&bid$1720&dat1642
> _______________________________________________
> Wxlua-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wxlua-users
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by xPML, a groundbreaking scripting language
> that extends applications into web and mobile media. Attend the live webcast
> and join the prime developer group breaking into this new coding territory!
> http://sel.as-us.falkag.net/sel?cmdlnk&kid0944&bid$1720&dat1642
> _______________________________________________
> Wxlua-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wxlua-users
>
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
_______________________________________________
Wxlua-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wxlua-users