+#define DEFINE_SUB_SETFUNC(STRUCTTYPE) \
+ struct STRUCTTYPE *SUB_SETFUNC(STRUCTTYPE)(struct STRUCTTYPE** addto) \
+ { \
+ struct STRUCTTYPE *obj = NULL; \
+ if (addto && ! *addto) { \
+ obj = SUB_MAKEFUNC(STRUCTTYPE)(); \
+ if (obj) *addto = obj; \
+ } \
+ return obj; \
+ }
+