summaryrefslogtreecommitdiffstats
path: root/src/H5Dcompact.c
diff options
context:
space:
mode:
authorJacob Smith <jake.smith@hdfgroup.org>2019-06-20 17:37:27 (GMT)
committerJacob Smith <jake.smith@hdfgroup.org>2019-06-20 17:37:27 (GMT)
commit27d5742b3956622dd41d2edf89d20314224c5f38 (patch)
tree4efb591d864060b66a6b0f410cff57a338bb8805 /src/H5Dcompact.c
parent63fc460c137e871d21941de8fedc4371be229d42 (diff)
parent2e973f7e12301975f9d8dfdd5534682525554e77 (diff)
downloadhdf5-27d5742b3956622dd41d2edf89d20314224c5f38.zip
hdf5-27d5742b3956622dd41d2edf89d20314224c5f38.tar.gz
hdf5-27d5742b3956622dd41d2edf89d20314224c5f38.tar.bz2
Merge branch 'develop' into bugfix/repack_external_storage
Diffstat (limited to 'src/H5Dcompact.c')
-rw-r--r--src/H5Dcompact.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/H5Dcompact.c b/src/H5Dcompact.c
index df61856..29401f8 100644
--- a/src/H5Dcompact.c
+++ b/src/H5Dcompact.c
@@ -559,9 +559,14 @@ H5D__compact_copy(H5F_t *f_src, H5O_storage_compact_t *_storage_src, H5F_t *f_ds
/* Check for expanding references */
if(cpy_info->expand_ref) {
size_t ref_count;
+ size_t src_dt_size; /* Source datatype size */
+
+ /* Determine largest datatype size */
+ if(0 == (src_dt_size = H5T_get_size(dt_src)))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to determine datatype size")
/* Determine # of reference elements to copy */
- ref_count = storage_src->size / H5T_get_size(dt_src);
+ ref_count = storage_src->size / src_dt_size;
/* Copy objects referenced in source buffer to destination file and set destination elements */
if(H5O_copy_expand_ref(f_src, storage_src->buf, f_dst,