From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40366) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S6Smh-0002Rg-6g for qemu-devel@nongnu.org; Sat, 10 Mar 2012 15:21:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S6Smf-0003lH-Aq for qemu-devel@nongnu.org; Sat, 10 Mar 2012 15:20:58 -0500 From: Stefan Weil Date: Sat, 10 Mar 2012 21:20:53 +0100 Message-Id: <1331410853-23217-1-git-send-email-sw@weilnetz.de> Subject: [Qemu-devel] [PATCH] slirp: Fix compiler warning for w64 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-trivial , Stefan Weil , Jan Kiszka Casting a pointer to an integer value must use uintptr_t or intptr_t (not long) for portable code. MinGW-w64 requires this because sizeof(long) != sizeof(void *) for w64 hosts, so casting to long raises a compiler warning. I use uintptr_t instead of intptr_t because changing the sign does not matter here and casting pointers to unsigned values seems more reasonable (the unsigned value is a non negative offset. Cc: Jan Kiszka Signed-off-by: Stefan Weil --- slirp/cksum.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/slirp/cksum.c b/slirp/cksum.c index e43867d..6328660 100644 --- a/slirp/cksum.c +++ b/slirp/cksum.c @@ -75,7 +75,7 @@ int cksum(struct mbuf *m, int len) /* * Force to even boundary. */ - if ((1 & (long) w) && (mlen > 0)) { + if ((1 & (uintptr_t)w) && (mlen > 0)) { REDUCE; sum <<= 8; s_util.c[0] = *(uint8_t *)w; -- 1.7.9