|
|
@ -1,9 +1,10 @@ |
|
|
|
#include "control.h" |
|
|
|
|
|
|
|
static void telemetry_free(gpointer te, gpointer x) { |
|
|
|
static void telemetry_free(gpointer _te, gpointer x) { |
|
|
|
telemetry *te = (telemetry*) _te; |
|
|
|
UNUSED(x); |
|
|
|
g_array_free(te->objects, TRUE); |
|
|
|
g_slice_free(telemetry, (telemetry*) te); |
|
|
|
g_slice_free(telemetry, te); |
|
|
|
} |
|
|
|
|
|
|
|
static telemetry* telemetry_new() { |
|
|
@ -14,14 +15,14 @@ static telemetry* telemetry_new() { |
|
|
|
|
|
|
|
trial *trial_new() { |
|
|
|
trial *t = g_slice_new0(trial); |
|
|
|
g_queue_init(t->telemetry); |
|
|
|
g_queue_init(&t->telemetry); |
|
|
|
t->map.solid_objects = g_array_new(FALSE, FALSE, sizeof(object)); |
|
|
|
return t; |
|
|
|
} |
|
|
|
|
|
|
|
void trial_reset_run(trial *t) { |
|
|
|
g_queue_foreach(t->telemetry, telemetry_free, NULL); |
|
|
|
g_queue_clear(t->telementry); |
|
|
|
g_queue_foreach(&t->telemetry, telemetry_free, NULL); |
|
|
|
g_queue_clear(&t->telemetry); |
|
|
|
t->last_ts = 0; |
|
|
|
} |
|
|
|
|
|
|
@ -35,8 +36,8 @@ void trial_wait_for_input(trial *t) { |
|
|
|
} |
|
|
|
|
|
|
|
void trial_free(trial *t) { |
|
|
|
g_queue_foreach(t->telemetry, telemetry_free, NULL); |
|
|
|
g_queue_clear(t->telementry); |
|
|
|
g_queue_foreach(&t->telemetry, telemetry_free, NULL); |
|
|
|
g_queue_clear(&t->telemetry); |
|
|
|
g_array_free(t->map.solid_objects, TRUE); |
|
|
|
g_slice_free(t); |
|
|
|
g_slice_free(trial, t); |
|
|
|
} |