if (!mem)
return EINA_FALSE;
- eina_value_type_flush(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);
- error_setup:
- return EINA_FALSE;
+ return eina_value_type_vset(desc.subtype, mem, args);
}
static inline Eina_Bool
if (!mem)
return EINA_FALSE;
- eina_value_type_flush(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);
- error_setup:
- return EINA_FALSE;
+ return eina_value_type_pset(desc.subtype, mem, ptr);
}
static inline Eina_Bool
if (!mem)
return EINA_FALSE;
- eina_value_type_flush(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);
- error_setup:
- return EINA_FALSE;
+ return eina_value_type_vset(desc->subtype, mem, args);
}
static inline Eina_Bool
if (!mem)
return EINA_FALSE;
- eina_value_type_flush(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);
- error_setup:
- return EINA_FALSE;
+ return eina_value_type_pset(desc->subtype, mem, ptr);
}
static inline Eina_Bool
return EINA_FALSE;
mem = eina_hash_find(desc->hash, key);
- if (mem)
- eina_value_type_flush(desc->subtype, mem);
- else
+ if (!mem)
{
mem = malloc(desc->subtype->value_size);
if (!mem)
free(mem);
return EINA_FALSE;
}
+ if (!eina_value_type_setup(desc->subtype, mem))
+ {
+ eina_value_type_flush(desc->subtype, mem);
+ eina_hash_del_by_key(desc->hash, key);
+ free(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);
- error_setup:
- eina_hash_del_by_key(desc->hash, key);
- free(mem);
- return EINA_FALSE;
+ return eina_value_type_vset(desc->subtype, mem, args);
}
static inline Eina_Bool
return EINA_FALSE;
mem = eina_hash_find(desc->hash, key);
- if (mem)
- eina_value_type_flush(desc->subtype, mem);
- else
+ if (!mem)
{
mem = malloc(desc->subtype->value_size);
if (!mem)
free(mem);
return EINA_FALSE;
}
+ if (!eina_value_type_setup(desc->subtype, mem))
+ {
+ eina_value_type_flush(desc->subtype, mem);
+ eina_hash_del_by_key(desc->hash, key);
+ free(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);
- error_setup:
- eina_hash_del_by_key(desc->hash, key);
- free(mem);
- return EINA_FALSE;
+ return eina_value_type_pset(desc->subtype, mem, ptr);
}
static inline Eina_Bool
if (!mem)
return EINA_FALSE;
- eina_value_type_flush(member->type, mem);
- 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;
+ return eina_value_type_vset(member->type, mem, args);
}
static inline Eina_Bool
if (!mem)
return EINA_FALSE;
- eina_value_type_flush(member->type, mem);
- 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;
+ return eina_value_type_pset(member->type, mem, ptr);
}
static inline Eina_Bool
if (!ptr)
return EINA_FALSE;
- eina_value_type_flush(member->type, mem);
- 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;
+ return eina_value_type_pset(member->type, mem, ptr);
}
static inline Eina_Bool
if (!ptr)
return EINA_FALSE;
- eina_value_type_flush(member->type, mem);
- 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;
+ return eina_value_type_pset(member->type, mem, ptr);
}
#undef EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL