- xbt_die("No collective is valid for '%s'! This is a bug.",name);
- name_list = xbt_strdup(table[0].name);
- for (int i = 1; table[i].name; i++) {
- name_list = static_cast<char*>(xbt_realloc(name_list, strlen(name_list) + strlen(table[i].name) + 3));
- strncat(name_list, ", ",2);
- strncat(name_list, table[i].name, strlen(table[i].name));
- }
- xbt_die("Collective '%s' is invalid! Valid collectives are: %s.", name, name_list);
+ xbt_die("No collective is valid for '%s'! This is a bug.", name.c_str());
+ std::string name_list = std::string(table[0].name);
+ for (int i = 1; table[i].name; i++)
+ name_list = name_list + ", " + table[i].name;
+
+ xbt_die("Collective '%s' is invalid! Valid collectives are: %s.", name.c_str(), name_list.c_str());