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