Max Reitz <mre...@redhat.com> writes: > On 30.05.2014 18:30, 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 <arm...@redhat.com> >> --- >> block/sheepdog.c | 2 +- >> block/vhdx-log.c | 2 +- >> block/vvfat.c | 8 ++++---- >> hw/ide/microdrive.c | 2 +- >> 4 files changed, 7 insertions(+), 7 deletions(-) >> >> diff --git a/block/sheepdog.c b/block/sheepdog.c >> index 0709fd0..340bdf6 100644 >> --- a/block/sheepdog.c >> +++ b/block/sheepdog.c >> @@ -2202,7 +2202,7 @@ static int sd_snapshot_create(BlockDriverState *bs, >> QEMUSnapshotInfo *sn_info) >> goto cleanup; >> } >> - inode = (SheepdogInode *)g_malloc(datalen); >> + inode = g_malloc(datalen); >> ret = read_object(fd, (char *)inode, >> vid_to_vdi_oid(new_vid), >> s->inode.nr_copies, datalen, 0, s->cache_flags); >> diff --git a/block/vhdx-log.c b/block/vhdx-log.c >> index 3eb7e68..f07328d 100644 >> --- a/block/vhdx-log.c >> +++ b/block/vhdx-log.c >> @@ -909,7 +909,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); > > Perhaps we should try to fix void pointer arithmetic some time...
Fixes for that tend to involve back-and-forth type casting. I find that cure not much of an improvement over the disease :) > Anyway: > > Reviewed-by: Max Reitz <mre...@redhat.com> Thanks!