eina: fail with an Eina_Error on copy failure.

This commit is contained in:
Cedric Bail 2017-11-17 10:44:26 -08:00
parent 56522f19ff
commit 8fbd8bfe2a
1 changed files with 11 additions and 3 deletions

View File

@ -990,7 +990,11 @@ eina_value_dup(const Eina_Value *val)
v = eina_value_new(eina_value_type_get(val));
EINA_SAFETY_ON_NULL_RETURN_VAL(v, NULL);
eina_value_copy(val, v);
if (!eina_value_copy(val, v))
{
eina_value_setup(v, EINA_VALUE_TYPE_ERROR);
eina_value_set(v, EINA_ERROR_VALUE_FAILED);
}
return v;
}
@ -1005,8 +1009,12 @@ eina_value_reference_copy(const Eina_Value *val)
{
Eina_Value v = EINA_VALUE_EMPTY;
eina_value_setup(&v, eina_value_type_get(val));
eina_value_copy(val, &v);
if (!eina_value_setup(&v, eina_value_type_get(val)) ||
!eina_value_copy(val, &v))
{
eina_value_setup(&v, EINA_VALUE_TYPE_ERROR);
eina_value_set(&v, EINA_ERROR_VALUE_FAILED);
}
return v;
}