From: "Reimar Döffinger" <Reimar.Doeffinger@gmx.de>
To: qemu-devel@nongnu.org
Subject: Re: Coding style, C++ compatible code (was Re: [Qemu-devel] [PATCH 02/22] eepro100: cast a void * makes no sense)
Date: Wed, 26 Aug 2009 17:58:24 +0200 [thread overview]
Message-ID: <20090826155824.GA3785@1und1.de> (raw)
In-Reply-To: <yw1x63camwk1.fsf@unicorn.mansr.com>
On Wed, Aug 26, 2009 at 04:20:14PM +0100, Måns Rullgård wrote:
> Stefan Weil <weil@mail.berlios.de> writes:
> > I personally think that deriving a data type T from some bytes in
> > memory which can contain anything is an operation which is worth
> > being documented by the programmer, and this is exactly what the
> > cast does.
>
> The declaration and assignment already make that perfectly clear. The
> cast is at best noise, and often hides a real error.
There are additional points, having all those casts makes people used to
them and generally makes it much harder to spot those that are just
wrong (not that C++ does not have this issue, since basically all
conversions/uses of void* are wrong, with C they are unavoidable).
Having casts for malloc results also makes it needlessly hard to change
the type. Use
var = malloc(count * sizeof(*var))
and you only need to change the declaration, add a cast and you also
have to change all places where such allocations are done.
next prev parent reply other threads:[~2009-08-26 15:58 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-24 11:03 [Qemu-devel] [PATCH 00/22] Indirection Cleanup Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 01/22] eepro100: convert casts to DO_UPCAST() Juan Quintela
2009-08-24 12:59 ` Stefan Weil
2009-08-24 12:59 ` [Qemu-devel] " Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 02/22] eepro100: cast a void * makes no sense Juan Quintela
2009-08-24 12:56 ` Stefan Weil
2009-08-24 13:04 ` [Qemu-devel] " Juan Quintela
2009-08-24 13:51 ` Anthony Liguori
2009-08-24 13:51 ` [Qemu-devel] " Markus Armbruster
2009-08-26 13:52 ` [Qemu-devel] Coding style, C++ compatible code (was Re: [Qemu-devel] [PATCH 02/22] eepro100: cast a void * makes no sense) Stefan Weil
2009-08-26 14:49 ` Gerd Hoffmann
2009-08-26 17:04 ` Jamie Lokier
2009-08-26 18:37 ` malc
2009-08-26 19:03 ` Jamie Lokier
2009-08-26 19:26 ` malc
2009-08-26 21:00 ` Jamie Lokier
2009-08-26 15:01 ` [Qemu-devel] Coding style, C++ compatible code Markus Armbruster
2009-08-26 15:19 ` Anthony Liguori
2009-08-26 15:20 ` Coding style, C++ compatible code (was Re: [Qemu-devel] [PATCH 02/22] eepro100: cast a void * makes no sense) Måns Rullgård
2009-08-26 15:58 ` Reimar Döffinger [this message]
2009-08-26 16:08 ` Avi Kivity
2009-09-03 12:05 ` Stuart Brady
2009-08-26 15:54 ` [Qemu-devel] " Avi Kivity
2009-08-26 17:36 ` Jamie Lokier
2009-08-24 14:05 ` [Qemu-devel] [PATCH 02/22] eepro100: cast a void * makes no sense Gerd Hoffmann
2009-08-24 11:03 ` [Qemu-devel] [PATCH 03/22] eepro100: Remove unused indirection of PCIDevice Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 04/22] es1370: Remove unused indirection of PCIES1370State and ES1370State Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 05/22] ne2000: remove casts from void * Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 06/22] ne2000: pci_dev has this very value with the right type Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 07/22] ne2000: Remove unneeded double indirection of PCINE2000State Juan Quintela
2009-08-24 12:40 ` Gerd Hoffmann
2009-08-24 12:51 ` [Qemu-devel] " Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 08/22] ne2000: change pci_dev to is_pci Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 09/22] pci: remove casts from void * Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 10/22] rtl8139: Remove unneeded double indirection of PCIRTL8139State Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 11/22] rtl8139: remove pointless cast from void * Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 12/22] lsi53c895a: " Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 13/22] lsi53c895a: use DO_UPCAST to cast from PCIDevice Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 14/22] lsi53c895a: rename PCIDevice field from pci_dev to dev (consistence) Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 15/22] lsi53c895a: LSIState is a PCIDevice is a DeviceHost Juan Quintela
2009-08-24 12:44 ` Gerd Hoffmann
2009-08-24 11:03 ` [Qemu-devel] [PATCH 16/22] usb-ohci: Remove unneeded double indirection of OHCIPCIState Juan Quintela
2009-08-24 12:46 ` Gerd Hoffmann
2009-08-24 11:03 ` [Qemu-devel] [PATCH 17/22] cirrus_vga: Remove unneeded double indirection of PCICirrusVGAState Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 18/22] cirrus_vga: remove pointless cast from void * Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 19/22] cirrus_vga: change use of pci_dev for is_pci Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 20/22] Introduce vga_common_reset() to be able to typcheck vga_reset() Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 21/22] vga: Rename vga_state -> vga Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 22/22] Everything outside of vga.c should use VGACommonState Juan Quintela
2009-08-24 12:37 ` [Qemu-devel] [PATCH 00/22] Indirection Cleanup Gerd Hoffmann
2009-08-24 12:56 ` [Qemu-devel] " Juan Quintela
-- strict thread matches above, loose matches on Subject: below --
2009-08-26 16:58 [Qemu-devel] Coding style, C++ compatible code (was Re: [Qemu-devel] [PATCH 02/22] eepro100: cast a void * makes no sense) Kent Harris
2009-08-26 23:00 ` Måns Rullgård
2009-08-26 23:03 ` Måns Rullgård
2009-08-27 9:39 ` malc
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090826155824.GA3785@1und1.de \
--to=reimar.doeffinger@gmx.de \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).