[systemd-devel] RFC : PATCH: initial implementation of system wide rlimit

Lennart Poettering lennart at poettering.net
Mon Apr 2 13:59:18 PDT 2012


On Fri, 30.03.12 17:20, Frederic Crozat (fcrozat at suse.com) wrote:

> >From 5008080dda662208278c159213adbd5211496043 Mon Sep 17 00:00:00 2001
> From: Frederic Crozat <fcrozat at suse.com>
> Date: Thu, 29 Mar 2012 17:53:41 +0200
> Subject: [PATCH 1/2] macro: add newdup macro, equivalent of new + memdup but
>  type-safe
> 
> ---
>  src/macro.h |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/src/macro.h b/src/macro.h
> index 19f259e..a85e72d 100644
> --- a/src/macro.h
> +++ b/src/macro.h
> @@ -137,6 +137,7 @@ static inline size_t ALIGN_TO(size_t l, size_t ali) {
>  
>  #define memzero(x,l) (memset((x), 0, (l)))
>  #define zero(x) (memzero(&(x), sizeof(x)))
> +#define newdup(x,l) ( (x= new(typeof(*l),1)) ? memcpy((x),(l),sizeof(*l)) : NULL)

Hmm, I was more thinking of a definition much closer to new() and
new0(), without typeof, but with allowing allocation of an array

#define newdup(t, p, n) ((t*)memdup(p,sizeof(t)*(n)))

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list