# HG changeset patch # User mas01cr # Date 1246893984 0 # Node ID a3d62f2f864fd88677c9cebe85e91985f0a1ca9f # Parent ae2eeec4d41d9989461dd7820da81226b3a53678 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. diff -r ae2eeec4d41d -r a3d62f2f864f audioDB.cpp --- 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) { diff -r ae2eeec4d41d -r a3d62f2f864f bindings/pd/adbpd.c --- 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 ?