From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:39654) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qks3P-000086-Mr for qemu-devel@nongnu.org; Sun, 24 Jul 2011 02:20:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qks3O-0005dd-Ib for qemu-devel@nongnu.org; Sun, 24 Jul 2011 02:20:43 -0400 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:45459) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qks3O-0005dX-Dn for qemu-devel@nongnu.org; Sun, 24 Jul 2011 02:20:42 -0400 Message-ID: <4E2BB9B5.9070708@mail.berlios.de> Date: Sun, 24 Jul 2011 08:20:37 +0200 From: Stefan Weil MIME-Version: 1.0 References: <4E2B49DB.6020708@codemonkey.ws> In-Reply-To: <4E2B49DB.6020708@codemonkey.ws> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/3] slirp: fix warning on mingw32 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Blue Swirl , qemu-devel Am 24.07.2011 00:23, schrieb Anthony Liguori: > On 07/23/2011 04:25 PM, Blue Swirl wrote: >> Avoid this warning: >> CC slirp/ip_icmp.o >> /src/qemu/slirp/ip_icmp.c: In function 'icmp_receive': >> /src/qemu/slirp/ip_icmp.c:418:5: error: passing argument 2 of 'recv' >> from incompatible pointer type [-Werror] >> /usr/local/lib/gcc/i686-mingw32msvc/4.6.0/../../../../i686-mingw32msvc/include/winsock2.h:547:32: >> >> note: expected 'char *' but argument is of type 'struct icmp *' >> >> Signed-off-by: Blue Swirl >> --- >> slirp/ip_icmp.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/slirp/ip_icmp.c b/slirp/ip_icmp.c >> index 14a5312..a208648 100644 >> --- a/slirp/ip_icmp.c >> +++ b/slirp/ip_icmp.c >> @@ -415,7 +415,7 @@ void icmp_receive(struct socket *so) >> icp = mtod(m, struct icmp *); >> >> id = icp->icmp_id; >> - len = recv(so->s, icp, m->m_len, 0); >> + len = recv(so->s, (char *)icp, m->m_len, 0); > > (char *) is wrong. recv() takes a void *. > > Maybe we need to introduce a qemu_recv? > > Regards, > > Anthony Liguori Microsoft's recv() takes a char *. Both (char *)icp and (void *)icp should work here for any host. I suggest adding a comment: /* Type cast needed for MinGW recv. */ Regards, Stefan Weil