X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3a1ea70a418f393ca1677074e928c664022295bd..fa40abdc1d0705869a181ee3f2e9be45325d4e25:/src/smpi/bindings/smpi_f77_type.cpp diff --git a/src/smpi/bindings/smpi_f77_type.cpp b/src/smpi/bindings/smpi_f77_type.cpp index c24a6617a8..b492a10a3c 100644 --- a/src/smpi/bindings/smpi_f77_type.cpp +++ b/src/smpi/bindings/smpi_f77_type.cpp @@ -7,6 +7,8 @@ #include "smpi_comm.hpp" #include "smpi_datatype.hpp" +#include + extern "C" { // This should really use the C linkage to be usable from Fortran void mpi_type_extent_(int* datatype, MPI_Aint * extent, int* ierr){ @@ -42,12 +44,10 @@ void mpi_type_dup_ (int* datatype, int* newdatatype, int* ierr){ } } -void mpi_type_set_name_ (int* datatype, char * name, int* ierr, int size){ - char* tname = xbt_new(char, size+1); - strncpy(tname, name, size); - tname[size]='\0'; - *ierr = MPI_Type_set_name(simgrid::smpi::Datatype::f2c(*datatype), tname); - xbt_free(tname); +void mpi_type_set_name_(int* datatype, char* name, int* ierr, int size) +{ + std::string tname(name, size); + *ierr = MPI_Type_set_name(simgrid::smpi::Datatype::f2c(*datatype), tname.c_str()); } void mpi_type_get_name_ (int* datatype, char * name, int* len, int* ierr){