fix strict aliasing issues.

This commit is contained in:
christos 2011-08-17 09:24:23 +00:00
parent 5ae8764ee2
commit e83f416f0e
2 changed files with 5 additions and 8 deletions

View File

@ -163,12 +163,14 @@ read_capacity(uint64_t target, uint32_t lun, uint32_t *maxlba, uint32_t *blockle
iscsi_err(__FILE__, __LINE__, "READ_CAPACITY failed (status %#x)\n", args.status);
return -1;
}
*maxlba = ISCSI_NTOHL(*((uint32_t *) (data)));
*blocklen = ISCSI_NTOHL(*((uint32_t *) (data + 4)));
memcpy(maxlba, data, sizeof(*maxlba));
*maxlba = ISCSI_NTOHL(*maxlba);
if (*maxlba == 0) {
iscsi_err(__FILE__, __LINE__, "Device returned Maximum LBA of zero\n");
return -1;
}
memcpy(blocklen, data + 4, sizeof(*blocklen));
*blocklen = ISCSI_NTOHL(*blocklen);
if (*blocklen % 2) {
iscsi_err(__FILE__, __LINE__, "Device returned strange block len: %u\n", *blocklen);
return -1;

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.4 2011/06/22 02:49:42 mrg Exp $
# $NetBSD: Makefile,v 1.5 2011/08/17 09:24:23 christos Exp $
.sinclude "${.CURDIR}/../Makefile.inc"
@ -26,8 +26,3 @@ DPADD+= ${LIBPROP}
.endif
.include <bsd.prog.mk>
# XXX
.if ${HAVE_GCC} == 45
COPTS.iscsi-initiator.c+= -fno-strict-aliasing
.endif