From 69eaaa417767b1b0377d9870c48bbcdf9912ddfd Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Tue, 14 Feb 2006 10:54:39 +0000 Subject: [PATCH] Revert previous checkin. committer: mfx 1139914479 +0000 --- src/linker.cpp | 2 ++ src/packer.cpp | 12 ++++-------- src/packer.h | 1 - 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/linker.cpp b/src/linker.cpp index 26984fe6..8ceece9d 100644 --- a/src/linker.cpp +++ b/src/linker.cpp @@ -128,6 +128,8 @@ static int hex(char c) int Linker::addSection(const char *psect) { + if (psect[0] == 0) + return olen; char *begin = strdup(psect); char *end = begin + strlen(begin); for (char *sect = begin; sect < end; ) diff --git a/src/packer.cpp b/src/packer.cpp index 80e503ca..d30dcd93 100644 --- a/src/packer.cpp +++ b/src/packer.cpp @@ -1072,21 +1072,17 @@ void Packer::initLoader(const void *pdata, int plen, int pinfo, int small) } -void Packer::addLoader(const char *s) -{ - if (*s) - linker->addSection(s); -} - void __acc_cdecl_va Packer::addLoader(const char *s, ...) { va_list ap; va_start(ap, s); - do { + while (s != NULL) + { if (*s) linker->addSection(s); - } while ((s = va_arg(ap, const char *)) != NULL); + s = va_arg(ap, const char *); + } va_end(ap); } diff --git a/src/packer.h b/src/packer.h index 6d673d74..4eda5e25 100644 --- a/src/packer.h +++ b/src/packer.h @@ -208,7 +208,6 @@ protected: virtual const upx_byte *getLoader() const; virtual int getLoaderSize() const; virtual void initLoader(const void *pdata, int plen, int pinfo=-1, int small=-1); - virtual void addLoader(const char *s); virtual void __acc_cdecl_va addLoader(const char *s, ...); virtual int getLoaderSection(const char *name, int *slen=NULL) const; virtual int getLoaderSectionStart(const char *name, int *slen=NULL) const;