From: David Turner <digit@google.com>
To: Paul Brook <paul@codesourcery.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Jean-Christophe Dubois <jcd@tribudubois.net>,
qemu-devel@nongnu.org, Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] use qemu_malloc and friends consistently
Date: Tue, 2 Jun 2009 21:49:02 +0200 [thread overview]
Message-ID: <60cad3f0906021249t435fc1a8w4f89027e0863ff52@mail.gmail.com> (raw)
In-Reply-To: <200906021913.09517.paul@codesourcery.com>
[-- Attachment #1: Type: text/plain, Size: 1350 bytes --]
On Tue, Jun 2, 2009 at 8:13 PM, Paul Brook <paul@codesourcery.com> wrote:
> > > QEMU_NEW_ARRAY(ptr, ...);
> > >
> > > instead of
> > >
> > > ptr = QEMU_NEW_ARRAY(...);
> > >
> > > then. I don't see another easy way to get the automagic sizeof(*ptr)
> > > stuff done though.
> >
> > The first version will extract the item size automatically for you,
> making
> > it less likely that you screw things in the second version's parameter
> > list.
>
> Not if you do it properly it won't.
If you do it properly, then bugs do not exist, and this thread has no reason
to exist.
We're talking about it precisely because we're human and people tend to make
mistakes.
> Implicit casts are only silently allowed
> between void* and arbitrary pointers. A cast between two arbitrary pointers
> will generate a compiler diagnostic.
>
Ok, let's say that the first one should only be used when 'ptr' is a typed
pointer so that
sizeof(*(ptr)) has a sense. I think it catches 95% of uses here.
Very frankly I don't see your point. Either you want to reduce the
probability of programming
errors, and find ways to achieve that, or you don't. I just don't think that
introducing an abort()
on qemu_malloc(0) makes sense because it goes against the principle of least
surprise, especially
for a lot of programmers that already do things properly.
>
> Paul
>
[-- Attachment #2: Type: text/html, Size: 2192 bytes --]
next prev parent reply other threads:[~2009-06-02 19:49 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-29 5:58 [Qemu-devel] [PATCH] use qemu_malloc and friends consistently Jean-Christophe Dubois
2009-05-29 8:42 ` Kevin Wolf
2009-05-29 9:05 ` Anthony Liguori
2009-05-29 9:51 ` malc
2009-05-29 10:05 ` Kevin Wolf
2009-05-29 10:23 ` malc
2009-05-29 10:34 ` Kevin Wolf
2009-05-29 10:40 ` malc
2009-05-29 10:49 ` Kevin Wolf
2009-05-29 10:56 ` Anthony Liguori
2009-05-29 11:06 ` malc
2009-05-29 11:14 ` Kevin Wolf
2009-05-29 10:53 ` Anthony Liguori
2009-05-29 11:24 ` malc
2009-05-29 12:36 ` Gerd Hoffmann
2009-05-29 13:07 ` Paul Brook
2009-05-29 13:46 ` Gerd Hoffmann
2009-05-29 13:59 ` Glauber Costa
2009-05-29 14:34 ` Anthony Liguori
2009-05-29 15:06 ` malc
2009-05-29 17:17 ` Julian Seward
2009-05-29 18:41 ` Gerd Hoffmann
2009-05-29 21:12 ` David Turner
2009-05-29 21:13 ` David Turner
2009-06-02 7:26 ` Gerd Hoffmann
2009-06-02 7:47 ` Anthony Liguori
2009-06-02 8:58 ` Daniel P. Berrange
2009-06-02 18:03 ` David Turner
2009-06-02 8:48 ` Avi Kivity
2009-06-02 18:02 ` David Turner
2009-06-02 18:13 ` Paul Brook
2009-06-02 19:49 ` David Turner [this message]
2009-06-02 20:04 ` Paul Brook
2009-06-02 20:42 ` David Turner
2009-06-02 20:45 ` Gerd Hoffmann
2009-06-02 20:48 ` Gerd Hoffmann
2009-06-02 20:58 ` Paul Brook
2009-06-02 21:19 ` David Turner
2009-06-02 19:03 ` Avi Kivity
2009-05-29 12:51 ` Markus Armbruster
2009-05-29 10:57 ` Gerd Hoffmann
2009-05-29 11:28 ` malc
2009-05-29 9:28 ` jcd
2009-05-29 9:38 ` Kevin Wolf
2009-06-01 11:59 ` Jamie Lokier
[not found] <18212122.68761243590277678.JavaMail.root@srv-05.w4a.fr>
2009-05-29 10:00 ` jcd
2009-05-29 10:10 ` Kevin Wolf
[not found] <2171027.69001243598252547.JavaMail.root@srv-05.w4a.fr>
2009-05-29 12:00 ` jcd
2009-05-29 12:05 ` Kevin Wolf
2009-05-29 12:13 ` jcd
2009-05-29 12:32 ` Markus Armbruster
2009-05-29 12:38 ` jcd
[not found] <28932640.69341243603994530.JavaMail.root@srv-05.w4a.fr>
2009-05-29 13:35 ` jcd
[not found] <28912134.69441243608238156.JavaMail.root@srv-05.w4a.fr>
2009-05-29 14:46 ` jcd
[not found] <33383337.69831243610071896.JavaMail.root@srv-05.w4a.fr>
2009-05-29 15:15 ` jcd
[not found] <1758936.71791243858884274.JavaMail.root@srv-05.w4a.fr>
2009-06-01 12:24 ` jcd
2009-06-01 23:46 ` Jamie Lokier
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=60cad3f0906021249t435fc1a8w4f89027e0863ff52@mail.gmail.com \
--to=digit@google.com \
--cc=jcd@tribudubois.net \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=paul@codesourcery.com \
--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).