X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6b9d22415cc883df71086ea19d220cbfba0a3230..d3b55c361286eaed09566c184e2017bdd2dec4c9:/src/smpi/bindings/smpi_pmpi_type.cpp diff --git a/src/smpi/bindings/smpi_pmpi_type.cpp b/src/smpi/bindings/smpi_pmpi_type.cpp index 04208cb9c4..44de64ec9d 100644 --- a/src/smpi/bindings/smpi_pmpi_type.cpp +++ b/src/smpi/bindings/smpi_pmpi_type.cpp @@ -324,24 +324,28 @@ int PMPI_Type_free_keyval(int* keyval) { return simgrid::smpi::Keyval::keyval_free(keyval); } -int PMPI_Unpack(const void* inbuf, int incount, int* position, void* outbuf, int outcount, MPI_Datatype type, MPI_Comm comm) { - CHECK_NEGATIVE(2, MPI_ERR_COUNT, incount) +int PMPI_Unpack(const void* inbuf, int insize, int* position, void* outbuf, int outcount, MPI_Datatype type, MPI_Comm comm) { + SET_BUF1(inbuf) + SET_BUF2(outbuf) + CHECK_COMM(7) + CHECK_NEGATIVE(2, MPI_ERR_COUNT, insize) CHECK_NEGATIVE(5, MPI_ERR_COUNT, outcount) - CHECK_BUFFER(1, inbuf, incount) - CHECK_BUFFER(4, outbuf, outcount) CHECK_TYPE(6, type) - CHECK_COMM(7) - return type->unpack(inbuf, incount, position, outbuf,outcount, comm); + CHECK_BUFFER2(1, inbuf, outcount) + CHECK_BUFFER2(4, outbuf, outcount) + return type->unpack(inbuf, insize, position, outbuf,outcount, comm); } -int PMPI_Pack(const void* inbuf, int incount, MPI_Datatype type, void* outbuf, int outcount, int* position, MPI_Comm comm) { +int PMPI_Pack(const void* inbuf, int incount, MPI_Datatype type, void* outbuf, int outsize, int* position, MPI_Comm comm) { + SET_BUF1(inbuf) + SET_BUF2(outbuf) + CHECK_COMM(7) CHECK_NEGATIVE(2, MPI_ERR_COUNT, incount) - CHECK_NEGATIVE(5, MPI_ERR_COUNT, outcount) - CHECK_BUFFER(1, inbuf, incount) - CHECK_BUFFER(4, outbuf, outcount) + CHECK_NEGATIVE(5, MPI_ERR_COUNT, outsize) CHECK_TYPE(6, type) - CHECK_COMM(7) - return type->pack(inbuf == MPI_BOTTOM ? nullptr : inbuf, incount, outbuf, outcount, position, comm); + CHECK_BUFFER2(1, inbuf, incount) + CHECK_BUFFER2(4, outbuf, incount) + return type->pack(inbuf == MPI_BOTTOM ? nullptr : inbuf, incount, outbuf, outsize, position, comm); } int PMPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int* size) {