summaryrefslogtreecommitdiff
path: root/tools/create-image.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2015-04-02 11:29:48 +0300
committerJohan Hedberg <johan.hedberg@intel.com>2015-04-02 11:33:20 +0300
commit2ca2bdce02407c572fb0792dcebb9e876a3d553a (patch)
tree8d4a595401e72af733e4c2acc3ea73fd3cd76453 /tools/create-image.c
parent1db97762e976bdf9304ffc9873b052fbaec48de1 (diff)
downloadbluez-2ca2bdce02407c572fb0792dcebb9e876a3d553a.tar.gz
tools: Fix build-error on 32-bit systems
The %zX format specifier for st_size causes the following warning: tools/create-image.c:120:5: error: format ‘%zX’ expects argument of type ‘size_t’, but argument 10 has type ‘__off_t’ [-Werror=format=] st.st_size, 0, 0, 0, 0, namelen + 1, 0, name); ^ The best way to solve this (as off_t doesn't have a standard format specifier) is to use 'j' and do a typecast to uintmax_t.
Diffstat (limited to 'tools/create-image.c')
-rw-r--r--tools/create-image.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/create-image.c b/tools/create-image.c
index c2342790a..d94f99d92 100644
--- a/tools/create-image.c
+++ b/tools/create-image.c
@@ -34,6 +34,7 @@
#include <sys/stat.h>
#include <sys/mman.h>
#include <sys/param.h>
+#include <inttypes.h>
/*
* The "new" ASCII format uses 8-byte hexadecimal fields for all numbers and
@@ -58,7 +59,7 @@
*
*/
-#define HDR_FMT "%s%08X%08X%08X%08X%08X%08X%08zX%08X%08X%08X%08X%08X%08X%s"
+#define HDR_FMT "%s%08X%08X%08X%08X%08X%08X%08jX%08X%08X%08X%08X%08X%08X%s"
#define HDR_MAGIC "070701"
@@ -117,7 +118,7 @@ static void write_block(FILE *fp, const char *pathname, unsigned int ino,
done:
fprintf(fp, HDR_FMT, HDR_MAGIC, ino, mode, 0, 0, 1, 0,
- st.st_size, 0, 0, 0, 0, namelen + 1, 0, name);
+ (uintmax_t) st.st_size, 0, 0, 0, 0, namelen + 1, 0, name);
pad = 4 - ((110 + namelen) % 4);
for (i = 0; i < pad; i++)