Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : apps/evfs

Dir     : e17/apps/evfs/src/common


Modified Files:
        evfs_cleanup.c evfs_event_helper.c evfs_io.c 


Log Message:
* Fixed free() idiocy

===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_cleanup.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- evfs_cleanup.c      23 Apr 2006 13:34:36 -0000      1.19
+++ evfs_cleanup.c      23 Apr 2006 14:23:01 -0000      1.20
@@ -134,21 +134,23 @@
 evfs_cleanup_metadata_event(evfs_event* event)
 {
        evfs_meta_obj* obj;
-       Evas_List* l = event->meta->meta_list;
-       
        if (!evfs_object_client_is_get()) {
-               for (; l ;) {
-                       obj = l->data;
-                       l = evas_list_remove(event->meta->meta_list, obj);
+               Evas_List* l = event->meta->meta_list;
+               if (l) {
+                       for (; l ;) {
+                               obj = l->data;
                
-                       free(obj->key);
-                       free(obj->value);
-                       free(obj);
+                               free(obj->key);
+                               free(obj->value);
+                               free(obj);
+
+                               l = l->next;
+                       }
+                       evas_list_free(event->meta->meta_list);
                }
-               evas_list_free(event->meta->meta_list);
        }
 
-       if (evfs_object_client_is_get()) {
+       if (evfs_object_client_is_get() && event->meta->meta_hash) {
                Ecore_List* keys;
                char* key;
                keys = ecore_hash_keys(event->meta->meta_hash);
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_event_helper.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -3 -r1.27 -r1.28
--- evfs_event_helper.c 23 Apr 2006 13:34:36 -0000      1.27
+++ evfs_event_helper.c 23 Apr 2006 14:23:01 -0000      1.28
@@ -153,7 +153,6 @@
    event->type = EVFS_EV_METADATA;
    event->meta = calloc(1, sizeof(evfs_event_meta));
 
-   printf("Ret list is: %p\n", ret_list);
    event->meta->meta_list = ret_list;
        
    evfs_write_event(client, command, event);
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_io.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -3 -r1.56 -r1.57
--- evfs_io.c   23 Apr 2006 13:34:36 -0000      1.56
+++ evfs_io.c   23 Apr 2006 14:23:01 -0000      1.57
@@ -508,15 +508,19 @@
                if (event->meta) {
                        event->meta->meta_hash = ecore_hash_new(ecore_str_hash, 
ecore_str_compare);
 
-                       for (l  = event->meta->meta_list; l; ) {
-                               obj = l->data;
-                               l = evas_list_remove(event->meta->meta_list, 
l->data);
+                       if (event->meta->meta_list) {
+                               for (l  = event->meta->meta_list; l; ) {
+                                       obj = l->data;
                                
-                               ecore_hash_set(event->meta->meta_hash, 
obj->key, obj->value);
-                               free(obj);
-       
+                                       ecore_hash_set(event->meta->meta_hash, 
obj->key, obj->value);
+                                       free(obj);
+
+                                       l = l->next;
+                               }
+                               evas_list_free(event->meta->meta_list); 
+                       } else {
+                               printf("Meta list empty\n");
                        }
-                       evas_list_free(event->meta->meta_list); 
                } else {
                        printf("No meta data object!\n");
                }




-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to