From 45268141be14048f3feee31622c145c1fb5bf955 Mon Sep 17 00:00:00 2001 From: Mathias Kresin Date: Sun, 12 Jun 2016 12:05:45 +0200 Subject: mtd-utils: fix wrong format specifiers on mips32 This patch fixes the follwing compiler warnings: flash_erase.c: In function 'show_progress': flash_erase.c:56:22: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'off_t {aka long long int}' [-Wformat=] bareverbose(!quiet, "\rErasing %d Kibyte @ %"PRIxoff_t" -- %2i %% complete ", ^ ./include/common.h:81:10: note: in definition of macro 'bareverbose' printf(fmt, ##__VA_ARGS__); which are linked to the following buggy numerical output: Erasing 128 Kibyte @ 0 -- 917504 % complete flash_erase: Cleanmarker written at 0 Erasing 128 Kibyte @ 0 -- 1048576 % complete flash_erase: Cleanmarker written at 0 Signed-off-by: Mathias Kresin Signed-off-by: Richard Weinberger --- include/common.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include/common.h') diff --git a/include/common.h b/include/common.h index 8cb3142..ca4c62e 100644 --- a/include/common.h +++ b/include/common.h @@ -72,8 +72,13 @@ extern "C" { #define PRIxoff_t PRIx64 #define PRIdoff_t PRId64 #else +#if (SIZEOF_LONG >= 8) #define PRIxoff_t "l"PRIx32 #define PRIdoff_t "l"PRId32 +#else +#define PRIxoff_t "ll"PRIx32 +#define PRIdoff_t "ll"PRId32 +#endif #endif /* Verbose messages */ -- cgit v1.2.3