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:
13
inst.c
13
inst.c
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user