[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] Fix MinGW build

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 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);
-            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);
-            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.


Attachment: signature.asc
Description: Digital signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]