diff options
author | Cedric BAIL <cedric.bail@free.fr> | 2010-11-26 14:40:53 +0000 |
---|---|---|
committer | Cedric BAIL <cedric.bail@free.fr> | 2010-11-26 14:40:53 +0000 |
commit | 13229dc8c19402176183dff0575f6fb30e03725b (patch) | |
tree | c1fc2bfd2e6acc1763b0b61fa275b14fb51a2bd4 /src/lib/eet_lib.c | |
parent | 16d9526ad591bbdf103f2e27ea006de1f8c88766 (diff) | |
download | eet-13229dc8c19402176183dff0575f6fb30e03725b.tar.gz |
* eet: reduce memory used by Eet dictionary.
SVN revision: 55016
Diffstat (limited to 'src/lib/eet_lib.c')
-rw-r--r-- | src/lib/eet_lib.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/lib/eet_lib.c b/src/lib/eet_lib.c index 7fc6d1b..d3d4158 100644 --- a/src/lib/eet_lib.c +++ b/src/lib/eet_lib.c @@ -636,12 +636,12 @@ eet_flush2(Eet_File *ef) if (ef->ed) for (j = 0; j < ef->ed->count; ++j) { - if (ef->ed->all[j].str) + if (ef->ed->all[j].allocated) { - if (fwrite(ef->ed->all[j].str, ef->ed->all[j].len, 1, fp) != 1) + if (fwrite(ef->ed->all[j].u.str, ef->ed->all[j].len, 1, fp) != 1) goto write_error; } - else if (fwrite(ef->ed->all[j].mmap, ef->ed->all[j].len, 1, fp) != 1) + else if (fwrite(ef->ed->all[j].u.mmap, ef->ed->all[j].len, 1, fp) != 1) goto write_error; } @@ -1082,14 +1082,13 @@ eet_internal_read2(Eet_File *ef) ef->data_size)), ef)) return NULL; - ef->ed->all[j].mmap = start + offset; - ef->ed->all[j].str = NULL; + ef->ed->all[j].u.mmap = start + offset; - if (ef->ed->all[j].mmap + ef->ed->all[j].len > ef->ed->end) - ef->ed->end = ef->ed->all[j].mmap + ef->ed->all[j].len; + if (ef->ed->all[j].u.mmap + ef->ed->all[j].len > ef->ed->end) + ef->ed->end = ef->ed->all[j].u.mmap + ef->ed->all[j].len; /* Check '\0' at the end of the string */ - if (eet_test_close(ef->ed->all[j].mmap[ef->ed->all[j].len - 1] != + if (eet_test_close(ef->ed->all[j].u.mmap[ef->ed->all[j].len - 1] != '\0', ef)) return NULL; |