summaryrefslogtreecommitdiff
path: root/src/unexw32.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2017-09-14 20:46:59 +0300
committerEli Zaretskii <eliz@gnu.org>2017-09-14 20:46:59 +0300
commit7d33ebc1f0d68b0b2a5bb089e5b62e7e1f6fc3f6 (patch)
treec6bdeec7bcdb20ae7e4f5289203352c14821d8c8 /src/unexw32.c
parent2c29280e7a360f55a8110bb1e3985cc09eb94577 (diff)
downloademacs-7d33ebc1f0d68b0b2a5bb089e5b62e7e1f6fc3f6.tar.gz
Avoid 64-bit compilation warnings in unexw32.c
* src/unexw32.c (pDWP): New macro. (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR. Use pDWP for printing values that can be either 32-bit or 64-bit wide.
Diffstat (limited to 'src/unexw32.c')
-rw-r--r--src/unexw32.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/unexw32.c b/src/unexw32.c
index 73d23056263..d3d6a90f686 100644
--- a/src/unexw32.c
+++ b/src/unexw32.c
@@ -470,6 +470,12 @@ get_section_info (file_data *p_infile)
}
}
+/* Format to print a DWORD_PTR value. */
+#ifdef MINGW_W64
+# define pDWP "16llx"
+#else
+# define pDWP "08lx"
+#endif
/* The dump routines. */
@@ -490,13 +496,13 @@ copy_executable_and_dump_data (file_data *p_infile,
#define COPY_CHUNK(message, src, size, verbose) \
do { \
unsigned char *s = (void *)(src); \
- unsigned long count = (size); \
+ DWORD_PTR count = (size); \
if (verbose) \
{ \
printf ("%s\n", (message)); \
- printf ("\t0x%08x Offset in input file.\n", s - p_infile->file_base); \
- printf ("\t0x%08x Offset in output file.\n", dst - p_outfile->file_base); \
- printf ("\t0x%08lx Size in bytes.\n", count); \
+ printf ("\t0x%"pDWP" Offset in input file.\n", s - p_infile->file_base); \
+ printf ("\t0x%"pDWP" Offset in output file.\n", dst - p_outfile->file_base); \
+ printf ("\t0x%"pDWP" Size in bytes.\n", count); \
} \
memcpy (dst, s, count); \
dst += count; \
@@ -505,15 +511,15 @@ copy_executable_and_dump_data (file_data *p_infile,
#define COPY_PROC_CHUNK(message, src, size, verbose) \
do { \
unsigned char *s = (void *)(src); \
- unsigned long count = (size); \
+ DWORD_PTR count = (size); \
if (verbose) \
{ \
printf ("%s\n", (message)); \
printf ("\t0x%p Address in process.\n", s); \
printf ("\t0x%p Base output file.\n", p_outfile->file_base); \
- printf ("\t0x%p Offset in output file.\n", dst - p_outfile->file_base); \
+ printf ("\t0x%"pDWP" Offset in output file.\n", dst - p_outfile->file_base); \
printf ("\t0x%p Address in output file.\n", dst); \
- printf ("\t0x%p Size in bytes.\n", count); \
+ printf ("\t0x%"pDWP" Size in bytes.\n", count); \
} \
memcpy (dst, s, count); \
dst += count; \