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:
Carsten Haitzler 2007-05-23 12:07:14 +00:00
parent 5db0ab1039
commit 2818ca982a
2 changed files with 13 additions and 13 deletions

View File

@ -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)

View File

@ -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" \