summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2023-08-24 15:53:05 (GMT)
committerGitHub <noreply@github.com>2023-08-24 15:53:05 (GMT)
commit14645ae83ea4739182a8b8e8555b75f53c623acb (patch)
tree1a2607ea7c3b3433a82874d57d23582bf1773f07
parent67246efd6a3be96850062248a9e014ab0dc76191 (diff)
downloadhdf5-14645ae83ea4739182a8b8e8555b75f53c623acb.zip
hdf5-14645ae83ea4739182a8b8e8555b75f53c623acb.tar.gz
hdf5-14645ae83ea4739182a8b8e8555b75f53c623acb.tar.bz2
Avoid H5Ocopy in h5repack for variable-length string types (#3419)
-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)