changeset 577:a3d62f2f864f

Some memory-handling fixes Free the correct bits of datum, not bits that have already been set to NULL, after getting query results back (both in the command-line binary and in the PD external). In the external, free the results structure once the data has been passed into the outlets.
author mas01cr
date Mon, 06 Jul 2009 15:26:24 +0000
parents ae2eeec4d41d
children dabbde72e331
files audioDB.cpp bindings/pd/adbpd.c
diffstat 2 files changed, 9 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/audioDB.cpp	Mon Jul 06 15:09:55 2009 +0000
+++ b/audioDB.cpp	Mon Jul 06 15:26:24 2009 +0000
@@ -929,12 +929,12 @@
     datum.data = NULL;
   }
   if(datum.power) {
-    free(datum.data);
-    datum.data = NULL;
+    free(datum.power);
+    datum.power = NULL;
   }
   if(datum.times) {
-    free(datum.data);
-    datum.data = NULL;
+    free(datum.times);
+    datum.times = NULL;
   }
 
   if(rs == NULL) {
--- a/bindings/pd/adbpd.c	Mon Jul 06 15:09:55 2009 +0000
+++ b/bindings/pd/adbpd.c	Mon Jul 06 15:26:24 2009 +0000
@@ -254,12 +254,12 @@
     datum.data = NULL;
   }
   if(datum.power) {
-    free(datum.data);
-    datum.data = NULL;
+    free(datum.power);
+    datum.power = NULL;
   }
   if(datum.times) {
-    free(datum.data);
-    datum.data = NULL;
+    free(datum.times);
+    datum.times = NULL;
   }
   
   if(rs == NULL)
@@ -283,7 +283,7 @@
     post("in obj qpos:%d", r.qpos);
     post("in obj ipos:%d", r.ipos);
   }
-    
+  audiodb_query_free_results(x->db, &spec, rs);
 }
 
 /* Do I need to set a the power file for this flag to work ?