[libvirt] [PATCH] Fix MinGW build

Martin Kletzander mkletzan at redhat.com
Wed Sep 24 15:13:22 UTC 2014


On Wed, Sep 24, 2014 at 02:13:25PM +0200, Pavel Hrdina wrote:
>When building on mingw the format string for long long/unsigned long
>long have to be I64d/I64u instead of lld/llu.
>
>Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
>---
>
>I'm not sure if this is the right way to do it so sending it for review.
>

I think this is OK since it's still partly build-breaker.  We can
change it later.

> examples/object-events/event-test.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
>diff --git a/examples/object-events/event-test.c b/examples/object-events/event-test.c
>index 9e09736..e90b590 100644
>--- a/examples/object-events/event-test.c
>+++ b/examples/object-events/event-test.c
>@@ -476,6 +476,15 @@ myDomainEventTunableCallback(virConnectPtr conn ATTRIBUTE_UNUSED,
>     printf("%s EVENT: Domain %s(%d) tunable updated:\n",
>            __func__, virDomainGetName(dom), virDomainGetID(dom));
>
>+#ifdef WIN32
>+/* MinGW doesn't know the lld/llu so we have to use I64f/I64u instead. */
>+# define LLD_FORMAT "%I64d"
>+# define LLU_FORMAT "%I64u"
>+#else /* WIN32 */
>+# define LLD_FORMAT "%lld"
>+# define LLU_FORMAT "%llu"
>+#endif /* WIN32 */
>+
>     for (i = 0; i < nparams; i++) {
>         switch (params[i].type) {
>         case VIR_TYPED_PARAM_INT:
>@@ -485,10 +494,10 @@ myDomainEventTunableCallback(virConnectPtr conn ATTRIBUTE_UNUSED,
>             printf("\t%s: %u\n", params[i].field, params[i].value.ui);
>             break;
>         case VIR_TYPED_PARAM_LLONG:
>-            printf("\t%s: %lld\n", params[i].field, params[i].value.l);
>+            printf("\t%s: "LLD_FORMAT"\n", params[i].field, params[i].value.l);
>             break;
>         case VIR_TYPED_PARAM_ULLONG:
>-            printf("\t%s: %llu\n", params[i].field, params[i].value.ul);
>+            printf("\t%s: "LLU_FORMAT"\n", params[i].field, params[i].value.ul);

ACK if you put space around the macros.

Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140924/400bb60f/attachment-0001.sig>


More information about the libvir-list mailing list