Return allocated variable in INIT()

This commit is contained in:
Martin Willi
2011-09-12 13:03:20 +02:00
parent f8437dd8d2
commit e3c881aff9
+3 -2
View File
@@ -121,8 +121,9 @@
/** /**
* Object allocation/initialization macro, using designated initializer. * Object allocation/initialization macro, using designated initializer.
*/ */
#define INIT(this, ...) { (this) = malloc(sizeof(*this)); \ #define INIT(this, ...) ({ (this) = malloc(sizeof(*(this))); \
*(this) = (typeof(*this)){ __VA_ARGS__ }; } *(this) = (typeof(*(this))){ __VA_ARGS__ }; \
(this); })
/** /**
* Method declaration/definition macro, providing private and public interface. * Method declaration/definition macro, providing private and public interface.