firmware-utils: mkfwimage: fix build failure on macOS with gcc 9

Fixes following errors:

 src/mkfwimage.c:279:8: error: format specifies type 'long' but the argument has type 'off_t' (aka 'long long') [-Werror,-Wformat]
                      d->stats.st_size,
                     ^~~~~~~~~~~~~~~~
 src/mkfwimage.c:280:8: error: format specifies type 'long' but the argument has type 'long long' [-Werror,-Wformat]
                      d->partition_length - d->stats.st_size);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 src/mkfwimage.c:378:6: error: format specifies type 'unsigned long' but the argument has type 'long long' [-Werror,-Wformat]
                      d->stats.st_size - d->partition_length);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reported-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
Petr Štetiar 2019-07-19 23:04:23 +02:00
parent 04cb651376
commit ff7909f69e

View File

@ -19,6 +19,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <inttypes.h>
#include <fcntl.h> #include <fcntl.h>
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
@ -274,7 +275,7 @@ static void print_image_info(const image_info_t* im)
for (i = 0; i < im->part_count; ++i) for (i = 0; i < im->part_count; ++i)
{ {
const part_data_t* d = &im->parts[i]; const part_data_t* d = &im->parts[i];
INFO(" %10s: %8ld bytes (free: %8ld)\n", INFO(" %10s: %8" PRId64 " bytes (free: %8" PRId64 ")\n",
d->partition_name, d->partition_name,
d->stats.st_size, d->stats.st_size,
d->partition_length - d->stats.st_size); d->partition_length - d->stats.st_size);
@ -373,7 +374,7 @@ static int validate_image_layout(image_info_t* im)
return -3; return -3;
} }
if (d->stats.st_size > d->partition_length) { if (d->stats.st_size > d->partition_length) {
ERROR("File '%s' too big (%d) - max size: 0x%08X (exceeds %lu bytes)\n", ERROR("File '%s' too big (%d) - max size: 0x%08X (exceeds %" PRId64 " bytes)\n",
d->filename, i, d->partition_length, d->filename, i, d->partition_length,
d->stats.st_size - d->partition_length); d->stats.st_size - d->partition_length);
return -4; return -4;