- xbt_dynar_t host_names) {
-
- unsigned int iter;
- char *host_name;
- char buf[16];
- char *buf_copy;
-
- parent->is_lowest = 1;
- xbt_dynar_free(&parent->container_children);
- parent->container_children = NULL;
- parent->name2id = xbt_dict_new();
- parent->last_id = 0;
- parent->resource_list = xbt_dynar_new(sizeof(char *), NULL);
-
- xbt_dynar_sort (host_names, &compare_hostnames);
-
- xbt_dynar_foreach(host_names, iter, host_name) {
- buf_copy = strdup(buf);
- sprintf(buf_copy, "%d", parent->last_id);
- (parent->last_id)++;
- xbt_dict_set(parent->name2id, host_name, buf_copy, NULL);
- xbt_dict_set(host2_simgrid_parent_container, host_name, parent, NULL);
- xbt_dynar_push(parent->resource_list, &host_name);
- }
+ xbt_dynar_t host_names) {
+
+ unsigned int iter;
+ char *host_name;
+ char *buf;
+
+ parent->is_lowest = 1;
+ xbt_dynar_free(&parent->container_children);
+ parent->container_children = NULL;
+ parent->name2id = xbt_dict_new_homogeneous(xbt_free);
+ parent->last_id = 0;
+ parent->resource_list = xbt_dynar_new(sizeof(char *), NULL);
+
+ xbt_dynar_sort (host_names, &compare_hostnames);
+
+ xbt_dynar_foreach(host_names, iter, host_name) {
+ buf = bprintf("%d", parent->last_id);
+ (parent->last_id)++;
+ xbt_dict_set(parent->name2id, host_name, buf, NULL);
+ xbt_dict_set(host2_simgrid_parent_container, host_name, parent, NULL);
+ xbt_dynar_push(parent->resource_list, &host_name);
+ }