From 94f3749784def39c9fea9264e3bf6f17e428c928 Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Tue, 19 Dec 2006 00:48:38 +0100 Subject: [PATCH] vmlinux refactoring: move destructor into PackVmlinuxBase. --- src/p_vmlinx.cpp | 22 +++++++--------------- src/p_vmlinx.h | 4 +--- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/p_vmlinx.cpp b/src/p_vmlinx.cpp index 3c1d1380..242253d4 100644 --- a/src/p_vmlinx.cpp +++ b/src/p_vmlinx.cpp @@ -50,13 +50,19 @@ static const // **************************************************************************/ -PackVmlinuxI386::~PackVmlinuxI386() +template +PackVmlinuxBase::~PackVmlinuxBase() { delete [] shstrtab; delete [] phdri; delete [] shdri; } + +/************************************************************************* +// +**************************************************************************/ + const int *PackVmlinuxI386::getCompressionMethods(int method, int level) const { return Packer::getDefaultCompressionMethods_le32(method, level); @@ -110,13 +116,6 @@ PackVmlinuxI386::getElfSections() return shstrsec; } -PackVmlinuxARM::~PackVmlinuxARM() -{ - delete [] shstrtab; - delete [] phdri; - delete [] shdri; -} - const int *PackVmlinuxARM::getCompressionMethods(int method, int level) const { return Packer::getDefaultCompressionMethods_8(method, level); @@ -1243,13 +1242,6 @@ void PackVmlinuxARM::unpack(OutputFile *fo) // **************************************************************************/ -PackVmlinuxAMD64::~PackVmlinuxAMD64() -{ - delete [] shstrtab; - delete [] phdri; - delete [] shdri; -} - const int *PackVmlinuxAMD64::getCompressionMethods(int method, int level) const { return Packer::getDefaultCompressionMethods_le32(method, level); diff --git a/src/p_vmlinx.h b/src/p_vmlinx.h index 24165873..4cc21335 100644 --- a/src/p_vmlinx.h +++ b/src/p_vmlinx.h @@ -51,6 +51,7 @@ public: { bele = N_BELE_CTP::getRTP(); } + virtual ~PackVmlinuxBase(); protected: int n_ptload; @@ -70,7 +71,6 @@ class PackVmlinuxI386 : public PackVmlinuxBase typedef PackVmlinuxBase super; public: PackVmlinuxI386(InputFile *f) : super(f) { } - virtual ~PackVmlinuxI386(); virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_VMLINUX_i386; } virtual const char *getName() const { return "vmlinux/386"; } @@ -97,7 +97,6 @@ class PackVmlinuxARM : public PackVmlinuxBase typedef PackVmlinuxBase super; public: PackVmlinuxARM(InputFile *f) : super(f) { } - virtual ~PackVmlinuxARM(); virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_VMLINUX_ARM; } virtual const char *getName() const { return "vmlinux/ARM"; } @@ -124,7 +123,6 @@ class PackVmlinuxAMD64 : public PackVmlinuxBase typedef PackVmlinuxBase super; public: PackVmlinuxAMD64(InputFile *f) : super(f) { } - virtual ~PackVmlinuxAMD64(); virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_VMLINUX_AMD64; } virtual const char *getName() const { return "vmlinux/AMD64"; }