[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Pointers and userdata
- From: Sam Roberts <sroberts@...>
- Date: Wed, 19 Jul 2006 09:53:20 -0700
On Wed, Jul 19, 2006 at 11:39:03AM -0400, Jerome Vuarand wrote:
> From: Jerome Vuarand <jerome.vuarand@ubisoft.com>
> Your existing function (that you named "function" but I'll call it "foo" for clarity) :
> void c_foo(int x, int y, data_t* p); // I assume the value pointed by p is an in/out parameter since you want to modify it
As another approach, you might consider wrapping c_foo() into a function
with a return value. Lua functions can have multiple return values,
unlike C, so you don't have to return values through output pointers:
int c_values(int x, int y, struct Foo** output);
could be
-- status is int, output is userdata wrapping a "struct Foo*"
status, output = lua_c_values(5, 6);
cheers,
Sam