summaryrefslogtreecommitdiff
path: root/ao-tools/lib/cc-process.c
diff options
context:
space:
mode:
Diffstat (limited to 'ao-tools/lib/cc-process.c')
-rw-r--r--ao-tools/lib/cc-process.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/ao-tools/lib/cc-process.c b/ao-tools/lib/cc-process.c
index e906b635..469ad2f2 100644
--- a/ao-tools/lib/cc-process.c
+++ b/ao-tools/lib/cc-process.c
@@ -138,3 +138,21 @@ cc_flight_cook(struct cc_flightraw *raw)
cooked->state.time_offset = raw->state.time_offset;
return cooked;
}
+
+#define if_free(x) ((x) ? free(x) : (void) 0)
+
+void
+cc_flightcooked_free(struct cc_flightcooked *cooked)
+{
+ if_free(cooked->accel_accel.data);
+ if_free(cooked->accel_speed.data);
+ if_free(cooked->accel_pos.data);
+ if_free(cooked->pres_pos.data);
+ if_free(cooked->pres_speed.data);
+ if_free(cooked->pres_accel.data);
+ if_free(cooked->gps_lat.data);
+ if_free(cooked->gps_lon.data);
+ if_free(cooked->gps_alt.data);
+ if_free(cooked->state.data);
+ free(cooked);
+}