summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2023-09-01 16:03:10 (GMT)
committerGitHub <noreply@github.com>2023-09-01 16:03:10 (GMT)
commiteeb98559711a638e41cba85502f34fd990822d90 (patch)
treedb565b145d181cd059969ced657e06c3619229f2
parent3cfdca6dc9d9f255f1e51c1718f811aa960bfc07 (diff)
downloadhdf5-eeb98559711a638e41cba85502f34fd990822d90.zip
hdf5-eeb98559711a638e41cba85502f34fd990822d90.tar.gz
hdf5-eeb98559711a638e41cba85502f34fd990822d90.tar.bz2
Avoid H5Ocopy in h5repack for variable-length string types (#3419) (#3469)
-rw-r--r--tools/src/h5repack/h5repack_copy.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/src/h5repack/h5repack_copy.c b/tools/src/h5repack/h5repack_copy.c
index 81b33c3..2d0819b 100644
--- a/tools/src/h5repack/h5repack_copy.c
+++ b/tools/src/h5repack/h5repack_copy.c
@@ -810,6 +810,10 @@ do_copy_objects(hid_t fidin, hid_t fidout, trav_table_t *travt, pack_opt_t *opti
/* early detection of variable-length types */
if ((is_vlen = H5Tdetect_class(ftype_id, H5T_VLEN)) < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Tdetect_class failed");
+ if (!is_vlen) {
+ if ((is_vlen = H5Tis_variable_str(ftype_id)) < 0)
+ H5TOOLS_GOTO_ERROR((-1), "H5Tis_variable_str failed");
+ }
/* Check if the datatype is committed */
if ((is_named = H5Tcommitted(ftype_id)) < 0)