Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Deprecate xbt_dict_new()
[simgrid.git] / src / surf / sg_platf.cpp
index 6d6ba0c..6d42adc 100644 (file)
@@ -235,10 +235,10 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
     if ((cluster->properties != nullptr) && (!xbt_dict_is_empty(cluster->properties))) {
       xbt_dict_cursor_t cursor=nullptr;
       char *key,*data;
-      host.properties = xbt_dict_new();
+      host.properties = xbt_dict_new_homogeneous(free);
 
       xbt_dict_foreach(cluster->properties,cursor,key,data) {
-        xbt_dict_set(host.properties, key, xbt_strdup(data),free);
+        xbt_dict_set(host.properties, key, xbt_strdup(data), nullptr);
       }
     }
 
@@ -767,19 +767,16 @@ simgrid::s4u::As * sg_platf_new_AS_begin(sg_platf_AS_cbarg_t AS)
       break;
   }
 
-
-  if (current_routing == nullptr && routing_platf->root_ == nullptr) { /* it is the first one */
+  if (current_routing == nullptr) { /* it is the first one */
+    xbt_assert(routing_platf->root_ == nullptr, "All defined components must belong to a AS");
     routing_platf->root_ = new_as;
 
-  } else if (current_routing != nullptr && routing_platf->root_ != nullptr) {
+  } else {
     /* set the father behavior */
     if (current_routing->hierarchy_ == simgrid::kernel::routing::AsImpl::RoutingMode::unset)
       current_routing->hierarchy_ = simgrid::kernel::routing::AsImpl::RoutingMode::recursive;
     /* add to the sons dictionary */
     xbt_dict_set(current_routing->children(), AS->id, (void *) new_as, nullptr);
-
-  } else {
-    THROWF(arg_error, 0, "All defined components must belong to a AS");
   }
 
   /* set the new current component of the tree */