[Spice-devel] [spice-gtk 1/2] mingw: Use G_GUINT64_FORMAT with glib printing functions
Frediano Ziglio
fziglio at redhat.com
Mon Oct 1 15:34:18 UTC 2018
>
> mingw builds currently trigger a few warnings:
> ../../src/channel-cursor.c: In function 'set_cursor':
> ../../src/channel-cursor.c:392:210: warning: 'I' flag used with '%x'
> gnu_printf format [-Wformat=]
> CHANNEL_DEBUG(channel, "type %s(%d), %" PRIx64 ", %dx%d",
> ../../src/channel-cursor.c:392:210: warning: format '%x' expects argument of
> type 'unsigned int', but argument 7 has type 'uint64_t' {aka 'long long
> unsigned int'} [-Wformat=]
>
Well, unless they broke the ABI they must continue to support "I64"
modifier, so this warning is a false problem (at least till 3.x),
however they support both "I64" and "ll" so moving to "ll" is not
an issue. Fedora 28 is using still "I64" but moving to G_GUINT64_FORMAT
(or modifier) avoid warnings in all versions of MingW/Fedora.
> See this glib commit for a related issue
> https://gitlab.gnome.org/GNOME/glib/commit/3d7cde654c4c6f3bdad32f5521f28f5802a7c377
>
> This commit switches to using the format specifiers provided by glib
> instead which won't have the same issue as PRIx64
>
> Signed-off-by: Christophe Fergeau <cfergeau at redhat.com>
> ---
> src/channel-base.c | 8 ++++----
> src/channel-cursor.c | 2 +-
> src/channel-display-gst.c | 2 +-
> src/decode-glz.c | 8 ++++----
> 4 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/src/channel-base.c b/src/channel-base.c
> index 15f25d27..209328f3 100644
> --- a/src/channel-base.c
> +++ b/src/channel-base.c
> @@ -87,7 +87,7 @@ spice_channel_handle_disconnect(SpiceChannel *channel,
> SpiceMsgIn *in)
> {
> SpiceMsgDisconnect *disconnect = spice_msg_in_parsed(in);
>
> - CHANNEL_DEBUG(channel, "%s: ts: %" PRIu64", reason: %u", __FUNCTION__,
> + CHANNEL_DEBUG(channel, "%s: ts: %" G_GUINT64_FORMAT", reason: %u",
> __FUNCTION__,
> disconnect->time_stamp, disconnect->reason);
> }
>
> @@ -127,11 +127,11 @@ void
> spice_channel_handle_wait_for_channels(SpiceChannel *channel, SpiceMsgIn *i
> .channel = channel
> };
>
> - CHANNEL_DEBUG(channel, "waiting for serial %" PRIu64 " (%d/%d)",
> data.wait->message_serial, i + 1, wfc->wait_count);
> + CHANNEL_DEBUG(channel, "waiting for serial %" G_GUINT64_FORMAT "
> (%d/%d)", data.wait->message_serial, i + 1, wfc->wait_count);
> if (g_coroutine_condition_wait(&c->coroutine, wait_for_channel,
> &data))
> - CHANNEL_DEBUG(channel, "waiting for serial %" PRIu64 ", done",
> data.wait->message_serial);
> + CHANNEL_DEBUG(channel, "waiting for serial %" G_GUINT64_FORMAT
> ", done", data.wait->message_serial);
> else
> - CHANNEL_DEBUG(channel, "waiting for serial %" PRIu64 ",
> cancelled", data.wait->message_serial);
> + CHANNEL_DEBUG(channel, "waiting for serial %" G_GUINT64_FORMAT
> ", cancelled", data.wait->message_serial);
> }
> }
>
> diff --git a/src/channel-cursor.c b/src/channel-cursor.c
> index 0e19206a..59af0ad4 100644
> --- a/src/channel-cursor.c
> +++ b/src/channel-cursor.c
> @@ -389,7 +389,7 @@ static display_cursor *set_cursor(SpiceChannel *channel,
> SpiceCursor *scursor)
> if (scursor->flags & SPICE_CURSOR_FLAGS_NONE)
> return NULL;
>
> - CHANNEL_DEBUG(channel, "%s: type %s(%d), %" PRIx64 ", %dx%d",
> __FUNCTION__,
> + CHANNEL_DEBUG(channel, "%s: type %s(%d), %" G_GUINT64_FORMAT ", %dx%d",
> __FUNCTION__,
> cursor_type_to_string(hdr->type), hdr->type, hdr->unique,
> hdr->width, hdr->height);
>
> diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
> index 3b306c1a..8ffb3293 100644
> --- a/src/channel-display-gst.c
> +++ b/src/channel-display-gst.c
> @@ -338,7 +338,7 @@ static gboolean handle_pipeline_message(GstBus *bus,
> GstMessage *msg, gpointer v
> if (gst_is_video_overlay_prepare_window_handle_message(msg)) {
> GstVideoOverlay *overlay;
>
> - SPICE_DEBUG("prepare-window-handle msg received (handle: %"
> PRIuPTR ")", decoder->win_handle);
> + SPICE_DEBUG("prepare-window-handle msg received (handle:
> %"G_GUINTPTR_FORMAT")", decoder->win_handle);
> if (decoder->win_handle != 0) {
> overlay = GST_VIDEO_OVERLAY(GST_MESSAGE_SRC(msg));
> gst_video_overlay_set_window_handle(overlay,
> decoder->win_handle);
> diff --git a/src/decode-glz.c b/src/decode-glz.c
> index 9091ea92..9132b05d 100644
> --- a/src/decode-glz.c
> +++ b/src/decode-glz.c
> @@ -346,10 +346,10 @@ static void decode_header(GlibGlzDecoder *d)
> d->image.id = decode_64(d);
> d->image.win_head_dist = decode_32(d);
>
> - SPICE_DEBUG("%s: %ux%u, id %" PRIu64 ", ref %" PRIu64,
> - __FUNCTION__,
> - d->image.width, d->image.height, d->image.id,
> - d->image.id - d->image.win_head_dist);
> + SPICE_DEBUG("%s: %ux%u, id %" G_GUINT64_FORMAT ", ref %"
> G_GUINT64_FORMAT,
> + __FUNCTION__,
> + d->image.width, d->image.height, d->image.id,
> + d->image.id - d->image.win_head_dist);
> }
>
> static void decode(SpiceGlzDecoder *decoder,
Frediano
More information about the Spice-devel
mailing list