#include #include ts_coord_list *init_coord_list(){ ts_coord_list *coordlist=(ts_coord_list *)calloc(1,sizeof(ts_coord_list)); if(coordlist==NULL){ fatal("Cannot allocate memory for coordlist",999); } return coordlist; } ts_bool add_coord(ts_coord_list *coordlist, ts_double e1, ts_double e2, ts_double e3, ts_uint coord_type){ 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]->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_uint i; if(coordlist==NULL) return TS_SUCCESS; for(i=0; in;i++){ if(coordlist->coord[i]!=NULL) free(coordlist->coord[i]); } free(coordlist->coord); free(coordlist); return TS_SUCCESS; }