const char *name,
int size,
int type,
- int group_type)
+ int group_type,
+ Eina_Bool free_data)
{
Eet_Data_Chunk *echnk;
echnk = eet_data_chunk_new(data, size, name, type, group_type);
eet_data_chunk_put(ed, echnk, ds);
eet_data_chunk_free(echnk);
- free(data);
+ if (free_data) free(data);
}
static void *
node->name,
size,
child_type,
- node->type);
+ node->type,
+ EINA_TRUE);
count = node->count;
node->name,
size,
n->type,
- node->type);
+ node->type,
+ EINA_TRUE);
break;
node->name,
size,
n->type,
- node->type);
+ node->type,
+ EINA_TRUE);
break;
} /* switch */
if (ds->pos != pos)
node->name,
0,
EET_T_NULL,
- node->type);
+ node->type,
+ EINA_TRUE);
}
/* Array is somekind of special case, so we should embed it inside another chunk. */
node->name,
size,
n->type,
- node->type);
+ node->type,
+ EINA_TRUE);
break;
node->name,
size,
n->type,
- node->type);
+ node->type,
+ EINA_TRUE);
} /* switch */
}
node->name,
size,
node->type,
- node->type);
+ node->type,
+ EINA_TRUE);
}
else
{
node->name,
size,
n->type,
- node->type);
+ node->type,
+ EINA_TRUE);
break;
node->name,
size,
n->type,
- node->type);
+ node->type,
+ EINA_TRUE);
} /* switch */
}
node->name, \
size, \
node->type, \
- parent_type); \
+ parent_type, \
+ EINA_TRUE); \
cdata = ds->data; \
*size_ret = ds->pos; \
eet_data_stream_flush(ds); \
ede->name,
size,
ede->type,
- ede->group_type);
+ ede->group_type,
+ EINA_TRUE);
sede = &(ede->subtype->elements.set[i]);
ede->name,
size,
ede->type,
- ede->group_type);
+ ede->group_type,
+ EINA_TRUE);
break;
}
ede->name,
size,
ede->type,
- ede->group_type);
+ ede->group_type,
+ EINA_TRUE);
evu = (Eet_Variant_Unknow *)data_in;
if (evu && EINA_MAGIC_CHECK(evu, EET_MAGIC_VARIANT))
ede->name,
evu->size,
ede->type,
- ede->group_type);
+ ede->group_type,
+ EINA_FALSE);
}
else
/* Search the structure of the union to encode. */
ede->name,
size,
ede->type,
- ede->group_type);
+ ede->group_type,
+ EINA_TRUE);
sede = &(ede->subtype->elements.set[i]);
if (lds->size != 0)
{
eet_data_encode(ed, ds, lds->data, ede->name, lds->pos,
- ede->type, ede->group_type);
+ ede->type, ede->group_type,
+ EINA_TRUE);
lds->data = NULL;
lds->size = 0;
}
else
eet_data_encode(ed, ds, NULL, ede->name, 0,
- EET_T_NULL, ede->group_type);
+ EET_T_NULL, ede->group_type,
+ EINA_TRUE);
eet_data_stream_free(lds);
}
ede->name,
size,
ede->type,
- ede->group_type);
+ ede->group_type,
+ EINA_TRUE);
}
break;
data = eet_data_put_type(ed, EET_T_INT, &count, &size);
if (data)
- eet_data_encode(ed, ds, data, ede->name, size, ede->type, ede->group_type);
+ eet_data_encode(ed, ds, data, ede->name, size, ede->type, ede->group_type, EINA_TRUE);
if (IS_POINTER_TYPE(ede->type))
subsize = eet_basic_codec[ede->type - 1].size;
ede->name,
size,
ede->type,
- ede->group_type);
+ ede->group_type,
+ EINA_TRUE);
}
if (pos == ds->pos)
ede->name,
0,
EET_T_NULL,
- ede->group_type);
+ ede->group_type,
+ EINA_TRUE);
offset += subsize;
}
ede->name,
size,
ede->type,
- ede->group_type);
+ ede->group_type,
+ EINA_TRUE);
}
static void
ede->name,
size,
ede->type,
- ede->group_type);
+ ede->group_type,
+ EINA_TRUE);
}
}
}