forked from enlightenment/efl
value: allow multiple flush.
multiple flush may happen when handling errors. May be used in some cases. SVN revision: 67839
This commit is contained in:
parent
0d1b66d44e
commit
edfd15d9ca
|
@ -2249,7 +2249,11 @@ static Eina_Bool
|
||||||
_eina_value_type_stringshare_flush(const Eina_Value_Type *type __UNUSED__, void *mem)
|
_eina_value_type_stringshare_flush(const Eina_Value_Type *type __UNUSED__, void *mem)
|
||||||
{
|
{
|
||||||
const char **tmem = mem;
|
const char **tmem = mem;
|
||||||
if (*tmem) eina_stringshare_del(*tmem);
|
if (*tmem)
|
||||||
|
{
|
||||||
|
eina_stringshare_del(*tmem);
|
||||||
|
*tmem = NULL;
|
||||||
|
}
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2281,7 +2285,11 @@ static Eina_Bool
|
||||||
_eina_value_type_string_flush(const Eina_Value_Type *type __UNUSED__, void *mem)
|
_eina_value_type_string_flush(const Eina_Value_Type *type __UNUSED__, void *mem)
|
||||||
{
|
{
|
||||||
char **tmem = mem;
|
char **tmem = mem;
|
||||||
if (*tmem) free(*tmem);
|
if (*tmem)
|
||||||
|
{
|
||||||
|
free(*tmem);
|
||||||
|
*tmem = NULL;
|
||||||
|
}
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3573,6 +3581,8 @@ _eina_value_type_blob_flush(const Eina_Value_Type *type __UNUSED__, void *mem)
|
||||||
Eina_Value_Blob *tmem = mem;
|
Eina_Value_Blob *tmem = mem;
|
||||||
if ((ops) && (ops->free))
|
if ((ops) && (ops->free))
|
||||||
ops->free(ops, (void *)tmem->memory, tmem->size);
|
ops->free(ops, (void *)tmem->memory, tmem->size);
|
||||||
|
tmem->memory = NULL;
|
||||||
|
tmem->size = 0;
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4003,6 +4013,9 @@ _eina_value_type_struct_flush(const Eina_Value_Type *type __UNUSED__, void *mem)
|
||||||
else
|
else
|
||||||
free(tmem->memory);
|
free(tmem->memory);
|
||||||
|
|
||||||
|
tmem->memory = NULL;
|
||||||
|
tmem->desc = NULL;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue