devlink: Fix printf() type mismatches on 32-bit architectures
devlink currently uses "%lu" to format values of type uint64_t,
but on 32-bit architectures uint64_t is defined as unsigned
long long and this does not work correctly.
Fix this by using the standard macro PRIu64 instead.
Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
diff --git a/devlink/devlink.c b/devlink/devlink.c
index 0b5548f..5db709c 100644
--- a/devlink/devlink.c
+++ b/devlink/devlink.c
@@ -3546,7 +3546,7 @@
}
}
if (total) {
- pr_out_tty(" %3lu%%", (done * 100) / total);
+ pr_out_tty(" %3"PRIu64"%%", (done * 100) / total);
ctx->last_pc = 1;
} else {
ctx->last_pc = 0;
@@ -3601,7 +3601,7 @@
*/
if (!ctx->status_msg_timeout) {
len = snprintf(msg, sizeof(msg),
- " ( %lum %lus )", elapsed_m, elapsed_s);
+ " ( %"PRIu64"m %"PRIu64"s )", elapsed_m, elapsed_s);
} else if (res.tv_sec <= ctx->status_msg_timeout) {
uint64_t timeout_m, timeout_s;
@@ -3609,11 +3609,11 @@
timeout_s = ctx->status_msg_timeout % 60;
len = snprintf(msg, sizeof(msg),
- " ( %lum %lus : %lum %lus )",
+ " ( %"PRIu64"m %"PRIu64"s : %"PRIu64"m %"PRIu64"s )",
elapsed_m, elapsed_s, timeout_m, timeout_s);
} else {
len = snprintf(msg, sizeof(msg),
- " ( %lum %lus : timeout reached )", elapsed_m, elapsed_s);
+ " ( %"PRIu64"m %"PRIu64"s : timeout reached )", elapsed_m, elapsed_s);
}
ctx->elapsed_time_msg_len = len;