-smx_host_t *SIMIX_host_get_table(void)
-{
- return ((smx_host_t *) xbt_fifo_to_array(simix_global->host));
+smx_host_t* SIMIX_host_get_table(void) {
+ smx_host_t *res = xbt_new(smx_host_t,xbt_dict_size(simix_global->host));
+ smx_host_t h;
+ xbt_dict_cursor_t c;
+ char *name;
+ int i=0;
+
+ xbt_dict_foreach(simix_global->host,c,name,h)
+ res[i++] = h;
+
+ return res;