From: Arnaud Giersch Date: Thu, 8 Mar 2012 08:25:34 +0000 (+0100) Subject: API change in SG 3.7.0: MSG_get_host_table() -> MSG_hosts_as_dynar(). X-Git-Tag: exp_20120308~1 X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/commitdiff_plain/16a78bce3e6b547ebbfd441be779b0bc32a5f699?ds=inline API change in SG 3.7.0: MSG_get_host_table() -> MSG_hosts_as_dynar(). --- diff --git a/BUGS b/BUGS index de42340..09fb04f 100644 --- a/BUGS +++ b/BUGS @@ -1,27 +1,3 @@ -======================================================================== --- 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(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 diff --git a/hostdata.cpp b/hostdata.cpp index ee8fadc..5498ba8 100644 --- a/hostdata.cpp +++ b/hostdata.cpp @@ -19,8 +19,14 @@ void hostdata::create() 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(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,