@@ -126,8 +126,8 @@ opal_convertor_raw( opal_convertor_t* pConvertor,
126
126
const ddt_elem_desc_t * current = & (pElem -> elem );
127
127
128
128
if ( count_desc != (current -> count * current -> blocklen ) ) { /* Not the full element description */
129
- do_now = current -> blocklen - ( count_desc % current -> blocklen ); /* how much left in the block */
130
- if ( do_now ) {
129
+ if ( ( do_now = count_desc % current -> blocklen ) ) {
130
+ do_now = current -> blocklen - do_now ; /* how much left in the block */
131
131
source_base += current -> disp ;
132
132
blength = do_now * opal_datatype_basicDatatypes [current -> common .type ]-> size ;
133
133
OPAL_DATATYPE_SAFEGUARD_POINTER ( source_base , blength , pConvertor -> pBaseBuf ,
@@ -136,12 +136,12 @@ opal_convertor_raw( opal_convertor_t* pConvertor,
136
136
index , (void * )source_base , blength ); );
137
137
opal_convertor_merge_iov ( iov , iov_count ,
138
138
(IOVBASE_TYPE * ) source_base , blength , & index );
139
- /* not check the return value, we know there was at least one element in the iovec */
139
+ /* ignore the return value, we know there was at least one element in the iovec */
140
140
sum_iov_len += blength ;
141
141
count_desc -= do_now ;
142
142
143
- source_base += (current -> extent - current -> disp +
144
- ( current -> blocklen - do_now ) * opal_datatype_basicDatatypes [ current -> common . type ] -> size );
143
+ source_base += (blength - current -> blocklen * opal_datatype_basicDatatypes [ current -> common . type ] -> size +
144
+ current -> extent - current -> disp );
145
145
}
146
146
}
147
147
}
@@ -258,7 +258,7 @@ opal_convertor_raw( opal_convertor_t* pConvertor,
258
258
}
259
259
/* I complete an element, next step I should go to the next one */
260
260
PUSH_STACK ( pStack , pConvertor -> stack_pos , pos_desc , OPAL_DATATYPE_UINT1 , count_desc ,
261
- source_base - pStack -> disp - pConvertor -> pBaseBuf );
261
+ source_base - pConvertor -> pBaseBuf );
262
262
DO_DEBUG ( opal_output ( 0 , "raw save stack stack_pos %d pos_desc %d count_desc %" PRIsize_t " disp %ld\n" ,
263
263
pConvertor -> stack_pos , pStack -> index , pStack -> count , (long )pStack -> disp ); );
264
264
return 0 ;
0 commit comments