1
0
mirror of git://projects.qi-hardware.com/fped.git synced 2025-04-21 12:27:27 +03:00

- delete.c: added more destructor functions

- deallocate all our data structures on exit (to help find memory leaks, bad
  pointers, and general logic errors)
- fixed memory leak when allocating pad names in instantiation
- added "magic" environment variable FPED_NO_GUI to run fped without 
  initializing Gtk+
- added valgrind wrapper "leakcheck"
- delete.c: destroy() now requires a deletion to exist
- vacate_op: free string expressions
- destroy_obj: free measurement labels
- delete_references: use do_delete_obj so the we don't bump the group number
- delete_frame: delete references after deleting the frame itself, so they end
  up on the stack above the frame and get destroyed first
- do_delete_vec: like above, even though it doesn't matter here



git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5506 99fdad57-331a-0410-800a-d7fa5415bdb3
This commit is contained in:
werner
2009-08-21 08:34:17 +00:00
parent 2737f8a3fa
commit 9e7e804d1a
11 changed files with 182 additions and 27 deletions

13
inst.c
View File

@@ -956,6 +956,18 @@ struct bbox inst_get_bbox(void)
}
static void cleanup_inst(enum inst_prio prio, const struct inst *inst)
{
switch (prio) {
case ip_pad:
free(inst->u.pad.name);
break;
default:
break;
}
}
static void free_pkgs(struct pkg *pkg)
{
enum inst_prio prio;
@@ -967,6 +979,7 @@ static void free_pkgs(struct pkg *pkg)
FOR_INST_PRIOS_UP(prio)
for (inst = pkg->insts[prio]; inst; inst = next) {
next = inst->next;
cleanup_inst(prio, inst);
free(inst);
}
reset_samples(pkg->samples, pkg->n_samples);