- // fixme: only sort hosts for automatically created deployment
- // fixme: add an option to disable sorting
- std::sort(host_list, host_list + nhosts, m_host_less());
+#else // API changed with SG 3.7.0
+ xbt_dynar_t host_dynar = MSG_hosts_as_dynar();
+ int nhosts = xbt_dynar_length(host_dynar);
+ m_host_t* host_list = static_cast<m_host_t*>(xbt_dynar_to_array(host_dynar));
+#endif
+ // only sort hosts for automatically created deployment
+ if (opt::auto_depl::enabled)
+ std::sort(host_list, host_list + nhosts,
+ std::bind(std::less<int>(),
+ std::bind(strcmp,
+ std::bind(MSG_host_get_name, _1),
+ std::bind(MSG_host_get_name, _2)), 0));