lua-users home
lua-l archive

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

On Mon, 19 Nov 2001 01:11:38 +0100, "Matthias Gall" <> wrote:

MG> So, I tried this with a C function, which is registered properly. It pushes
MG> some random values and returns the number of values (lua_pushnumber(MyState,
MG> iRandomNumber); ... return iNumOfNumbers;). Using getn on the result of this
MG> function leads to a LUA_ERRRUN. Any suggestions?

	Yes.  What getn() really does it look up the table for a field named "n".

>   return {6, "hello", {}, 32}

	No field name 'n' on that table, so getn() fails.  Instead you should do something like

function foo()
local RetVal = {}
while (getting return values) do
	tinsert(RetVal, ReturnValueN)
return RetVal

	Now getn(foo()) will work.  I think. :)


Thiago Conde Figueiró
Cipher Technology

"Segurança em TI - uma especialidade Cipher Technology"