X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=src%2Flibelfu%2Fmodel%2Fphdr.c;h=6896845f482bd8aac3b5c97aea48255e119a0c2f;hb=fb56823e86ceff5e340a691ef2a6d5df81e02fac;hp=ce395ec2b5e78999ec76040e126a4b9dd42f72db;hpb=fd5d1e4f3c968fa87b46ef1ca94f8b613df121ff;p=centaur.git diff --git a/src/libelfu/model/phdr.c b/src/libelfu/model/phdr.c index ce395ec..6896845 100644 --- a/src/libelfu/model/phdr.c +++ b/src/libelfu/model/phdr.c @@ -60,3 +60,22 @@ ElfuPhdr* elfu_mPhdrAlloc() return mp; } + +void elfu_mPhdrDestroy(ElfuPhdr* mp) +{ + ElfuPhdr *mp2; + ElfuScn *ms; + + assert(mp); + + CIRCLEQ_FOREACH(mp2, &mp->childPhdrList, elem) { + // TODO ? + } + + CIRCLEQ_FOREACH(ms, &mp->childScnList, elem) { + CIRCLEQ_REMOVE(&mp->childScnList, ms, elem); + elfu_mScnDestroy(ms); + } + + free(mp); +}