aboutsummaryrefslogtreecommitdiff
path: root/src/survive.c
diff options
context:
space:
mode:
authorJustin Berger <j.david.berger@gmail.com>2018-04-14 13:06:30 -0600
committerJustin Berger <j.david.berger@gmail.com>2018-04-20 12:31:48 -0600
commit4fd3ee45503b1122d719347e3134c4a5707f2812 (patch)
treea10af63c89990599eda7e4ad1dea6b370c9683f7 /src/survive.c
parentdb03cd15bc0f8045820626105b305d6ac67f7434 (diff)
downloadlibsurvive-4fd3ee45503b1122d719347e3134c4a5707f2812.tar.gz
libsurvive-4fd3ee45503b1122d719347e3134c4a5707f2812.tar.bz2
Fixed some memory leaks
Diffstat (limited to 'src/survive.c')
-rw-r--r--src/survive.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/survive.c b/src/survive.c
index bb1179e..58566c1 100644
--- a/src/survive.c
+++ b/src/survive.c
@@ -226,6 +226,19 @@ SurviveContext *survive_init_internal(int argc, char *const *argv) {
return ctx;
}
+survive_timecode survive_timecode_difference(survive_timecode most_recent, survive_timecode least_recent) {
+ uint32_t diff = 0;
+ if (most_recent > least_recent) {
+ diff = most_recent - least_recent;
+ } else {
+ diff = least_recent - most_recent;
+ }
+
+ if (diff > 0xFFFFFFFF / 2)
+ return 0x7FFFFFFF / 2 - diff;
+ return diff;
+}
+
void *GetDriverByConfig(SurviveContext *ctx, const char *name, const char *configname, const char *configdef,
int verbose) {
const char *Preferred = survive_configs(ctx, configname, SC_SETCONFIG, configdef);
@@ -499,6 +512,8 @@ void survive_close(SurviveContext *ctx) {
destroy_config_group(ctx->lh_config);
for (i = 0; i < ctx->objs_ct; i++) {
+ free(ctx->objs[i]->sensor_locations);
+ free(ctx->objs[i]->sensor_normals);
free(ctx->objs[i]);
}
@@ -510,6 +525,8 @@ void survive_close(SurviveContext *ctx) {
free(ctx->global_config_values);
free(ctx->temporary_config_values);
free(ctx->lh_config);
+ free(ctx->calptr);
+ free(ctx->recptr);
free(ctx);
}