Added new macro CONST_CAST to avoid compiler warnings.

committer: mfx <mfx> 974103100 +0000
This commit is contained in:
Markus F.X.J. Oberhumer 2000-11-13 08:11:40 +00:00
parent 94071e4e5b
commit 7f3f4dad7d
3 changed files with 6 additions and 3 deletions

View File

@ -328,8 +328,7 @@ void *upx_main(
Elf32_Phdr const *phdr = (Elf32_Phdr const *)(1+ehdr);
Elf32_Addr entry;
struct Extent xo;
struct Extent xi = { 0, (sizeof(struct p_info) + lsize + (char *)my_ehdr) };
// warning: 'const' cast away
struct Extent xi = { 0, sizeof(struct p_info) + lsize + CONST_CAST(char *, my_ehdr) };
size_t const sz_elfhdrs = ((size_t *)xi.buf)[0]; // sizeof(Ehdr+Phdrs), uncompressed
size_t const sz_pckhdrs = ((size_t *)xi.buf)[1]; // sizeof(Ehdr+Phdrs), compressed

View File

@ -296,7 +296,7 @@ void *upx_main(
*(unsigned short const *)(0x7c + (char const *)my_ehdr);
struct Extent xi = { // describe compressed shell script
((Elf32_Phdr const *)(1 + my_ehdr))->p_filesz - lsize,
(lsize + (char *)my_ehdr) // warning: 'const' cast away
lsize + CONST_CAST(char *, my_ehdr)
};
struct Extent xo = { ((struct p_info *)xi.buf)[-1].p_filesize, uncbuf };

View File

@ -51,6 +51,10 @@ struct timex;
#include <linux/unistd.h>
#define CONST_CAST(type, var) \
((type) ((unsigned long) (var)))
/*************************************************************************
// constants and types
**************************************************************************/