summaryrefslogtreecommitdiff
path: root/src/libelfu/model/phdr.c
diff options
context:
space:
mode:
authornorly <ny-git@enpas.org>2013-06-20 23:25:09 +0100
committernorly <ny-git@enpas.org>2013-06-20 23:25:09 +0100
commitfb56823e86ceff5e340a691ef2a6d5df81e02fac (patch)
treedf7750e090cafaaba6572f43929d1d5874e58645 /src/libelfu/model/phdr.c
parentfd5d1e4f3c968fa87b46ef1ca94f8b613df121ff (diff)
Add Elf/Phdr/Scn alloc/destroy
Diffstat (limited to 'src/libelfu/model/phdr.c')
-rw-r--r--src/libelfu/model/phdr.c19
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);
+}