fix net c struct ref

This commit is contained in:
Redo 2022-11-04 17:40:14 -06:00
parent 0cb1ef5540
commit 0f35ee4d36
2 changed files with 6 additions and 3 deletions

View File

@ -45,6 +45,7 @@ function Group.new()
net.state_num[0] = 0
net.in_queue[0] = 0
net.update_tick[0] = 0
net.gates_update_c = ffi.cast("struct Gate**", 0)
net.c = ffi.new("struct Net")
net.c.state = net.state
@ -52,7 +53,8 @@ function Group.new()
net.c.in_queue = net.in_queue
net.c.update_tick = net.update_tick
net.c.num_gates_update = net.num_gates_update
net.c.gates_update_c = ffi.cast("struct Gate**", 0)
net.c.gates_update_c = net.gates_update_c
net.c.id = net.id
return net
@ -242,8 +244,9 @@ function Group.rebuild_ports(net)
end
end
end
net.gates_update_c = ffi.new("struct Gate*["..(net.num_gates_update[0]).."]")
net.gates_update_c = ffi.new("struct Gate*["..(net.num_gates_update[0]+1).."]")
for i = 0, net.num_gates_update[0]-1 do
net.gates_update_c[i] = net.gates_update[i+1].c
end
net.c.gates_update_c = net.gates_update_c
end

View File

@ -293,7 +293,7 @@ end
function Simulation.dequeuegroup(sim, group)
if group.in_queue[0]~=0 then
array_remove(sim.groupqueue, group.c, true)
array_remove(sim.groupqueue, group, true)
sim.num_groupqueue = sim.num_groupqueue - 1
group.in_queue[0] = 0
end