diff --git a/legacy/eio/src/lib/eio_dir.c b/legacy/eio/src/lib/eio_dir.c index 0034457d8f..d14098b5b2 100644 --- a/legacy/eio/src/lib/eio_dir.c +++ b/legacy/eio/src/lib/eio_dir.c @@ -254,6 +254,14 @@ _eio_dir_copy_notify(Ecore_Thread *thread __UNUSED__, void *msg_data, void *data eio_progress_cb(progress, ©->progress); } +static void +_eio_dir_copy_free(Eio_Dir_Copy *copy) +{ + eina_stringshare_del(copy->progress.source); + eina_stringshare_del(copy->progress.dest); + free(copy); +} + static void _eio_dir_copy_end(void *data) { @@ -261,9 +269,7 @@ _eio_dir_copy_end(void *data) copy->progress.common.done_cb((void*) copy->progress.common.data); - eina_stringshare_del(copy->progress.source); - eina_stringshare_del(copy->progress.dest); - free(copy); + _eio_dir_copy_free(copy); } static void @@ -273,9 +279,7 @@ _eio_dir_copy_error(void *data) eio_file_error(©->progress.common); - eina_stringshare_del(copy->progress.source); - eina_stringshare_del(copy->progress.dest); - free(copy); + _eio_dir_copy_free(copy); } /** diff --git a/legacy/eio/src/lib/eio_file.c b/legacy/eio/src/lib/eio_file.c index 675107626e..1900c0aaa1 100644 --- a/legacy/eio/src/lib/eio_file.c +++ b/legacy/eio/src/lib/eio_file.c @@ -356,6 +356,14 @@ _eio_file_copy_notify(Ecore_Thread *thread __UNUSED__, void *msg_data, void *dat eio_progress_cb(msg_data, copy); } +static void +_eio_file_copy_free(Eio_File_Progress *copy) +{ + eina_stringshare_del(copy->source); + eina_stringshare_del(copy->dest); + free(copy); +} + static void _eio_file_copy_end(void *data) { @@ -363,9 +371,7 @@ _eio_file_copy_end(void *data) copy->common.done_cb((void*) copy->common.data); - eina_stringshare_del(copy->source); - eina_stringshare_del(copy->dest); - free(copy); + _eio_file_copy_free(copy); } static void @@ -375,9 +381,15 @@ _eio_file_copy_error(void *data) eio_file_error(©->common); - eina_stringshare_del(copy->source); - eina_stringshare_del(copy->dest); - free(copy); + _eio_file_copy_free(copy); +} + +static void +_eio_file_move_free(Eio_File_Move *move) +{ + eina_stringshare_del(move->progress.source); + eina_stringshare_del(move->progress.dest); + free(move); } static void @@ -395,9 +407,7 @@ _eio_file_move_unlink_done(void *data) move->progress.common.done_cb((void*) move->progress.common.data); - eina_stringshare_del(move->progress.source); - eina_stringshare_del(move->progress.dest); - free(move); + _eio_file_move_free(move); } static void @@ -410,9 +420,7 @@ _eio_file_move_unlink_error(int error, void *data) move->progress.common.error = error; eio_file_error(&move->progress.common); - eina_stringshare_del(move->progress.source); - eina_stringshare_del(move->progress.dest); - free(move); + _eio_file_move_free(move); } static void @@ -436,9 +444,7 @@ _eio_file_move_copy_error(int error, void *data) move->progress.common.error = error; eio_file_error(&move->progress.common); - eina_stringshare_del(move->progress.source); - eina_stringshare_del(move->progress.dest); - free(move); + _eio_file_move_free(move); } static void @@ -467,9 +473,7 @@ _eio_file_move_end(void *data) move->progress.common.done_cb((void*) move->progress.common.data); - eina_stringshare_del(move->progress.source); - eina_stringshare_del(move->progress.dest); - free(move); + _eio_file_move_free(move); } static void @@ -504,9 +508,7 @@ _eio_file_move_error(void *data) eio_file_error(&move->progress.common); - eina_stringshare_del(move->progress.source); - eina_stringshare_del(move->progress.dest); - free(move); + _eio_file_move_free(move); } /**