mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
Fix bug with cross platform compatibility of references within vlens. (#1064)
No testing yet.
This commit is contained in:
@@ -1008,6 +1008,15 @@ Bug Fixes since HDF5-1.12.0 release
|
||||
===================================
|
||||
Library
|
||||
-------
|
||||
- Fixed cross platform incompatibility of references within variable length
|
||||
types
|
||||
|
||||
Reference types within variable length types previously could not be
|
||||
read on a platform with different endianness from where they were
|
||||
written. Fixed so cross platform portability is restored.
|
||||
|
||||
(NAF - 2021/09/30)
|
||||
|
||||
- Detection of simple data transform function "x"
|
||||
|
||||
In the case of the simple data transform function "x" the (parallel)
|
||||
|
||||
+2
-2
@@ -3205,14 +3205,14 @@ H5T__conv_vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, si
|
||||
HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "unable to copy src type for conversion")
|
||||
/* References need to know about the src file */
|
||||
if (tsrc_cpy->shared->type == H5T_REFERENCE)
|
||||
if (H5T_set_loc(tsrc_cpy, src->shared->u.vlen.file, H5T_LOC_MEMORY) < 0)
|
||||
if (H5T_set_loc(tsrc_cpy, src->shared->u.vlen.file, src->shared->u.vlen.loc) < 0)
|
||||
HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't set datatype location");
|
||||
|
||||
if (NULL == (tdst_cpy = H5T_copy(dst->shared->parent, H5T_COPY_ALL)))
|
||||
HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "unable to copy dst type for conversion")
|
||||
/* References need to know about the dst file */
|
||||
if (tdst_cpy->shared->type == H5T_REFERENCE)
|
||||
if (H5T_set_loc(tdst_cpy, dst->shared->u.vlen.file, H5T_LOC_MEMORY) < 0)
|
||||
if (H5T_set_loc(tdst_cpy, dst->shared->u.vlen.file, dst->shared->u.vlen.loc) < 0)
|
||||
HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't set datatype location");
|
||||
|
||||
if (((tsrc_id = H5I_register(H5I_DATATYPE, tsrc_cpy, FALSE)) < 0) ||
|
||||
|
||||
Reference in New Issue
Block a user