From: Augustin Degomme Date: Wed, 3 Oct 2012 17:16:32 +0000 (+0200) Subject: avoid breaking the shiny new and working functionality from jean-noel X-Git-Tag: v3_8~146^2~2 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/74e1a7edcb77db92b4f196f697b31c4681b2cedc avoid breaking the shiny new and working functionality from jean-noel --- diff --git a/src/smpi/smpi_mpi_dt.c b/src/smpi/smpi_mpi_dt.c index 5493e5c163..18f668c2a2 100644 --- a/src/smpi/smpi_mpi_dt.c +++ b/src/smpi/smpi_mpi_dt.c @@ -190,12 +190,13 @@ void serialize_vector( const void *noncontiguous_vector, { s_smpi_mpi_vector_t* type_c = (s_smpi_mpi_vector_t*)type; int i; + char* contiguous_vector_char = (char*)contiguous_vector; + char* noncontiguous_vector_char = (char*)noncontiguous_vector; + for (i = 0; i < type_c->block_count * count; i++) { - memcpy(contiguous_vector, - noncontiguous_vector, type_c->block_length * type_c->size_oldtype); + memcpy(contiguous_vector_char, + noncontiguous_vector_char, type_c->block_length * type_c->size_oldtype); - char* contiguous_vector_char = (char*)contiguous_vector; - char* noncontiguous_vector_char = (char*)noncontiguous_vector; contiguous_vector_char += type_c->block_length*type_c->size_oldtype; noncontiguous_vector_char += type_c->block_stride*type_c->size_oldtype; } @@ -216,12 +217,13 @@ void unserialize_vector( const void *contiguous_vector, { s_smpi_mpi_vector_t* type_c = (s_smpi_mpi_vector_t*)type; int i; - for (i = 0; i < type_c->block_count * count; i++) { - memcpy(noncontiguous_vector, - contiguous_vector, type_c->block_length * type_c->size_oldtype); - char* contiguous_vector_char = (char*)contiguous_vector; - char* noncontiguous_vector_char = (char*)noncontiguous_vector; + char* contiguous_vector_char = (char*)contiguous_vector; + char* noncontiguous_vector_char = (char*)noncontiguous_vector; + + for (i = 0; i < type_c->block_count * count; i++) { + memcpy(noncontiguous_vector_char, + contiguous_vector_char, type_c->block_length * type_c->size_oldtype); contiguous_vector_char += type_c->block_length*type_c->size_oldtype; noncontiguous_vector_char += type_c->block_stride*type_c->size_oldtype;