From a4354f9385fa6854360729678491da64be996f03 Mon Sep 17 00:00:00 2001 From: Alan Jenkins Date: Fri, 19 Sep 2008 14:53:25 +0000 Subject: [PATCH] scsi_id: compiler warning on 32-bit MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The sg_io_v4 interface passes pointers as u64s. It turns out GCC disapproves of us casting a u64 straight to a 32 bit pointer. cc1: warnings being treated as errors scsi_serial.c: In function ‘sg_err_category4’: scsi_serial.c:159: warning: cast to pointer from integer of different size scsi_serial.c: In function ‘scsi_dump_v4’: scsi_serial.c:303: warning: cast to pointer from integer of different size --- extras/scsi_id/scsi_serial.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extras/scsi_id/scsi_serial.c b/extras/scsi_id/scsi_serial.c index 757f41d1..20d30cf0 100644 --- a/extras/scsi_id/scsi_serial.c +++ b/extras/scsi_id/scsi_serial.c @@ -156,7 +156,7 @@ static int sg_err_category4(struct udev *udev, struct sg_io_v4 *hp) { return sg_err_category_new(udev, hp->device_status, 0, hp->transport_status, hp->driver_status, - (unsigned char *)hp->response, + (unsigned char *)(uintptr_t)hp->response, hp->response_len); } @@ -300,7 +300,7 @@ static int scsi_dump_v4(struct udev *udev, dev_scsi->kernel, io->driver_status, io->transport_status, io->device_status); if (io->device_status == SCSI_CHECK_CONDITION) - return scsi_dump_sense(udev, dev_scsi, (unsigned char *)io->response, + return scsi_dump_sense(udev, dev_scsi, (unsigned char *)(uintptr_t)io->response, io->response_len); else return -1; -- 2.39.5