X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/67c91d5b8652b0e76801e9cfc7d965a360237152..d740fcc38174fbe1e9c5ec70ac3a15999fd62ac2:/src/msg/msg_io.c diff --git a/src/msg/msg_io.c b/src/msg/msg_io.c index 0bf3c59e3b..dc6cae3231 100644 --- a/src/msg/msg_io.c +++ b/src/msg/msg_io.c @@ -21,12 +21,15 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_io, msg, /********************************* File **************************************/ void __MSG_file_get_info(msg_file_t fd){ xbt_dynar_t info = simcall_file_get_info(fd->simdata->smx_file); + sg_storage_size_t *psize; + fd->info->content_type = xbt_dynar_pop_as(info, char *); fd->info->storage_type = xbt_dynar_pop_as(info, char *); fd->info->storageId = xbt_dynar_pop_as(info, char *); fd->info->mount_point = xbt_dynar_pop_as(info, char *); - fd->info->size = xbt_dynar_pop_as(info, sg_storage_size_t); - + psize = xbt_dynar_pop_as(info, sg_storage_size_t*); + fd->info->size = *psize; + xbt_free(psize); xbt_dynar_free_container(&info); } @@ -146,7 +149,12 @@ int MSG_file_close(msg_file_t fd) */ int MSG_file_unlink(msg_file_t fd) { - return simcall_file_unlink(fd->simdata->smx_file); + int res = simcall_file_unlink(fd->simdata->smx_file); + free(fd->fullname); + xbt_free(fd->simdata); + xbt_free(fd->info); + xbt_free(fd); + return res; } /** \ingroup msg_file_management