Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
the name field of a msg_file_t is actually a full name (including path),
[simgrid.git] / src / msg / msg_io.c
index cbbf2dd..e6cade0 100644 (file)
@@ -20,31 +20,27 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_io, msg,
 /********************************* File **************************************/
 
 /** \ingroup msg_file_management
- * \brief Read elements of a file
+ * \brief Read a file
  *
- * \param ptr buffer to where the data is copied
- * \param size of each element
- * \param nmemb is the number of elements of data to read
+ * \param size of the file to read
  * \param fd is a the file descriptor
- * \return the number of items successfully read
+ * \return the number of bytes successfully read
  */
-size_t MSG_file_read(void* ptr, size_t size, size_t nmemb, msg_file_t fd)
+size_t MSG_file_read(size_t size, msg_file_t fd)
 {
-  return simcall_file_read(ptr, size, nmemb, fd->simdata->smx_file);
+  return simcall_file_read(size, fd->simdata->smx_file);
 }
 
 /** \ingroup msg_file_management
- * \brief Write elements into a file
+ * \brief Write into a file
  *
- * \param ptr buffer from where the data is copied
- * \param size of each element
- * \param nmemb is the number of elements of data to write
+ * \param size of the file to write
  * \param fd is a the file descriptor
- * \return the number of items successfully write
+ * \return the number of bytes successfully write
  */
-size_t MSG_file_write(const void* ptr, size_t size, size_t nmemb, msg_file_t fd)
+size_t MSG_file_write(size_t size, msg_file_t fd)
 {
-  return simcall_file_write(ptr, size, nmemb, fd->simdata->smx_file);
+  return simcall_file_write(size, fd->simdata->smx_file);
 }
 
 /** \ingroup msg_file_management
@@ -55,12 +51,12 @@ size_t MSG_file_write(const void* ptr, size_t size, size_t nmemb, msg_file_t fd)
  *
  * \return An #msg_file_t associated to the file
  */
-msg_file_t MSG_file_open(const char* mount, const char* path)
+msg_file_t MSG_file_open(const char* mount, const char* fullname)
 {
   msg_file_t file = xbt_new(s_msg_file_t,1);
-  file->name = strdup(path);
+  file->fullname = xbt_strdup(fullname);
   file->simdata = xbt_new0(s_simdata_file_t,1);
-  file->simdata->smx_file = simcall_file_open(mount, path);
+  file->simdata->smx_file = simcall_file_open(mount, fullname);
   return file;
 }
 
@@ -73,7 +69,7 @@ msg_file_t MSG_file_open(const char* mount, const char* path)
 int MSG_file_close(msg_file_t fd)
 {
   int res = simcall_file_close(fd->simdata->smx_file);
-  free(fd->name);
+  free(fd->fullname);
   xbt_free(fd->simdata);
   xbt_free(fd);
   return res;
@@ -87,11 +83,7 @@ int MSG_file_close(msg_file_t fd)
  */
 int MSG_file_unlink(msg_file_t fd)
 {
-  int res = simcall_file_unlink(fd->simdata->smx_file);
-  free(fd->name);
-  xbt_free(fd->simdata);
-  xbt_free(fd);
-  return res;
+  return simcall_file_unlink(fd->simdata->smx_file);
 }
 
 /** \ingroup msg_file_management