From 358b6b593ec7e5afbb785be25c8525538f350850 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Tue, 8 Jan 2019 13:46:48 -0600 Subject: [PATCH] examples: Work around mingw printf() weakness mingw lacks %lld and %zu support in printf(); we were getting it from gnulib. But since commit acf522e8 stopped linking examples against gnulib, we are getting a build failure due to -Wformat flagging these strings. Keep the examples standalone, and work around mingw by using manual casts to types we can portably print. Signed-off-by: Eric Blake Reviewed-by: John Ferlan --- examples/domtop/domtop.c | 3 ++- examples/object-events/event-test.c | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/domtop/domtop.c b/examples/domtop/domtop.c index 4224e4c9ec..ada5a064fb 100644 --- a/examples/domtop/domtop.c +++ b/examples/domtop/domtop.c @@ -241,7 +241,8 @@ print_cpu_usage(const char *dom_name, if (delim) printf("\t"); - printf("CPU%zu: %.2lf", cpu + i, usage); + /* mingw lacks %zu */ + printf("CPU%u: %.2lf", (unsigned)(cpu + i), usage); delim = true; } diff --git a/examples/object-events/event-test.c b/examples/object-events/event-test.c index 53d95b10d0..0c99fb33e3 100644 --- a/examples/object-events/event-test.c +++ b/examples/object-events/event-test.c @@ -948,10 +948,11 @@ myDomainEventBlockThresholdCallback(virConnectPtr conn ATTRIBUTE_UNUSED, unsigned long long excess, void *opaque ATTRIBUTE_UNUSED) { + /* Casts to uint64_t to work around mingw not knowing %lld */ printf("%s EVENT: Domain %s(%d) block threshold callback dev '%s'(%s), " - "threshold: '%llu', excess: '%llu'", + "threshold: '%" PRIu64 "', excess: '%" PRIu64 "'", __func__, virDomainGetName(dom), virDomainGetID(dom), - dev, NULLSTR(path), threshold, excess); + dev, NULLSTR(path), (uint64_t)threshold, (uint64_t)excess); return 0; }