summaryrefslogtreecommitdiffstats
path: root/src/H5Dio.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Dio.c')
-rw-r--r--src/H5Dio.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/H5Dio.c b/src/H5Dio.c
index 5a931cf..58031e8 100644
--- a/src/H5Dio.c
+++ b/src/H5Dio.c
@@ -420,6 +420,9 @@ H5D__read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space,
if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache")
+ /* Patch the top level file pointer for dt->shared->u.vlen.f if needed */
+ H5T_patch_vlen_file(dataset->shared->type, dataset->oloc.file);
+
/* Set up datatype info for operation */
if(H5D__typeinfo_init(dataset, dxpl_cache, dxpl_id, mem_type_id, FALSE, &type_info) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set up type info")
@@ -640,6 +643,9 @@ H5D__write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space,
if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache")
+ /* Patch the top level file pointer for dt->shared->u.vlen.f if needed */
+ H5T_patch_vlen_file(dataset->shared->type, dataset->oloc.file);
+
/* Set up datatype info for operation */
if(H5D__typeinfo_init(dataset, dxpl_cache, dxpl_id, mem_type_id, TRUE, &type_info) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set up type info")