summaryrefslogtreecommitdiffstats
path: root/src/H5T.c
diff options
context:
space:
mode:
authorJerome Soumagne <jsoumagne@hdfgroup.org>2020-08-06 19:22:29 (GMT)
committerJerome Soumagne <jsoumagne@hdfgroup.org>2020-08-06 19:22:29 (GMT)
commit302dfeb11b4bb5d204683dbfd6824586b3863122 (patch)
tree07a5fe6a6e5ff2c75ad9ed1510e5ad3cb14bcb86 /src/H5T.c
parentee274b97f8e577b874165e93f95e7dbf8e73e675 (diff)
parentef6db167a86e6c065d46963dbd75cd325fe83813 (diff)
downloadhdf5-302dfeb11b4bb5d204683dbfd6824586b3863122.zip
hdf5-302dfeb11b4bb5d204683dbfd6824586b3863122.tar.gz
hdf5-302dfeb11b4bb5d204683dbfd6824586b3863122.tar.bz2
Merge pull request #2715 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:fix_vlen_ref to develop
* commit 'ef6db167a86e6c065d46963dbd75cd325fe83813': H5R: fix encoding of references that are part of compound types
Diffstat (limited to 'src/H5T.c')
-rw-r--r--src/H5T.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/H5T.c b/src/H5T.c
index 25c1f75..991095d 100644
--- a/src/H5T.c
+++ b/src/H5T.c
@@ -5718,9 +5718,9 @@ H5T_set_loc(H5T_t *dt, H5VL_object_t *file, H5T_loc_t loc)
break;
case H5T_VLEN: /* Recurse on the VL information if it's VL, compound or array, then free VL sequence */
- /* Recurse if it's VL, compound, enum or array */
+ /* Recurse if it's VL, compound, enum or array (ignore references here so that we can encode them as part of the same blob)*/
/* (If the force_conv flag is _not_ set, the type cannot change in size, so don't recurse) */
- if(dt->shared->parent->shared->force_conv && H5T_IS_COMPLEX(dt->shared->parent->shared->type)) {
+ if(dt->shared->parent->shared->force_conv && H5T_IS_COMPLEX(dt->shared->parent->shared->type) && (dt->shared->parent->shared->type != H5T_REFERENCE)) {
if((changed = H5T_set_loc(dt->shared->parent, file, loc)) < 0)
HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "Unable to set VL location");
if(changed > 0)