From fdfeff0462e17e0f0e37e65e5b6be6e74a9b39fd Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Tue, 2 Sep 2014 22:43:44 +0200
Subject: [PATCH 4/4] examples: fix uint64_t formatting issues

Using %lu to format uint64_t doesn't work for 32 bits architecture,
because uint64_t is an unsigned long long and therefore %llu should be
used. The solution is to use PRIu64 from <inttypes.h>, which is equal
to %lu on 64 bits architectures, and %llu on 32 bits architectures,
which corresponds to the definition of uint64_t.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 examples/iscsi-dd.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/examples/iscsi-dd.c b/examples/iscsi-dd.c
index 4cc7c2b..33007c3 100644
--- a/examples/iscsi-dd.c
+++ b/examples/iscsi-dd.c
@@ -19,6 +19,7 @@
 #include <stdlib.h>
 #include <stdint.h>
 #include <string.h>
+#include <inttypes.h>
 #include <poll.h>
 #include <getopt.h>
 #include "iscsi.h"
@@ -79,7 +80,7 @@ void write_cb(struct iscsi_context *iscsi, int status, void *command_data, void
 	fill_read_queue(client);
 
 	if (client->progress) {
-		printf("\r%lu of %lu blocks transferred.", client->pos, client->src_num_blocks);
+		printf("\r%" PRIu64 " of %" PRIu64 " blocks transferred.", client->pos, client->src_num_blocks);
 	}
 
 	if ((client->in_flight == 0) && (client->pos == client->src_num_blocks)) {
@@ -378,7 +379,7 @@ int main(int argc, char *argv[])
 	}
 
 	if (client.src_num_blocks > client.dst_num_blocks) {
-		fprintf(stderr, "source LUN is bigger than destination (%lu > %lu sectors)\n", client.src_num_blocks, client.dst_num_blocks);
+		fprintf(stderr, "source LUN is bigger than destination (%" PRIu64 " > %" PRIu64 " sectors)\n", client.src_num_blocks, client.dst_num_blocks);
 		exit(10);
 	}
 
-- 
2.0.0

