The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / libiscsi / 0004-examples-fix-uint64_t-formatting-issues.patch
diff --git a/cirros-testvm/src-cirros/buildroot-2015.05/package/libiscsi/0004-examples-fix-uint64_t-formatting-issues.patch b/cirros-testvm/src-cirros/buildroot-2015.05/package/libiscsi/0004-examples-fix-uint64_t-formatting-issues.patch
new file mode 100644 (file)
index 0000000..3a45049
--- /dev/null
@@ -0,0 +1,49 @@
+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
+