[Spice-devel] [spice] server: Use PRI macros in printf for 32/64 bit compatibility
Jonathon Jongsma
jjongsma at redhat.com
Tue Dec 15 08:18:07 PST 2015
On Tue, 2015-12-15 at 16:51 +0100, Francois Gouget wrote:
> Some integer type definitions are different between 32 and 64 bit
> systems which causes problems in printf. The PRI macros automatically
> provide the printf format appropriate for the system.
>
> Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
> ---
> server/char-device.c | 3 ++-
> server/red-record-qxl.c | 6 +++---
> server/red-replay-qxl.c | 8 ++++----
> server/stream.c | 4 ++--
> 4 files changed, 11 insertions(+), 10 deletions(-)
>
> This is needed on my 32 bit RHEL 6 VM.
>
> diff --git a/server/char-device.c b/server/char-device.c
> index 95d31f7..cefc14d 100644
> --- a/server/char-device.c
> +++ b/server/char-device.c
> @@ -21,6 +21,7 @@
>
>
> #include <config.h>
> +#include <inttypes.h>
> #include "char-device.h"
> #include "red-channel.h"
> #include "reds.h"
> @@ -830,7 +831,7 @@ void spice_char_device_client_remove(SpiceCharDeviceState
> *dev,
> }
>
> if (dev->num_clients == 0) {
> - spice_debug("client removed, memory pool will be freed (%lu bytes)",
> dev->cur_pool_size);
> + spice_debug("client removed, memory pool will be freed (%"PRIu64"
> bytes)", dev->cur_pool_size);
> write_buffers_queue_free(&dev->write_bufs_pool);
> dev->cur_pool_size = 0;
> }
> diff --git a/server/red-record-qxl.c b/server/red-record-qxl.c
> index 0b966f0..f36d0e4 100644
> --- a/server/red-record-qxl.c
> +++ b/server/red-record-qxl.c
> @@ -255,7 +255,7 @@ static void red_record_image(FILE *fd, RedMemSlotInfo
> *slots, int group_id,
>
> qxl = (QXLImage *)memslot_get_virt(slots, addr, sizeof(*qxl), group_id,
> &error);
> - fprintf(fd, "descriptor.id %ld\n", qxl->descriptor.id);
> + fprintf(fd, "descriptor.id %"PRIu64"\n", qxl->descriptor.id);
> fprintf(fd, "descriptor.type %d\n", qxl->descriptor.type);
> fprintf(fd, "descriptor.flags %d\n", qxl->descriptor.flags);
> fprintf(fd, "descriptor.width %d\n", qxl->descriptor.width);
> @@ -280,7 +280,7 @@ static void red_record_image(FILE *fd, RedMemSlotInfo
> *slots, int group_id,
> memslot_validate_virt(slots, (intptr_t)qp->ents,
> memslot_get_id(slots, qxl->bitmap.palette),
> num_ents * sizeof(qp->ents[0]), group_id);
> - fprintf(fd, "unique %ld\n", qp->unique);
> + fprintf(fd, "unique %"PRIu64"\n", qp->unique);
> for (i = 0; i < num_ents; i++) {
> fprintf(fd, "ents %d\n", qp->ents[i]);
> }
> @@ -742,7 +742,7 @@ static void red_record_cursor(FILE *fd, RedMemSlotInfo
> *slots, int group_id,
> qxl = (QXLCursor *)memslot_get_virt(slots, addr, sizeof(*qxl), group_id,
> &error);
>
> - fprintf(fd, "header.unique %ld\n", qxl->header.unique);
> + fprintf(fd, "header.unique %"PRIu64"\n", qxl->header.unique);
> fprintf(fd, "header.type %d\n", qxl->header.type);
> fprintf(fd, "header.width %d\n", qxl->header.width);
> fprintf(fd, "header.height %d\n", qxl->header.height);
> diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c
> index ef7477a..cedd126 100644
> --- a/server/red-replay-qxl.c
> +++ b/server/red-replay-qxl.c
> @@ -370,7 +370,7 @@ static QXLImage *red_replay_image(SpiceReplay *replay,
> uint32_t flags)
> }
>
> qxl = (QXLImage*)malloc(sizeof(QXLImage));
> - replay_fscanf(replay, "descriptor.id %ld\n", &qxl->descriptor.id);
> + replay_fscanf(replay, "descriptor.id %"PRIu64"\n", &qxl->descriptor.id);
> replay_fscanf(replay, "descriptor.type %d\n", &temp); qxl
> ->descriptor.type = temp;
> replay_fscanf(replay, "descriptor.flags %d\n", &temp); qxl
> ->descriptor.flags = temp;
> replay_fscanf(replay, "descriptor.width %d\n", &qxl->descriptor.width);
> @@ -393,7 +393,7 @@ static QXLImage *red_replay_image(SpiceReplay *replay,
> uint32_t flags)
> qp = malloc(sizeof(QXLPalette) + num_ents * sizeof(qp->ents[0]));
> qp->num_ents = num_ents;
> qxl->bitmap.palette = (QXLPHYSICAL)qp;
> - replay_fscanf(replay, "unique %ld\n", &qp->unique);
> + replay_fscanf(replay, "unique %"PRIu64"\n", &qp->unique);
> for (i = 0; i < num_ents; i++) {
> replay_fscanf(replay, "ents %d\n", &qp->ents[i]);
> }
> @@ -1121,7 +1121,7 @@ SPICE_GNUC_VISIBLE QXLCommandExt*
> spice_replay_next_cmd(SpiceReplay *replay,
> int counter;
>
> while (what != 0) {
> - replay_fscanf(replay, "event %d %d %d %ld\n", &counter,
> + replay_fscanf(replay, "event %d %d %d %"PRIu64"\n", &counter,
> &what, &type, ×tamp);
> if (replay->eof) {
> return NULL;
> @@ -1133,7 +1133,7 @@ SPICE_GNUC_VISIBLE QXLCommandExt*
> spice_replay_next_cmd(SpiceReplay *replay,
> cmd = g_slice_new(QXLCommandExt);
> cmd->cmd.type = type;
> cmd->group_id = 0;
> - spice_debug("command %ld, %d\r", timestamp, cmd->cmd.type);
> + spice_debug("command %"PRIu64", %d\r", timestamp, cmd->cmd.type);
> switch (cmd->cmd.type) {
> case QXL_CMD_DRAW:
> cmd->flags = 0;
> diff --git a/server/stream.c b/server/stream.c
> index 811f7d3..3120860 100644
> --- a/server/stream.c
> +++ b/server/stream.c
> @@ -38,8 +38,8 @@ void stream_agent_stats_print(StreamAgent *agent)
> mjpeg_encoder_get_stats(agent->mjpeg_encoder, &encoder_stats);
> }
>
> - spice_debug("stream=%p dim=(%dx%d) #in-frames=%lu #in-avg-fps=%.2f #out
> -frames=%lu "
> - "out/in=%.2f #drops=%lu (#pipe=%lu #fps=%lu) out-avg-fps=%.2f
> "
> + spice_debug("stream=%p dim=(%dx%d) #in-frames=%"PRIu64" #in-avg-fps=%.2f
> #out-frames=%"PRIu64" "
> + "out/in=%.2f #drops=%"PRIu64" (#pipe=%"PRIu64"
> #fps=%"PRIu64") out-avg-fps=%.2f "
> "passed-mm-time(sec)=%.2f size-total(MB)=%.2f size-per
> -sec(Mbps)=%.2f "
> "size-per-frame(KBpf)=%.2f avg-quality=%.2f "
> "start-bit-rate(Mbps)=%.2f end-bit-rate(Mbps)=%.2f",
Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
More information about the Spice-devel
mailing list