]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
examples: fix mingw build vs. printf
authorEric Blake <eblake@redhat.com>
Mon, 29 Jul 2013 18:53:36 +0000 (12:53 -0600)
committerEric Blake <eblake@redhat.com>
Mon, 29 Jul 2013 22:20:29 +0000 (16:20 -0600)
Mingw *printf is a moving target; newer mingw now provides a version
of asprintf() that fails to understand %lld:

  CC       event_test-event-test.o
../../../../examples/domain-events/events-c/event-test.c: In function 'myDomainEventRTCChangeCallback':
../../../../examples/domain-events/events-c/event-test.c:270:18: error: unknown conversion type character 'l' in format [-Werror=format=]
                  virDomainGetID(dom), offset) < 0)
                  ^

But since our examples already admitted that they were hacking around
a mingw deficiency, it is easier to just use printf() directly, coupled
with <inttypes.h> macros, for a more portable work-around.

* examples/domain-events/events-c/event-test.c
(myDomainEventRTCChangeCallback): Use PRIdMAX instead of asprintf.

Signed-off-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit 6f4458a017789535ee4a62fc6b5b846dec0499c9)

examples/domain-events/events-c/event-test.c

index ede9796df4c0d4bbadf78b4f5f6ecd9a3e41ad2c..54ca52fc91e8e163fd708776ceb5e32bc23e5529 100644 (file)
@@ -252,16 +252,9 @@ static int myDomainEventRTCChangeCallback(virConnectPtr conn ATTRIBUTE_UNUSED,
                                           long long offset,
                                           void *opaque ATTRIBUTE_UNUSED)
 {
-    char *str = NULL;
-    /* HACK: use asprintf since we have gnulib's wrapper for %lld on Win32
-     * but don't have a printf() replacement with %lld */
-    if (asprintf(&str, "%s EVENT: Domain %s(%d) rtc change %lld\n",
-                 __func__, virDomainGetName(dom),
-                 virDomainGetID(dom), offset) < 0)
-        return 0;
-
-    printf("%s", str);
-    free(str);
+    printf("%s EVENT: Domain %s(%d) rtc change %" PRIdMAX "\n",
+           __func__, virDomainGetName(dom), virDomainGetID(dom),
+           (intmax_t)offset);
 
     return 0;
 }