[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] fix hw/scsi-disk.c compile errors
From: |
Robert Reif |
Subject: |
Re: [Qemu-devel] [PATCH] fix hw/scsi-disk.c compile errors |
Date: |
Thu, 02 Jul 2009 07:06:55 -0400 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.21) Gecko/20090303 SeaMonkey/1.1.15 (Ubuntu-1.1.15+nobinonly-0ubuntu2) |
Gerd Hoffmann wrote:
On 07/02/09 01:40, Robert Reif wrote:
This patch fixes 2 compile errors when debugging is enabled.
CC scsi-disk.o
cc1: warnings being treated as errors
/home/reif/qemu/hw/scsi-disk.c: In function ‘scsi_send_command’:
/home/reif/qemu/hw/scsi-disk.c:797: error: format ‘%d’ expects type
‘int’, but argument 2 has type ‘uint64_t’
> - DPRINTF("Synchronise cache (sector %d, count %d)\n", lba,
len);
> + DPRINTF("Synchronise cache (sector %lld, count %d)\n", lba,
len);
Doesn't work. Well, it works on 32bit, but will fail on 64bit. Use
the macros provided by inttypes.h instead, i.e.
"... (sector %" PRId64 ", count ...", lba
Here is a revised patch that uses PRIu64 because lba is a uint64_t.
This patch fixes the 2 %d that were giving an error and 2 %lld that
were wrong.
diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index a0485db..eb1ef7b 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -777,7 +777,7 @@ static int32_t scsi_send_command(SCSIDevice *d, uint32_t
tag,
case 0x08:
case 0x28:
case 0x88:
- DPRINTF("Read (sector %lld, count %d)\n", lba, len);
+ DPRINTF("Read (sector %" PRIu64 ", count %d)\n", lba, len);
if (lba > s->max_lba)
goto illegal_lba;
r->sector = lba * s->cluster_size;
@@ -786,7 +786,7 @@ static int32_t scsi_send_command(SCSIDevice *d, uint32_t
tag,
case 0x0a:
case 0x2a:
case 0x8a:
- DPRINTF("Write (sector %lld, count %d)\n", lba, len);
+ DPRINTF("Write (sector %" PRIu64 ", count %d)\n", lba, len);
if (lba > s->max_lba)
goto illegal_lba;
r->sector = lba * s->cluster_size;
@@ -794,7 +794,7 @@ static int32_t scsi_send_command(SCSIDevice *d, uint32_t
tag,
is_write = 1;
break;
case 0x35:
- DPRINTF("Synchronise cache (sector %d, count %d)\n", lba, len);
+ DPRINTF("Synchronise cache (sector %" PRIu64 ", count %d)\n", lba,
len);
bdrv_flush(s->bdrv);
break;
case 0x43:
@@ -896,7 +896,7 @@ static int32_t scsi_send_command(SCSIDevice *d, uint32_t
tag,
r->iov.iov_len = 16;
break;
case 0x2f:
- DPRINTF("Verify (sector %d, count %d)\n", lba, len);
+ DPRINTF("Verify (sector %" PRIu64 ", count %d)\n", lba, len);
break;
default:
DPRINTF("Unknown SCSI command (%2.2x)\n", buf[0]);