int PMPI_Info_get(MPI_Info info, const char *key,int valuelen, char *value, int *flag){
*flag=false;
- if (info == nullptr || key == nullptr || valuelen <0)
+ if (info == nullptr || valuelen <0)
return MPI_ERR_ARG;
+ if (key == nullptr)
+ return MPI_ERR_INFO_KEY;
if (value == nullptr)
return MPI_ERR_INFO_VALUE;
return info->get(key, valuelen, value, flag);
int PMPI_Info_get_valuelen( MPI_Info info, const char *key, int *valuelen, int *flag){
*flag=false;
- if (info == nullptr || key == nullptr || valuelen==nullptr)
+ if (info == nullptr)
return MPI_ERR_ARG;
+ if (key == nullptr)
+ return MPI_ERR_INFO_KEY;
+ if (valuelen == nullptr)
+ return MPI_ERR_INFO_VALUE;
return info->get_valuelen(key, valuelen, flag);
}
MPI_Info PMPI_Info_f2c(MPI_Fint info){
+ if(info==-1)
+ return MPI_INFO_NULL;
return static_cast<MPI_Info>(simgrid::smpi::Info::f2c(info));
}
MPI_Fint PMPI_Info_c2f(MPI_Info info){
+ if(info==MPI_INFO_NULL)
+ return -1;
return info->c2f();
}