From: Eric Blake Date: Tue, 8 Jan 2019 19:46:48 +0000 (-0600) Subject: examples: Work around mingw printf() weakness X-Git-Tag: v5.0.0-rc1~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=358b6b593ec7e5afbb785be25c8525538f350850;p=thirdparty%2Flibvirt.git 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 --- 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; }