NOTE: EINA_VALUE_TYPE_DISPATCH_RETURN macro is a bit weird, it does
use external variable not passed to the macro and half of the parameter
given to it are just ignored...
{
const Eina_Value_Type *type;
void *mem;
+ va_list args_copy;
+ Eina_Bool r = EINA_FALSE;
EINA_VALUE_TYPE_CHECK_RETURN_VAL(value, EINA_FALSE);
}
#endif
- EINA_VALUE_TYPE_DISPATCH_RETURN(value, vset, 0,
- EINA_FALSE, mem, args);
+ va_copy(args_copy, args);
+ if (type->vset) r = type->vset(type, mem, args_copy);
+ va_end(args_copy);
+
+ return r;
}
static inline Eina_Bool