From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38346) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XJdZa-0001oR-Hm for qemu-devel@nongnu.org; Tue, 19 Aug 2014 03:11:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XJdZP-0002e9-TO for qemu-devel@nongnu.org; Tue, 19 Aug 2014 03:11:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:22453) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XJdZP-0002e5-KA for qemu-devel@nongnu.org; Tue, 19 Aug 2014 03:11:03 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s7J7B2QQ028806 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 19 Aug 2014 03:11:02 -0400 From: Markus Armbruster References: <1408378243-19713-1-git-send-email-armbru@redhat.com> <1408378243-19713-5-git-send-email-armbru@redhat.com> <53F2309C.7020002@redhat.com> Date: Tue, 19 Aug 2014 09:10:59 +0200 In-Reply-To: <53F2309C.7020002@redhat.com> (Max Reitz's message of "Mon, 18 Aug 2014 18:58:04 +0200") Message-ID: <87r40dar98.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH v2 4/4] block: Drop some superfluous casts from void * List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Reitz Cc: kwolf@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com Max Reitz writes: > On 18.08.2014 18:10, Markus Armbruster wrote: >> They clutter the code. Unfortunately, I can't figure out how to make >> Coccinelle drop all of them, so I have to settle for common special >> cases: >> >> @@ >> type T; >> T *pt; >> void *pv; >> @@ >> - pt = (T *)pv; >> + pt = pv; >> @@ >> type T; >> @@ >> - (T *) >> (\(g_malloc\|g_malloc0\|g_realloc\|g_new\|g_new0\|g_renew\| >> g_try_malloc\|g_try_malloc0\|g_try_realloc\| >> g_try_new\|g_try_new0\|g_try_renew\)(...)) >> >> Signed-off-by: Markus Armbruster >> --- >> block/vhdx-log.c | 2 +- >> block/vvfat.c | 8 ++++---- >> hw/ide/microdrive.c | 2 +- >> 3 files changed, 6 insertions(+), 6 deletions(-) >> >> diff --git a/block/vhdx-log.c b/block/vhdx-log.c >> index eb5c7a0..4267e60 100644 >> --- a/block/vhdx-log.c >> +++ b/block/vhdx-log.c >> @@ -923,7 +923,7 @@ static int vhdx_log_write(BlockDriverState *bs, BDRVVHDXState *s, >> buffer = qemu_blockalign(bs, total_length); >> memcpy(buffer, &new_hdr, sizeof(new_hdr)); >> - new_desc = (VHDXLogDescriptor *) (buffer + sizeof(new_hdr)); >> + new_desc = (buffer + sizeof(new_hdr)); >> data_sector = buffer + (desc_sectors * VHDX_LOG_SECTOR_SIZE); >> data_tmp = data; > > You could drop the parantheses here. Also, I still don't like void > pointer arithmetic, but well... ;-) Separate issue, related because it would put the cast right back. We use plenty of GCCisms. If we ever want to port to a toolchain that doesn't support them, adding the cast clutter to avoid arithmetic on void * will be the least of our worries. If we decide to hunt down this particular GCCism anyway, there's -Wpointer-arith. Without that, it's a game of whack-a-mole. > Reviewed-by: Max Reitz Thanks!