Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/eet
Dir : e17/libs/eet/src/lib
Modified Files:
Eet_private.h eet_data.c eet_dictionary.c eet_lib.c
Log Message:
the rest of cedrics patchesfor fixing dictionaries and read_write
===================================================================
RCS file: /cvs/e/e17/libs/eet/src/lib/Eet_private.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- Eet_private.h 8 Mar 2008 07:28:12 -0000 1.22
+++ Eet_private.h 9 Mar 2008 16:16:40 -0000 1.23
@@ -61,22 +61,23 @@
const char *mmap;
char *str;
- struct
- {
- unsigned int converted : 1;
- unsigned int is_float : 1;
- } flags;
+ int hash;
+ int len;
+
+ int next;
+ int prev;
+
union
{
float f;
double d;
} convert;
- int hash;
- int len;
-
- int next;
- int prev;
+ struct
+ {
+ unsigned int converted : 1;
+ unsigned int is_float : 1;
+ } flags;
};
struct _Eet_Dictionary
{
===================================================================
RCS file: /cvs/e/e17/libs/eet/src/lib/eet_data.c,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -3 -r1.67 -r1.68
--- eet_data.c 8 Mar 2008 07:28:12 -0000 1.67
+++ eet_data.c 9 Mar 2008 16:16:40 -0000 1.68
@@ -981,10 +981,6 @@
edd->func.str_alloc = eddc->func.str_alloc;
if (eddc->func.str_free)
edd->func.str_free = eddc->func.str_free;
- if (eddc->func.str_direct_alloc)
- edd->func.str_direct_alloc = eddc->func.str_direct_alloc;
- if (eddc->func.str_direct_free)
- edd->func.str_direct_free = eddc->func.str_direct_free;
edd->func.list_next = eddc->func.list_next;
edd->func.list_append = eddc->func.list_append;
edd->func.list_data = eddc->func.list_data;
===================================================================
RCS file: /cvs/e/e17/libs/eet/src/lib/eet_dictionary.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- eet_dictionary.c 8 Mar 2008 07:28:12 -0000 1.3
+++ eet_dictionary.c 9 Mar 2008 16:16:40 -0000 1.4
@@ -20,9 +20,6 @@
if (!new)
return NULL;
- new->count = 0;
- new->total = 0;
-
memset(new->hash, -1, sizeof (int) * 256);
return new;
===================================================================
RCS file: /cvs/e/e17/libs/eet/src/lib/eet_lib.c,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -3 -r1.94 -r1.95
--- eet_lib.c 8 Mar 2008 07:28:12 -0000 1.94
+++ eet_lib.c 9 Mar 2008 16:16:40 -0000 1.95
@@ -29,6 +29,7 @@
{
char *path;
FILE *fp;
+ FILE *readfp;
Eet_File_Header *header;
const unsigned char *data;
Eet_Dictionary *ed;
@@ -818,6 +819,7 @@
if (eet_test_close(!ef->ed->all, ef)) return NULL;
ef->ed->count = num_dictionary_entries;
+ ef->ed->total = num_dictionary_entries;
ef->ed->start = start + bytes_dictionary_entries +
bytes_directory_entries;
ef->ed->end = ef->ed->start;
@@ -1092,6 +1094,7 @@
if (ef)
{
eet_flush2(ef);
+ ef->references++;
ef->delete_me_now = 1;
eet_close(ef);
}
@@ -1104,6 +1107,7 @@
if (ef)
{
ef->delete_me_now = 1;
+ ef->references++;
eet_close(ef);
}
ef = eet_cache_find((char *)file, eet_writers, eet_writers_num);
@@ -1159,6 +1163,7 @@
/* fill some of the members */
ef->fp = fp;
+ ef->readfp = NULL;
ef->path = ((char *)ef) + sizeof(Eet_File);
strcpy(ef->path, file);
ef->magic = EET_MAGIC_FILE;
@@ -1193,35 +1198,7 @@
/* we need to delete the original file in read-write mode and re-open for
writing */
if (ef->mode == EET_FILE_MODE_READ_WRITE)
{
- int i;
-
- for (i = 0; i < ef->header->directory->size; i++)
- {
- Eet_File_Node *efn;
-
- for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next)
- {
- if (!efn->free_name)
- {
- efn->free_name = 1;
- efn->name = strdup(efn->name);
- }
- }
- }
-
- if (ef->ed)
- {
- for (i = 0; i < ef->ed->count; ++i)
- {
- if (ef->ed->all[i].mmap)
- {
- ef->ed->all[i].str = strdup(ef->ed->all[i].mmap);
- ef->ed->all[i].mmap = NULL;
- }
- }
- }
-
- fclose(ef->fp);
+ ef->readfp = ef->fp;
unlink(ef->path);
ef->fp = fopen(ef->path, "wb");
}
@@ -1311,8 +1288,8 @@
eet_dictionary_free(ef->ed);
if (ef->data) munmap((void*)ef->data, ef->data_size);
-
if (ef->fp) fclose(ef->fp);
+ if (ef->readfp) fclose(ef->readfp);
/* zero out ram for struct - caution tactic against stale memory use */
memset(ef, 0, sizeof(Eet_File));
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs