> > On Fri, Dec 21, 2018 at 4:03 PM Frediano Ziglio <fziglio@xxxxxxxxxx> wrote: > > > > These constants are meant to be used in format string for size_t > > types. Use them for portability. > > PRI*PTR is for [u]intptr_t. > > There are some claims that z is supported since VC2015 on stackoverflow. > They are right, msdn states the same. But is up to the CRT you are using, MingW without __USE_MINGW_ANSI_STDIO does not accept it. On the other hand I64 is always supported. > I assume we are mainly interested in mingw, we should set > __USE_MINGW_ANSI_STDIO=1 instead. > Mainly does not mean only. I suppose here you mean "we could use __USE_MINGW_ANSI_STDIO for MingW and assume other compiler uses newer CRT libraries supporting 'z' modifier". In that case 'z' could be used for size_t. 'l' is not an option for pointers as Windows 64 is LLP64 while Linux 64 is LP64 so for pthread_id PRIxPTR looks fine for me. Is there a specific PRIxxxx constant for size_t type? > > > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > > --- > > server/gstreamer-encoder.c | 2 +- > > server/red-channel.c | 5 +++-- > > server/red-client.c | 4 ++-- > > server/red-replay-qxl.c | 4 ++-- > > server/reds.c | 4 ++-- > > 5 files changed, 10 insertions(+), 9 deletions(-) > > > > diff --git a/server/gstreamer-encoder.c b/server/gstreamer-encoder.c > > index 04f0c02f..f81fa223 100644 > > --- a/server/gstreamer-encoder.c > > +++ b/server/gstreamer-encoder.c > > @@ -1080,7 +1080,7 @@ static void set_gstenc_bitrate(SpiceGstEncoder > > *encoder) > > break; > > } > > default: > > - spice_warning("the %s property has an unsupported type %zu", > > + spice_warning("the %s property has an unsupported type %" PRIuPTR, > > prop, param->value_type); > > } > > spice_debug("setting the GStreamer %s to %"PRIu64, prop, > > gst_bit_rate); > > diff --git a/server/red-channel.c b/server/red-channel.c > > index 448b690e..b94d26b7 100644 > > --- a/server/red-channel.c > > +++ b/server/red-channel.c > > @@ -190,7 +190,7 @@ red_channel_constructed(GObject *object) > > { > > RedChannel *self = RED_CHANNEL(object); > > > > - red_channel_debug(self, "thread_id 0x%lx", self->priv->thread_id); > > + red_channel_debug(self, "thread_id 0x%" PRIxPTR, > > self->priv->thread_id); > > > > RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self); > > > > @@ -468,7 +468,8 @@ void red_channel_remove_client(RedChannel *channel, > > RedChannelClient *rcc) > > g_return_if_fail(channel == red_channel_client_get_channel(rcc)); > > > > if (!pthread_equal(pthread_self(), channel->priv->thread_id)) { > > - red_channel_warning(channel, "channel->thread_id (0x%lx) != > > pthread_self (0x%lx)." > > + red_channel_warning(channel, > > + "channel->thread_id (0x%" PRIxPTR ") != > > pthread_self (0x%" PRIxPTR ")." > > "If one of the threads is != io-thread && != > > vcpu-thread, " > > "this might be a BUG", > > channel->priv->thread_id, pthread_self()); > > diff --git a/server/red-client.c b/server/red-client.c > > index 7d14bd19..66bda8da 100644 > > --- a/server/red-client.c > > +++ b/server/red-client.c > > @@ -176,7 +176,7 @@ void red_client_migrate(RedClient *client) > > RedChannel *channel; > > > > if (!pthread_equal(pthread_self(), client->thread_id)) { > > - spice_warning("client->thread_id (0x%lx) != pthread_self (0x%lx)." > > + spice_warning("client->thread_id (0x%" PRIxPTR ") != pthread_self > > (0x%" PRIxPTR ")." > > "If one of the threads is != io-thread && != > > vcpu-thread," > > " this might be a BUG", > > client->thread_id, pthread_self()); > > @@ -194,7 +194,7 @@ void red_client_destroy(RedClient *client) > > RedChannelClient *rcc; > > > > if (!pthread_equal(pthread_self(), client->thread_id)) { > > - spice_warning("client->thread_id (0x%lx) != pthread_self (0x%lx)." > > + spice_warning("client->thread_id (0x%" PRIxPTR ") != pthread_self > > (0x%" PRIxPTR ")." > > "If one of the threads is != io-thread && != > > vcpu-thread," > > " this might be a BUG", > > client->thread_id, > > diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c > > index 6958a495..b3c61769 100644 > > --- a/server/red-replay-qxl.c > > +++ b/server/red-replay-qxl.c > > @@ -227,7 +227,7 @@ static replay_t read_binary(SpiceReplay *replay, const > > char *prefix, size_t *siz > > uint8_t *zlib_buffer; > > z_stream strm; > > > > - snprintf(template, sizeof(template), "binary %%d %s %%ld:%%n", > > prefix); > > + snprintf(template, sizeof(template), "binary %%d %s %%" PRIdPTR > > ":%%n", prefix); > > replay_fscanf_check(replay, template, &with_zlib, size, > > &replay->end_pos); > > if (replay->error) { > > return REPLAY_ERROR; > > @@ -266,7 +266,7 @@ static replay_t read_binary(SpiceReplay *replay, const > > char *prefix, size_t *siz > > exit(1); > > } > > if ((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_END) { > > - spice_error("inflate error %d (disc: %ld)", ret, *size - > > strm.total_out); > > + spice_error("inflate error %d (disc: %" PRIdPTR ")", ret, > > *size - strm.total_out); > > if (ret == Z_DATA_ERROR) { > > /* last operation may be wrong. since we do the recording > > * in red_worker, when there is a shutdown from the > > vcpu/io thread > > diff --git a/server/reds.c b/server/reds.c > > index cdbb94cb..98a3435d 100644 > > --- a/server/reds.c > > +++ b/server/reds.c > > @@ -1149,7 +1149,7 @@ static void > > reds_on_main_agent_monitors_config(RedsState *reds, > > } > > spice_buffer_append(cmc, message, size); > > if (sizeof(VDAgentMessage) > cmc->offset) { > > - spice_debug("not enough data yet. %zd", cmc->offset); > > + spice_debug("not enough data yet. %" PRIdPTR, cmc->offset); > > return; > > } > > msg_header = (VDAgentMessage *)cmc->buffer; > > @@ -1157,7 +1157,7 @@ static void > > reds_on_main_agent_monitors_config(RedsState *reds, > > goto overflow; > > } > > if (msg_header->size > cmc->offset - sizeof(VDAgentMessage)) { > > - spice_debug("not enough data yet. %zd", cmc->offset); > > + spice_debug("not enough data yet. %" PRIdPTR, cmc->offset); > > return; > > } > > if (msg_header->size < sizeof(VDAgentMonitorsConfig)) { Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel