From e3c881aff9a2eb87cbf83039bd84d80794f65663 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Thu, 19 May 2011 13:42:17 +0200 Subject: [PATCH] Return allocated variable in INIT() --- src/libstrongswan/utils.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libstrongswan/utils.h b/src/libstrongswan/utils.h index bef6f6638..f04c6334c 100644 --- a/src/libstrongswan/utils.h +++ b/src/libstrongswan/utils.h @@ -121,8 +121,9 @@ /** * Object allocation/initialization macro, using designated initializer. */ -#define INIT(this, ...) { (this) = malloc(sizeof(*this)); \ - *(this) = (typeof(*this)){ __VA_ARGS__ }; } +#define INIT(this, ...) ({ (this) = malloc(sizeof(*(this))); \ + *(this) = (typeof(*(this))){ __VA_ARGS__ }; \ + (this); }) /** * Method declaration/definition macro, providing private and public interface.