forked from enlightenment/efl
fix custom file info to be less delicate - not perfectly correct but it wont
lose all your data if e segv's or is kill -9'd anymore. eet handles multiple writes to the same key now by overwriting the previous data SVN revision: 30057
This commit is contained in:
parent
5db0ab1039
commit
2818ca982a
|
@ -1101,21 +1101,18 @@ eet_write(Eet_File *ef, const char *name, const void *data, int size, int compre
|
||||||
memcpy(data2, data, size);
|
memcpy(data2, data, size);
|
||||||
|
|
||||||
/* Does this node already exist? */
|
/* Does this node already exist? */
|
||||||
if (ef->mode == EET_FILE_MODE_READ_WRITE)
|
for (efn = ef->header->directory->nodes[hash]; efn; efn = efn->next)
|
||||||
{
|
{
|
||||||
for (efn = ef->header->directory->nodes[hash]; efn; efn = efn->next)
|
/* if it matches */
|
||||||
|
if ((efn->name) && (eet_string_match(efn->name, name)))
|
||||||
{
|
{
|
||||||
/* if it matches */
|
free(efn->data);
|
||||||
if ((efn->name) && (eet_string_match(efn->name, name)))
|
efn->compression = !!compress;
|
||||||
{
|
efn->size = data_size;
|
||||||
free(efn->data);
|
efn->data_size = size;
|
||||||
efn->compression = !!compress;
|
efn->data = data2;
|
||||||
efn->size = data_size;
|
exists_already = 1;
|
||||||
efn->data_size = size;
|
break;
|
||||||
efn->data = data2;
|
|
||||||
exists_already = 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!exists_already)
|
if (!exists_already)
|
||||||
|
|
|
@ -582,6 +582,7 @@ typedef union {
|
||||||
#define CPUID_SSE (1 << 25) /* flags: xmm */
|
#define CPUID_SSE (1 << 25) /* flags: xmm */
|
||||||
#define CPUID_SSE2 (1 << 26) /* flags: ? */
|
#define CPUID_SSE2 (1 << 26) /* flags: ? */
|
||||||
|
|
||||||
|
/*
|
||||||
#ifdef __amd64
|
#ifdef __amd64
|
||||||
#define have_cpuid(cpuid_ret) \
|
#define have_cpuid(cpuid_ret) \
|
||||||
__asm__ __volatile__ ( \
|
__asm__ __volatile__ ( \
|
||||||
|
@ -661,6 +662,8 @@ typedef union {
|
||||||
: "=m" (cpuid_ret) \
|
: "=m" (cpuid_ret) \
|
||||||
);
|
);
|
||||||
#endif
|
#endif
|
||||||
|
*/
|
||||||
|
|
||||||
#define prefetch(var) \
|
#define prefetch(var) \
|
||||||
__asm__ __volatile__ ( \
|
__asm__ __volatile__ ( \
|
||||||
"prefetchnta (%0) \n" \
|
"prefetchnta (%0) \n" \
|
||||||
|
|
Loading…
Reference in New Issue