diff --git a/src/lib/eina/eina_inline_value.x b/src/lib/eina/eina_inline_value.x index 649e1de2a8..b8614c7ea9 100644 --- a/src/lib/eina/eina_inline_value.x +++ b/src/lib/eina/eina_inline_value.x @@ -136,6 +136,7 @@ eina_value_flush(Eina_Value *value) const Eina_Value_Type *type; void *mem; + if (!value || !value->type) return; EINA_VALUE_TYPE_CHECK_RETURN(value); type = value->type; diff --git a/src/lib/eina/eina_value.h b/src/lib/eina/eina_value.h index d163b11d5b..756314cb85 100644 --- a/src/lib/eina/eina_value.h +++ b/src/lib/eina/eina_value.h @@ -304,6 +304,16 @@ */ typedef struct _Eina_Value Eina_Value; +/** + * @def EINA_VALUE_EMPTY + * + * This is simply a value with all memory zeroed. It may be used + * to safely initialize or return a value without a type. + * + * @since 1.21 + */ +#define EINA_VALUE_EMPTY ((Eina_Value){ 0 }) + /** * @typedef Eina_Value_Type * Describes the data contained by the value.