summaryrefslogtreecommitdiff
path: root/ao-tools/lib/cc-process.c
diff options
context:
space:
mode:
authorBdale Garbee <bdale@gag.com>2009-09-06 17:34:08 -0600
committerBdale Garbee <bdale@gag.com>2009-09-06 17:34:08 -0600
commitd256f8204e9fce53ae4309562bb4c0cde1fae43e (patch)
tree76d36267c4a551f8aa570c07c045a682c73a4e5c /ao-tools/lib/cc-process.c
parent0fc344dfc031a8b1eef7cc40efb1d5ba7782269d (diff)
parent32d3536706324808df6cd02248a236302b831571 (diff)
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
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);
+}