diff options
Diffstat (limited to 'src/libelfu/model/phdr.c')
-rw-r--r-- | src/libelfu/model/phdr.c | 19 |
1 files changed, 19 insertions, 0 deletions
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); +} |