summaryrefslogtreecommitdiff
path: root/src/modelops/clone.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modelops/clone.c')
-rw-r--r--src/modelops/clone.c41
1 files changed, 0 insertions, 41 deletions
diff --git a/src/modelops/clone.c b/src/modelops/clone.c
deleted file mode 100644
index 8f92919..0000000
--- a/src/modelops/clone.c
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-#include <libelfu/libelfu.h>
-
-ElfuScn* elfu_mCloneScn(ElfuScn *ms)
-{
- ElfuScn *newscn;
-
- assert(ms);
-
- newscn = malloc(sizeof(ElfuScn));
- if (!newscn) {
- ELFU_WARN("elfu_nCloneScn: Could not allocate memory for new ElfuScn.\n");
- return NULL;
- }
-
- newscn->shdr = ms->shdr;
- newscn->data = ms->data;
- if (ms->data.d_buf) {
- void *newbuf = malloc(ms->data.d_size);
- if (!newbuf) {
- ELFU_WARN("elfu_nCloneScn: Could not allocate memory for new data buffer.\n");
- free(newscn);
- return NULL;
- }
-
- memcpy(newbuf, ms->data.d_buf, ms->data.d_size);
- newscn->data.d_buf = newbuf;
- }
-
- newscn->linkptr = NULL;
- newscn->infoptr = NULL;
-
- newscn->oldptr = ms;
-
- CIRCLEQ_INIT(&ms->symtab.syms);
- CIRCLEQ_INIT(&ms->reltab.rels);
-
- return newscn;
-}