Implement mInsertAfter, for post-.data injection
[centaur.git] / src / main.c
index eaf2709ccac412158cceeea297e083275fbe7352..1e06d2998bca0642143bbb2deee1a51aaab14ed5 100644 (file)
@@ -63,16 +63,24 @@ int main(int argc, char **argv)
   if (opts.fnOutput) {
     ElfuElf *me;
 
-    me = elfu_modelFromElf(hIn.e);
+    me = elfu_mFromElf(hIn.e);
 
     if (me) {
       printf("Model successfully loaded.\n");
+      elfu_mCheck(me);
+      printf("Input model checked.\n");
 
-      elfu_modelCheck(me);
-      printf("Model checked.\n");
+      if (opts.insertBeforeSz) {
+        elfu_mInsertBefore(me, opts.insertBeforeOffs, opts.insertBeforeSz);
+      }
 
-      elfu_modelToElf(me, hOut.e);
+      if (opts.insertAfterSz) {
+        elfu_mInsertAfter(me, opts.insertAfterOffs, opts.insertAfterSz);
+      }
 
+      elfu_mCheck(me);
+      printf("Output model checked.\n");
+      elfu_mToElf(me, hOut.e);
       printf("Model converted to ELF, ready to be written.\n");
     } else {
       printf("Failed to load model.\n");