[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW()
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW() |
Date: |
Mon, 25 Jul 2011 11:06:16 +0100 |
On Mon, Jul 25, 2011 at 9:51 AM, Avi Kivity <address@hidden> wrote:
> qemu_malloc() is type-unsafe as it returns a void pointer. Introduce
> QEMU_NEW() (and QEMU_NEWZ()), which return the correct type.
>
> Signed-off-by: Avi Kivity <address@hidden>
> ---
>
> This is part of my memory API patchset, but doesn't really belong there.
>
> qemu-common.h | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/qemu-common.h b/qemu-common.h
> index ba55719..66effa3 100644
> --- a/qemu-common.h
> +++ b/qemu-common.h
> @@ -186,6 +186,9 @@ void qemu_free(void *ptr);
> char *qemu_strdup(const char *str);
> char *qemu_strndup(const char *str, size_t size);
>
> +#define QEMU_NEW(type) ((type *)(qemu_malloc(sizeof(type))))
> +#define QEMU_NEWZ(type) ((type *)(qemu_mallocz(sizeof(type))))
Does this mean we need to duplicate the type name for each allocation?
struct foo *f;
...
f = qemu_malloc(sizeof(*f));
Becomes:
struct foo *f;
...
f = QEMU_NEW(struct foo);
If you ever change the name of the type you have to search-replace
these instances. The idomatic C way works well, I don't see a reason
to use QEMU_NEW().
Stefan
- Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW(), (continued)
- Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW(), Markus Armbruster, 2011/07/25
- Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW(), Alexander Graf, 2011/07/25
- Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW(), Anthony Liguori, 2011/07/25
- Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW(), Blue Swirl, 2011/07/25
- Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW(), Avi Kivity, 2011/07/25
- Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW(), Anthony Liguori, 2011/07/25
Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW(), Avi Kivity, 2011/07/25
Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW(),
Stefan Hajnoczi <=
Re: [Qemu-devel] [PATCH] Introduce QEMU_NEW(), Jes Sorensen, 2011/07/25