-========================================================================
--- Wed, Feb 29 16:31:56 2012 +0100
-
-Les fonctions MSG_get_host{number,table} n'existent plus dans les
-dernières versions de SimGrid. Utiliser MSG_hosts_as_dynar à la place.
-
--- Tue, 06 Mar 2012 17:02:02 +0100
-
-Le patch suivant corrige le problème :
---- a/hostdata.cpp
-+++ b/hostdata.cpp
-@@ -19,8 +19,9 @@ void hostdata::create()
- using std::placeholders::_1;
- using std::placeholders::_2;
-
-- int nhosts = MSG_get_host_number();
-- m_host_t* host_list = MSG_get_host_table();
-+ 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));
- // only sort hosts for automatically created deployment
- if (opt::auto_depl::enabled)
- std::sort(host_list, host_list + nhosts,
-
========================================================================
-- Wed, Feb 29 16:16:45 2012 +0100
using std::placeholders::_1;
using std::placeholders::_2;
+#if SIMGRID_VERSION < MAKE_SIMGRID_VERSION(3, 7, 0)
int nhosts = MSG_get_host_number();
m_host_t* host_list = MSG_get_host_table();
+#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,