From fec602362b2b589ac7e6ff389ae1e9ee19276133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Moln=C3=A1r?= Date: Thu, 27 Apr 2006 15:54:50 +0000 Subject: [PATCH] added new virtual function createLinker() committer: ml1050 1146153290 +0000 --- src/packer.cpp | 13 +++++++++---- src/packer.h | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/packer.cpp b/src/packer.cpp index f9c6034f..760eaf63 100644 --- a/src/packer.cpp +++ b/src/packer.cpp @@ -1055,6 +1055,14 @@ char const *Packer::getIdentstr(unsigned *size, int small) } } +void Packer::createLinker(const void *pdata, int plen, int pinfo) +{ + if (getFormat() < 128) + linker = new Linker(pdata, plen, pinfo); // little endian + else + linker = new BeLinker(pdata, plen, pinfo); // big endian +} + void Packer::initLoader(const void *pdata, int plen, int pinfo, int small) { if (pinfo < 0) @@ -1064,10 +1072,7 @@ void Packer::initLoader(const void *pdata, int plen, int pinfo, int small) } delete linker; linker = NULL; - if (getFormat() < 128) - linker = new Linker(pdata, plen, pinfo); // little endian - else - linker = new BeLinker(pdata, plen, pinfo); // big endian + createLinker(pdata, plen, pinfo); unsigned size; char const * const ident = getIdentstr(&size, small); diff --git a/src/packer.h b/src/packer.h index f09c9ba7..4c8373a6 100644 --- a/src/packer.h +++ b/src/packer.h @@ -271,6 +271,7 @@ protected: protected: // linker Linker *linker; + virtual void createLinker(const void *pdata, int plen, int pinfo); private: // private to checkPatch()