/**
* @ingroup simix_comm_management
*/
-int simcall_comm_testany(smx_activity_t* comms, size_t count)
+int simcall_comm_testany(smx_activity_t comms[], size_t count)
{
if (count == 0)
return -1;
- return simcall_BODY_comm_testany(comms, count);
+ std::unique_ptr<simgrid::kernel::activity::CommImpl* []> rcomms(new simgrid::kernel::activity::CommImpl*[count]);
+ std::transform(comms, comms + count, rcomms.get(), [](const smx_activity_t comm) {
+ return static_cast<simgrid::kernel::activity::CommImpl*>(comm.get());
+ });
+ return simcall_BODY_comm_testany(rcomms.get(), count);
}
/**