forked from enlightenment/efl
value: just setup on new memory!
We should not flush and then setup the memory, instead we leave vset/pset functions do their own stuff to clean previous data, if any. SVN revision: 67840
This commit is contained in:
parent
edfd15d9ca
commit
6609523415
|
@ -607,16 +607,7 @@ eina_value_array_vset(Eina_Value *value, unsigned int position, va_list args)
|
||||||
if (!mem)
|
if (!mem)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
eina_value_type_flush(desc.subtype, mem);
|
return eina_value_type_vset(desc.subtype, mem, args);
|
||||||
|
|
||||||
if (!eina_value_type_setup(desc.subtype, mem)) goto error_setup;
|
|
||||||
if (!eina_value_type_vset(desc.subtype, mem, args)) goto error_set;
|
|
||||||
return EINA_TRUE;
|
|
||||||
|
|
||||||
error_set:
|
|
||||||
eina_value_type_flush(desc.subtype, mem);
|
|
||||||
error_setup:
|
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
|
@ -749,16 +740,7 @@ eina_value_array_pset(Eina_Value *value, unsigned int position, const void *ptr)
|
||||||
if (!mem)
|
if (!mem)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
eina_value_type_flush(desc.subtype, mem);
|
return eina_value_type_pset(desc.subtype, mem, ptr);
|
||||||
|
|
||||||
if (!eina_value_type_setup(desc.subtype, mem)) goto error_setup;
|
|
||||||
if (!eina_value_type_pset(desc.subtype, mem, ptr)) goto error_set;
|
|
||||||
return EINA_TRUE;
|
|
||||||
|
|
||||||
error_set:
|
|
||||||
eina_value_type_flush(desc.subtype, mem);
|
|
||||||
error_setup:
|
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
|
@ -929,16 +911,7 @@ eina_value_list_vset(Eina_Value *value, unsigned int position, va_list args)
|
||||||
if (!mem)
|
if (!mem)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
eina_value_type_flush(desc->subtype, mem);
|
return eina_value_type_vset(desc->subtype, mem, args);
|
||||||
|
|
||||||
if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup;
|
|
||||||
if (!eina_value_type_vset(desc->subtype, mem, args)) goto error_set;
|
|
||||||
return EINA_TRUE;
|
|
||||||
|
|
||||||
error_set:
|
|
||||||
eina_value_type_flush(desc->subtype, mem);
|
|
||||||
error_setup:
|
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
|
@ -1105,16 +1078,7 @@ eina_value_list_pset(Eina_Value *value, unsigned int position, const void *ptr)
|
||||||
if (!mem)
|
if (!mem)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
eina_value_type_flush(desc->subtype, mem);
|
return eina_value_type_pset(desc->subtype, mem, ptr);
|
||||||
|
|
||||||
if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup;
|
|
||||||
if (!eina_value_type_pset(desc->subtype, mem, ptr)) goto error_set;
|
|
||||||
return EINA_TRUE;
|
|
||||||
|
|
||||||
error_set:
|
|
||||||
eina_value_type_flush(desc->subtype, mem);
|
|
||||||
error_setup:
|
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
|
@ -1284,9 +1248,7 @@ eina_value_hash_vset(Eina_Value *value, const char *key, va_list args)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
mem = eina_hash_find(desc->hash, key);
|
mem = eina_hash_find(desc->hash, key);
|
||||||
if (mem)
|
if (!mem)
|
||||||
eina_value_type_flush(desc->subtype, mem);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
mem = malloc(desc->subtype->value_size);
|
mem = malloc(desc->subtype->value_size);
|
||||||
if (!mem)
|
if (!mem)
|
||||||
|
@ -1299,18 +1261,15 @@ eina_value_hash_vset(Eina_Value *value, const char *key, va_list args)
|
||||||
free(mem);
|
free(mem);
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
}
|
if (!eina_value_type_setup(desc->subtype, mem))
|
||||||
|
{
|
||||||
if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup;
|
|
||||||
if (!eina_value_type_vset(desc->subtype, mem, args)) goto error_set;
|
|
||||||
return EINA_TRUE;
|
|
||||||
|
|
||||||
error_set:
|
|
||||||
eina_value_type_flush(desc->subtype, mem);
|
eina_value_type_flush(desc->subtype, mem);
|
||||||
error_setup:
|
|
||||||
eina_hash_del_by_key(desc->hash, key);
|
eina_hash_del_by_key(desc->hash, key);
|
||||||
free(mem);
|
free(mem);
|
||||||
return EINA_FALSE;
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return eina_value_type_vset(desc->subtype, mem, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
|
@ -1371,9 +1330,7 @@ eina_value_hash_pset(Eina_Value *value, const char *key, const void *ptr)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
mem = eina_hash_find(desc->hash, key);
|
mem = eina_hash_find(desc->hash, key);
|
||||||
if (mem)
|
if (!mem)
|
||||||
eina_value_type_flush(desc->subtype, mem);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
mem = malloc(desc->subtype->value_size);
|
mem = malloc(desc->subtype->value_size);
|
||||||
if (!mem)
|
if (!mem)
|
||||||
|
@ -1386,18 +1343,15 @@ eina_value_hash_pset(Eina_Value *value, const char *key, const void *ptr)
|
||||||
free(mem);
|
free(mem);
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
}
|
if (!eina_value_type_setup(desc->subtype, mem))
|
||||||
|
{
|
||||||
if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup;
|
|
||||||
if (!eina_value_type_pset(desc->subtype, mem, ptr)) goto error_set;
|
|
||||||
return EINA_TRUE;
|
|
||||||
|
|
||||||
error_set:
|
|
||||||
eina_value_type_flush(desc->subtype, mem);
|
eina_value_type_flush(desc->subtype, mem);
|
||||||
error_setup:
|
|
||||||
eina_hash_del_by_key(desc->hash, key);
|
eina_hash_del_by_key(desc->hash, key);
|
||||||
free(mem);
|
free(mem);
|
||||||
return EINA_FALSE;
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return eina_value_type_pset(desc->subtype, mem, ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
|
@ -1474,15 +1428,7 @@ eina_value_struct_vset(Eina_Value *value, const char *name, va_list args)
|
||||||
if (!mem)
|
if (!mem)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
eina_value_type_flush(member->type, mem);
|
return eina_value_type_vset(member->type, mem, args);
|
||||||
if (!eina_value_type_setup(member->type, mem)) goto error_setup;
|
|
||||||
if (!eina_value_type_vset(member->type, mem, args)) goto error_set;
|
|
||||||
return EINA_TRUE;
|
|
||||||
|
|
||||||
error_set:
|
|
||||||
eina_value_type_flush(member->type, mem);
|
|
||||||
error_setup:
|
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
|
@ -1553,15 +1499,7 @@ eina_value_struct_pset(Eina_Value *value, const char *name, const void *ptr)
|
||||||
if (!mem)
|
if (!mem)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
eina_value_type_flush(member->type, mem);
|
return eina_value_type_pset(member->type, mem, ptr);
|
||||||
if (!eina_value_type_setup(member->type, mem)) goto error_setup;
|
|
||||||
if (!eina_value_type_pset(member->type, mem, ptr)) goto error_set;
|
|
||||||
return EINA_TRUE;
|
|
||||||
|
|
||||||
error_set:
|
|
||||||
eina_value_type_flush(member->type, mem);
|
|
||||||
error_setup:
|
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
|
@ -1646,15 +1584,7 @@ eina_value_struct_value_set(Eina_Value *dst, const char *name, const Eina_Value
|
||||||
if (!ptr)
|
if (!ptr)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
eina_value_type_flush(member->type, mem);
|
return eina_value_type_pset(member->type, mem, ptr);
|
||||||
if (!eina_value_type_setup(member->type, mem)) goto error_setup;
|
|
||||||
if (!eina_value_type_pset(member->type, mem, ptr)) goto error_set;
|
|
||||||
return EINA_TRUE;
|
|
||||||
|
|
||||||
error_set:
|
|
||||||
eina_value_type_flush(member->type, mem);
|
|
||||||
error_setup:
|
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
|
@ -1706,15 +1636,7 @@ eina_value_struct_member_value_set(Eina_Value *dst, const Eina_Value_Struct_Memb
|
||||||
if (!ptr)
|
if (!ptr)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
eina_value_type_flush(member->type, mem);
|
return eina_value_type_pset(member->type, mem, ptr);
|
||||||
if (!eina_value_type_setup(member->type, mem)) goto error_setup;
|
|
||||||
if (!eina_value_type_pset(member->type, mem, ptr)) goto error_set;
|
|
||||||
return EINA_TRUE;
|
|
||||||
|
|
||||||
error_set:
|
|
||||||
eina_value_type_flush(member->type, mem);
|
|
||||||
error_setup:
|
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL
|
#undef EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL
|
||||||
|
|
Loading…
Reference in New Issue