1
1

resolve packing issue w/ int64

This commit was SVN r5575.
Этот коммит содержится в:
Tim Woodall 2005-05-02 18:30:07 +00:00
родитель 5c9f4c75d1
Коммит 07e4cf840f

Просмотреть файл

@ -243,9 +243,10 @@ int orte_dps_pack_int64(orte_buffer_t *buffer, void *src,
size_t i;
uint32_t tmp, *dsttmp, *srctmp = (uint32_t*) src;
char *dst;
size_t bytes_packed = num_vals * sizeof(tmp) * 2;
/* check to see if buffer needs extending */
if (NULL == (dst = orte_dps_buffer_extend(buffer, num_vals*sizeof(tmp)))) {
if (NULL == (dst = orte_dps_buffer_extend(buffer, bytes_packed))) {
ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE);
return ORTE_ERR_OUT_OF_RESOURCE;
}
@ -257,9 +258,9 @@ int orte_dps_pack_int64(orte_buffer_t *buffer, void *src,
tmp = htonl(srctmp[i+1]);
memcpy(&dsttmp[i+1], &tmp, sizeof(tmp));
}
buffer->pack_ptr += 2*num_vals * sizeof(tmp);
buffer->bytes_used += 2*num_vals * sizeof(tmp);
buffer->bytes_avail -= num_vals * sizeof(tmp);
buffer->pack_ptr += bytes_packed;
buffer->bytes_used += bytes_packed;
buffer->bytes_avail -= bytes_packed;
return ORTE_SUCCESS;
}