Browse Source

dvec abstraction, #9/11, introduce `dvec_free()'

pre-master-46
rlar 10 years ago
parent
commit
3962453739
  1. 13
      src/frontend/dvec.c
  2. 7
      src/frontend/plotting/graphdb.c
  3. 9
      src/frontend/vectors.c
  4. 1
      src/include/ngspice/dvec.h

13
src/frontend/dvec.c

@ -38,3 +38,16 @@ dvec_alloc(char *name, int type, short flags, int length, void *storage)
return rv;
}
void
dvec_free(struct dvec *v)
{
if (v->v_name)
tfree(v->v_name);
if (v->v_realdata)
tfree(v->v_realdata);
if (v->v_compdata)
tfree(v->v_compdata);
tfree(v);
}

7
src/frontend/plotting/graphdb.c

@ -182,12 +182,7 @@ DestroyGraph(int id)
d = list->graph.plotdata;
while (d) {
nextd = d->next;
tfree(d->vector->v_name);
if (isreal(d->vector))
tfree(d->vector->v_realdata);
else
tfree(d->vector->v_compdata);
tfree(d->vector);
dvec_free(d->vector);
tfree(d);
d = nextd;
}

9
src/frontend/vectors.c

@ -861,14 +861,7 @@ vec_free_x(struct dvec *v)
}
}
if (v->v_name)
tfree(v->v_name);
if (v->v_realdata)
tfree(v->v_realdata);
if (v->v_compdata)
tfree(v->v_compdata);
tfree(v);
dvec_free(v);
}

1
src/include/ngspice/dvec.h

@ -69,5 +69,6 @@ struct dveclist {
};
struct dvec *dvec_alloc(char *name, int type, short flags, int length, void *storage);
void dvec_free(struct dvec *);
#endif
Loading…
Cancel
Save