Here it worked if I add a redundant one byte in LuaBasic.c:

typedef struct {
LUA_NUMBER val[4]; } matrix;

It is better to use your definition,

typedef struct {
LUA_NUMBER val[3]; } matrix;

and change

val[X] ---> val[X-1]

below. For example,

for (i=1;i<4;i++)
{
    temp->val[i-1] = lua_tonumber(L,i);
}

Note that temp->val[3] was the cause of the crash.
You can write only on temp->val[0], temp->val[1], and temp->val[2].

Best,
Akira

Reply via email to