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

Reply via email to