Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / src / msg / msg_io.c
index 52da4cc..cafcd12 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "msg_private.h"
 #include "xbt/log.h"
+#include <inttypes.h>
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_io, msg,
                                 "Logging specific to MSG (io)");
@@ -65,11 +66,16 @@ void MSG_file_dump (msg_file_t fd){
 //   THROW_UNIMPLEMENTED;
   /* Update the cached information first */
   __MSG_file_get_info(fd);
-  XBT_INFO("File Descriptor information:\n\t\tFull name: '%s'"
-      "\n\t\tSize: %zu\n\t\tMount point: '%s'\n\t\tStorage Id: '%s'"
-      "\n\t\tStorage Type: '%s'\n\t\tContent Type: '%s'",
-      fd->fullname, fd->info->size, fd->info->mount_point, fd->info->storageId,
-      fd->info->storage_type, fd->info->content_type);
+  XBT_INFO("File Descriptor information:\n"
+           "\t\tFull name: '%s'\n"
+           "\t\tSize: %" PRIu64 "\n"
+           "\t\tMount point: '%s'\n"
+           "\t\tStorage Id: '%s'\n"
+           "\t\tStorage Type: '%s'\n"
+           "\t\tContent Type: '%s'",
+           fd->fullname, fd->info->size, fd->info->mount_point,
+           fd->info->storageId, fd->info->storage_type,
+           fd->info->content_type);
 }
 
 /** \ingroup msg_file_management
@@ -79,9 +85,9 @@ void MSG_file_dump (msg_file_t fd){
  * \param fd is a the file descriptor
  * \return the number of bytes successfully read
  */
-sg_storage_size_t MSG_file_read(sg_storage_size_t size, msg_file_t fd)
+sg_storage_size_t MSG_file_read(msg_file_t fd, sg_storage_size_t size)
 {
-  return simcall_file_read(size, fd->simdata->smx_file);
+  return simcall_file_read(fd->simdata->smx_file, size);
 }
 
 /** \ingroup msg_file_management
@@ -91,9 +97,9 @@ sg_storage_size_t MSG_file_read(sg_storage_size_t size, msg_file_t fd)
  * \param fd is a the file descriptor
  * \return the number of bytes successfully write
  */
-sg_storage_size_t MSG_file_write(sg_storage_size_t size, msg_file_t fd)
+sg_storage_size_t MSG_file_write(msg_file_t fd, sg_storage_size_t size)
 {
-  return simcall_file_write(size, fd->simdata->smx_file);
+  return simcall_file_write(fd->simdata->smx_file, size);
 }
 
 /** \ingroup msg_file_management
@@ -140,7 +146,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
@@ -320,5 +331,9 @@ void *MSG_storage_get_data(msg_storage_t storage)
 xbt_dict_t MSG_storage_get_content(msg_storage_t storage)
 {
   return SIMIX_storage_get_content(storage);
-  //return (simcall_storage_get_properties(storage));
+}
+
+sg_storage_size_t MSG_storage_get_size(msg_storage_t storage)
+{
+  return SIMIX_storage_get_size(storage);
 }