The size_t definition is different between 32 and 64 bit systems so that neither '%u' nor '%lu' work for both. '%zu' should be used instead. Signed-off-by: Francois Gouget <fgouget@xxxxxxxxxxxxxxx> --- server/red-record-qxl.c | 4 ++-- server/red-replay-qxl.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) I would have preferred to find a PRIu64-style macro but I did not find any: '%zu' seems to be universally documented as the way to print size_t variables although I'm not sure all compilers support this format. This is probably not an issue unless this code is going to be compiled with very old compilers or Visual C++ though. An alternative would be to cast the variables to int or uint64_t. Let me know if that's preferred. diff --git a/server/red-record-qxl.c b/server/red-record-qxl.c index f36d0e4..9c9dd62 100644 --- a/server/red-record-qxl.c +++ b/server/red-record-qxl.c @@ -114,7 +114,7 @@ static void write_binary(FILE *fd, const char *prefix, size_t size, const uint8_ } #endif - fprintf(fd, "binary %d %s %ld:", WITH_ZLIB, prefix, size); + fprintf(fd, "binary %d %s %zu:", WITH_ZLIB, prefix, size); #if WITH_ZLIB zlib_size = zlib_encode(enc, RECORD_ZLIB_DEFAULT_COMPRESSION_LEVEL, size, output, sizeof(output)); @@ -144,7 +144,7 @@ static size_t red_record_data_chunks_ptr(FILE *fd, const char *prefix, data_size += cur->data_size; count_chunks++; } - fprintf(fd, "data_chunks %d %ld\n", count_chunks, data_size); + fprintf(fd, "data_chunks %d %zu\n", count_chunks, data_size); memslot_validate_virt(slots, (intptr_t)qxl->data, memslot_id, qxl->data_size, group_id); write_binary(fd, prefix, qxl->data_size, qxl->data); diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c index cedd126..66acf1e 100644 --- a/server/red-replay-qxl.c +++ b/server/red-replay-qxl.c @@ -198,7 +198,7 @@ static replay_t read_binary(SpiceReplay *replay, const char *prefix, size_t *siz if (*buf == NULL) { *buf = malloc(*size + base_size); if (*buf == NULL) { - spice_error("allocation error for %ld", *size); + spice_error("allocation error for %zu", *size); exit(1); } } @@ -259,7 +259,7 @@ static size_t red_replay_data_chunks(SpiceReplay *replay, const char *prefix, size_t next_data_size; QXLDataChunk *cur; - replay_fscanf(replay, "data_chunks %d %ld\n", &count_chunks, &data_size); + replay_fscanf(replay, "data_chunks %d %zu\n", &count_chunks, &data_size); if (base_size == 0) { base_size = sizeof(QXLDataChunk); } @@ -407,7 +407,7 @@ static QXLImage *red_replay_image(SpiceReplay *replay, uint32_t flags) } else { size = red_replay_data_chunks(replay, "bitmap.data", (uint8_t**)&qxl->bitmap.data, 0); if (size != bitmap_size) { - spice_printerr("bad image, %ld != %ld", size, bitmap_size); + spice_printerr("bad image, %zu != %zu", size, bitmap_size); return NULL; } } @@ -1028,7 +1028,7 @@ static QXLSurfaceCmd *red_replay_surface_cmd(SpiceReplay *replay) if ((qxl->flags & QXL_SURF_FLAG_KEEP_DATA) != 0) { read_binary(replay, "data", &read_size, (uint8_t**)&qxl->u.surface_create.data, 0); if (read_size != size) { - spice_printerr("mismatch %ld != %ld", size, read_size); + spice_printerr("mismatch %zu != %zu", size, read_size); } } else { qxl->u.surface_create.data = (QXLPHYSICAL)malloc(size); -- 2.6.2 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel