Enlightenment CVS committal

Author  : cedric
Project : e17
Module  : libs/eet

Dir     : e17/libs/eet/src/lib


Modified Files:
        eet_data.c 


Log Message:
Fix the bug with EET_T_UNKNOW/EET_G_UNKNOWN that did break the CVS.

Add a test to detect this bug and caught another one, not yet solved
with dump/undump of EET_T_UNKNOW/EET_G_UNKNOWN.


===================================================================
RCS file: /cvs/e/e17/libs/eet/src/lib/eet_data.c,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -3 -r1.84 -r1.85
--- eet_data.c  26 Jun 2008 15:47:25 -0000      1.84
+++ eet_data.c  27 Jun 2008 15:26:53 -0000      1.85
@@ -1745,7 +1745,7 @@
        break;
      }
 
-   if ((node->type > EET_G_UNKNOWN) && (node->type < EET_G_LAST))
+   if ((node->type >= EET_G_UNKNOWN) && (node->type < EET_G_LAST))
      chnk = eet_data_chunk_new(ds->data, ds->pos, node->name, EET_T_UNKNOW, 
node->type);
    else
      chnk = eet_data_chunk_new(ds->data, ds->pos, node->name, node->type, 
EET_G_UNKNOWN);
@@ -2314,7 +2314,7 @@
                                 memset(&echnk, 0, sizeof(Eet_Data_Chunk));
 
                                 eet_data_chunk_get(ed, &echnk, p, size);
-                                if (!echnk.name) return 0;
+                                if (!echnk.name) goto error;
                                 /* get the data */
                                 data_ret = _eet_data_descriptor_decode(ed,
                                                                        NULL,
@@ -2712,14 +2712,14 @@
 static void
 eet_data_put_unknown(Eet_Dictionary *ed, Eet_Data_Descriptor *edd, 
Eet_Data_Element *ede, Eet_Data_Stream *ds, void *data_in)
 {
+   void *data = NULL;
    int size;
-   void *data;
 
    if (IS_SIMPLE_TYPE(ede->type))
      data = eet_data_put_type(ed, ede->type, data_in, &size);
    else if (ede->subtype)
      {
-       if (*((char **)(((char *)data_in))))
+       if (*((char **)data_in))
          data = _eet_data_descriptor_encode(ed,
                                             ede->subtype,
                                             *((char **)((char *)(data_in))),



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to