From 7d62fc765adc11bbcb7db0716ac5dc19145dca80 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Sun, 15 Jun 2014 10:58:40 +0000 Subject: [PATCH] To be sure a fix in comparing the floating point numbers --- src/coord.c | 29 ++++++++++++++++------------- 1 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/coord.c b/src/coord.c index a5723a8..afcc50d 100644 --- a/src/coord.c +++ b/src/coord.c @@ -1,5 +1,5 @@ #include<general.h> - +#include<stdlib.h> ts_coord_list *init_coord_list(){ @@ -10,29 +10,32 @@ return coordlist; } -ts_coord_list add_coord(ts_coord_list *coordlist, ts_double e1, ts_double e2, ts_double e3, ts_uint coord_type){ +ts_bool add_coord(ts_coord_list *coordlist, ts_double e1, ts_double e2, ts_double e3, ts_uint coord_type){ - coordlist->N++; - coordlist->coord=(ts_coord *)realloc(coordlist->coord,N*sizeof(ts_coord)); + coordlist->coord=(ts_coord **)realloc(coordlist->coord,(coordlist->n+1)*sizeof(ts_coord *)); if(coordlist->coord==NULL){ fatal("Cannot allocate memory for coord in coordlist",998); } + + + coordlist->coord[coordlist->n]=(ts_coord *)calloc(1, sizeof(ts_coord)); - coordlist->coord[coordlist->N-1]->e1=e1; - coordlist->coord[coordlist->N-1]->e2=e2; - coordlist->coord[coordlist->N-1]->e3=e3; - coordlist->coord[coordlist->N-1]->coord_type=coord_type; - + coordlist->coord[coordlist->n]->e1=e1; + coordlist->coord[coordlist->n]->e2=e2; + coordlist->coord[coordlist->n]->e3=e3; + coordlist->coord[coordlist->n]->coord_type=coord_type; + coordlist->n++; + return TS_SUCCESS; } -ts_bool coord_list_free(ts_coord_list coordlist){ +ts_bool coord_list_free(ts_coord_list *coordlist){ ts_uint i; if(coordlist==NULL) return TS_SUCCESS; - for(i=0; i<coordlist->N;i++){ - if(coordlist->coord[N]!=NULL) free(coordlist->coord[N]); + for(i=0; i<coordlist->n;i++){ + if(coordlist->coord[i]!=NULL) free(coordlist->coord[i]); } - + free(coordlist->coord); free(coordlist); return TS_SUCCESS; -- Gitblit v1.9.3