summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2021-10-21 21:08:28 (GMT)
committerGitHub <noreply@github.com>2021-10-21 21:08:28 (GMT)
commitbf395daa6f33dc0dc3e9fc1ae67661c818d5aa7b (patch)
tree6411791f061ef2be54158f28421d8a2bdc03c928
parentf9a57500cae57d94444db08f636dea209cbdbf56 (diff)
downloadhdf5-bf395daa6f33dc0dc3e9fc1ae67661c818d5aa7b.zip
hdf5-bf395daa6f33dc0dc3e9fc1ae67661c818d5aa7b.tar.gz
hdf5-bf395daa6f33dc0dc3e9fc1ae67661c818d5aa7b.tar.bz2
Fix map open to use correct VOL argument structure (#1116)
Fix map iterate by setting key memory type ID field
-rw-r--r--src/H5M.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/H5M.c b/src/H5M.c
index b890a5c..845c054 100644
--- a/src/H5M.c
+++ b/src/H5M.c
@@ -533,7 +533,7 @@ H5M__open_api_common(hid_t loc_id, const char *name, hid_t mapl_id, void **token
/* Open the map */
if (H5VL_optional(*vol_obj_ptr, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, token_ptr) < 0)
HGOTO_ERROR(H5E_MAP, H5E_CANTOPENOBJ, H5I_INVALID_HID, "unable to open map")
- map = map_args.create.map;
+ map = map_args.open.map;
/* Register an ID for the map */
if ((ret_value = H5VL_register(H5I_MAP, map, (*vol_obj_ptr)->connector, TRUE)) < 0)
@@ -1360,6 +1360,7 @@ H5Miterate(hid_t map_id, hsize_t *idx, hid_t key_mem_type_id, H5M_iterate_t op,
map_args.specific.args.iterate.loc_params.type = H5VL_OBJECT_BY_SELF;
map_args.specific.args.iterate.loc_params.obj_type = H5I_get_type(map_id);
map_args.specific.args.iterate.idx = (idx ? *idx : 0);
+ map_args.specific.args.iterate.key_mem_type_id = key_mem_type_id;
map_args.specific.args.iterate.op = op;
map_args.specific.args.iterate.op_data = op_data;
vol_cb_args.op_type = H5VL_MAP_SPECIFIC;
@@ -1450,6 +1451,7 @@ H5Miterate_by_name(hid_t loc_id, const char *map_name, hsize_t *idx, hid_t key_m
map_args.specific.args.iterate.loc_params.loc_data.loc_by_name.name = map_name;
map_args.specific.args.iterate.loc_params.loc_data.loc_by_name.lapl_id = lapl_id;
map_args.specific.args.iterate.idx = (idx ? *idx : 0);
+ map_args.specific.args.iterate.key_mem_type_id = key_mem_type_id;
map_args.specific.args.iterate.op = op;
map_args.specific.args.iterate.op_data = op_data;
vol_cb_args.op_type = H5VL_MAP_SPECIFIC;