Correctly moves the pointers around on big data.
This commit was SVN r26259.
Этот коммит содержится в:
родитель
f5cd996b91
Коммит
c5e4b2ab44
@ -285,15 +285,17 @@ ompi_datatype_copy_content_same_ddt( const ompi_datatype_t* type, size_t count,
|
||||
char* pDestBuf, char* pSrcBuf )
|
||||
{
|
||||
int32_t length, rc;
|
||||
OPAL_PTRDIFF_TYPE extent;
|
||||
|
||||
ompi_datatype_type_extent( type, &extent );
|
||||
while( 0 != count ) {
|
||||
length = INT_MAX;
|
||||
if( ((size_t)length) > count ) length = (int32_t)count;
|
||||
rc = opal_datatype_copy_content_same_ddt( &type->super, length,
|
||||
pDestBuf, pSrcBuf );
|
||||
if( 0 != rc ) return rc;
|
||||
pDestBuf += (ptrdiff_t)length;
|
||||
pSrcBuf += (ptrdiff_t)length;
|
||||
pDestBuf += ((ptrdiff_t)length) * extent;
|
||||
pSrcBuf += ((ptrdiff_t)length) * extent;
|
||||
count -= (size_t)length;
|
||||
}
|
||||
return 0;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user