[PATCH weston 03/10] tests: Add an xmalloc helper function

Pekka Paalanen ppaalanen at gmail.com
Mon May 11 03:39:29 PDT 2015


On Wed,  6 May 2015 17:44:22 -0700
Bryce Harrington <bryce at osg.samsung.com> wrote:

> Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
> ---
>  tests/weston-test-client-helper.c | 11 +++++++++++
>  tests/weston-test-client-helper.h | 16 ++++++++++------
>  2 files changed, 21 insertions(+), 6 deletions(-)
> 
> diff --git a/tests/weston-test-client-helper.c b/tests/weston-test-client-helper.c
> index b05be83..54b6c95 100644
> --- a/tests/weston-test-client-helper.c
> +++ b/tests/weston-test-client-helper.c
> @@ -32,6 +32,17 @@
>  #include "../shared/os-compatibility.h"
>  #include "weston-test-client-helper.h"
>  
> +void *
> +fail_on_null(void *p)
> +{
> +	if (p == NULL) {
> +		fprintf(stderr, "out of memory\n");
> +		exit(EXIT_FAILURE);
> +	}
> +	return p;
> +}
> +
> +
>  int
>  surface_contains(struct surface *surface, int x, int y)
>  {
> diff --git a/tests/weston-test-client-helper.h b/tests/weston-test-client-helper.h
> index 429f088..0378804 100644
> --- a/tests/weston-test-client-helper.h
> +++ b/tests/weston-test-client-helper.h
> @@ -132,15 +132,19 @@ struct surface {
>  	void *data;
>  };
>  
> +void *
> +fail_on_null(void *p);
> +
>  static inline void *
> -xzalloc(size_t size)
> +xzalloc(size_t s)
>  {
> -        void *p;
> -
> -        p = calloc(1, size);
> -        assert(p);
> +	return fail_on_null(calloc(1, s));
> +}
>  
> -        return p;
> +static inline void *
> +xmalloc(size_t s)
> +{
> +	return fail_on_null(malloc(s));
>  }
>  
>  struct client *

Hi,

so the motivation for this patch is to make alloc failures just exit
the process with EXIT_FAILURE than calling abort()? Or is to stop
relying on assert()? Or to add the printf? Or just code consistency?

Would be nice to know why... maybe I'll learn in the later patches.

It's a good patch, just wondering why it makes a difference. Some
rationale in the commit message would be good.

If it was *only* about adding xmalloc, following the xzalloc style
would have been more logical (perhaps not better, though).


Thanks,
pq


More information about the wayland-devel mailing list