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 <eblake@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
Eric Blake 2019-01-08 13:46:48 -06:00
parent 4abd8d01cd
commit 358b6b593e
2 changed files with 5 additions and 3 deletions

View File

@ -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;
}

View File

@ -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;
}