Fix leaks and invalid memory accesses
[lttv.git] / lttv / lttv / sync / event_analysis_chull.c
index e5da4c446ebb5eaea10a01efd1b9852a827c4bb9..0e583791cedd7d8a3a67ec4c5099afd48213adcf 100644 (file)
@@ -26,6 +26,7 @@
 #include <float.h>
 #include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
 #include <unistd.h>
 
 #include "sync_chain.h"
 #include "event_analysis_chull.h"
 
 
-#ifndef g_info
-#define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format)
-#endif
-
-
 typedef enum
 {
        LOWER,
@@ -197,7 +193,7 @@ static void openGraphFiles(SyncState* const syncState)
 
        analysisData= (AnalysisDataCHull*) syncState->analysisData;
 
-       cwd= changeToGraphDir(syncState->graphsDir);
+       cwd= changeToGraphsDir(syncState->graphsDir);
 
        analysisData->graphsData->hullPoints= malloc(syncState->traceNb *
                sizeof(FILE**));
@@ -346,6 +342,7 @@ static void destroyAnalysisCHull(SyncState* const syncState)
                for (j= 0; j < syncState->traceNb; j++)
                {
                        g_queue_foreach(analysisData->hullArray[i][j], gfPointDestroy, NULL);
+                       g_queue_free(analysisData->hullArray[i][j]);
                }
                free(analysisData->hullArray[i]);
        }
@@ -589,18 +586,19 @@ static void printAnalysisStatsCHull(SyncState* const syncState)
                        FactorsCHull* factorsCHull;
 
                        factorsCHull= &analysisData->stats->allFactors[j][i];
-                       printf("\t\t%3d - %-3d: ", i, j);
+                       printf("\t\t%3d - %-3d: %s", i, j,
+                               approxNames[factorsCHull->type]);
 
                        if (factorsCHull->type == EXACT)
                        {
-                               printf("Exact      a0= % 7g a1= 1 %c %7g\n",
+                               printf("      a0= % 7g a1= 1 %c %7g\n",
                                        factorsCHull->approx->offset,
                                        factorsCHull->approx->drift < 0. ? '-' : '+',
                                        fabs(factorsCHull->approx->drift));
                        }
                        else if (factorsCHull->type == MIDDLE)
                        {
-                               printf("Middle     a0= % 7g a1= 1 %c %7g accuracy %7g\n",
+                               printf("     a0= % 7g a1= 1 %c %7g accuracy %7g\n",
                                        factorsCHull->approx->offset, factorsCHull->approx->drift
                                        - 1. < 0. ? '-' : '+', fabs(factorsCHull->approx->drift -
                                                1.), factorsCHull->accuracy);
@@ -613,14 +611,14 @@ static void printAnalysisStatsCHull(SyncState* const syncState)
                        }
                        else if (factorsCHull->type == FALLBACK)
                        {
-                               printf("Fallback   a0= % 7g a1= 1 %c %7g error= %7g\n",
+                               printf("   a0= % 7g a1= 1 %c %7g error= %7g\n",
                                        factorsCHull->approx->offset, factorsCHull->approx->drift
                                        - 1. < 0. ? '-' : '+', fabs(factorsCHull->approx->drift -
                                                1.), factorsCHull->accuracy);
                        }
                        else if (factorsCHull->type == INCOMPLETE)
                        {
-                               printf("Incomplete\n");
+                               printf("\n");
 
                                if (factorsCHull->min->drift != -INFINITY)
                                {
@@ -639,7 +637,7 @@ static void printAnalysisStatsCHull(SyncState* const syncState)
                        }
                        else if (factorsCHull->type == SCREWED)
                        {
-                               printf("Screwed\n");
+                               printf("\n");
 
                                if (factorsCHull->min != NULL && factorsCHull->min->drift != -INFINITY)
                                {
@@ -658,7 +656,7 @@ static void printAnalysisStatsCHull(SyncState* const syncState)
                        }
                        else if (factorsCHull->type == ABSENT)
                        {
-                               printf("Absent\n");
+                               printf("\n");
                        }
                        else
                        {
@@ -930,7 +928,7 @@ void calculateFactorsMiddle(FactorsCHull* const factors)
        bmin= factors->min->drift;
        bmax= factors->max->drift;
 
-       g_assert_cmpfloat(bmax, >, bmin);
+       g_assert_cmpfloat(bmax, >=, bmin);
 
        factors->approx= malloc(sizeof(Factors));
        bhat= (bmax * bmin - 1. + sqrt(1. + pow(bmax, 2.) * pow(bmin, 2.) +
This page took 0.025055 seconds and 4 git commands to generate.