Enlightenment CVS committal Author : cedric Project : e17 Module : libs/eet
Dir : e17/libs/eet/src/lib Modified Files: eet_lib.c Log Message: Add some test around efn->offset and set it properly in all case. =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_lib.c,v retrieving revision 1.103 retrieving revision 1.104 diff -u -3 -r1.103 -r1.104 --- eet_lib.c 16 May 2008 10:00:54 -0000 1.103 +++ eet_lib.c 16 May 2008 14:03:11 -0000 1.104 @@ -1482,6 +1482,9 @@ if (!efn) return NULL; + if (efn->offset < 0 && efn->data == NULL) + return NULL; + /* get size (uncompressed, if compressed at all) */ size = efn->data_size; @@ -1590,6 +1593,7 @@ efn->size = data_size; efn->data_size = size; efn->data = data2; + efn->offset = -1; exists_already = 1; break; } @@ -1608,7 +1612,7 @@ efn->next = ef->header->directory->nodes[hash]; ef->header->directory->nodes[hash] = efn; - efn->offset = 0; + efn->offset = -1; efn->compression = !!compress; efn->size = data_size; efn->data_size = size; @@ -1795,6 +1799,8 @@ static int read_data_from_disk(Eet_File *ef, Eet_File_Node *efn, void *buf, int len) { + if (efn->offset < 0) return 0; + if (ef->data) { if ((efn->offset + len) > ef->data_size) return 0; ------------------------------------------------------------------------- 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 enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs