Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use std::copy.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Tue, 2 Mar 2021 10:09:32 +0000 (11:09 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Tue, 2 Mar 2021 10:09:32 +0000 (11:09 +0100)
src/s4u/s4u_Host.cpp

index bfe5c67..39234b5 100644 (file)
@@ -318,7 +318,7 @@ sg_host_t* sg_host_list()
   std::vector<simgrid::s4u::Host*> hosts = e->get_all_hosts();
 
   sg_host_t* res = xbt_new(sg_host_t, hosts.size());
-  memcpy(res, hosts.data(), sizeof(sg_host_t) * hosts.size());
+  std::copy(begin(hosts), end(hosts), res);
 
   return res;
 }
@@ -395,9 +395,8 @@ void sg_host_get_disks(const_sg_host_t host, unsigned int* disk_count, sg_disk_t
 {
   std::vector<sg_disk_t> list = host->get_disks();
   *disk_count                 = list.size();
-  *disks                      = static_cast<sg_disk_t*>(xbt_malloc(sizeof(sg_disk_t) * (*disk_count)));
-  for (size_t i = 0; i < *disk_count; i++)
-    (*disks)[i] = list[i];
+  *disks                      = xbt_new(sg_disk_t, list.size());
+  std::copy(begin(list), end(list), *disks);
 }
 
 // =========== user-level functions ===============