diff options
author | Jordan Henderson <jhenderson@hdfgroup.org> | 2020-04-09 19:24:02 (GMT) |
---|---|---|
committer | Jordan Henderson <jhenderson@hdfgroup.org> | 2020-04-09 19:24:02 (GMT) |
commit | 65a704167c83c3fa8d5cc05e4ac7e032a051151c (patch) | |
tree | c35b53ff5735fd2ce09b1cc7c5ffa3b076705805 | |
parent | e1508b7695986cbea44b1db07898c23b0c00e4e7 (diff) | |
parent | 7cf36ea7c3142b5246c102560ef439aef0a441c5 (diff) | |
download | hdf5-65a704167c83c3fa8d5cc05e4ac7e032a051151c.zip hdf5-65a704167c83c3fa8d5cc05e4ac7e032a051151c.tar.gz hdf5-65a704167c83c3fa8d5cc05e4ac7e032a051151c.tar.bz2 |
Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~jhenderson/hdf5 into develop
-rwxr-xr-x | bin/h5vers | 2 | ||||
-rw-r--r-- | config/gnu-cxxflags | 7 | ||||
-rw-r--r-- | config/gnu-fflags | 2 | ||||
-rw-r--r-- | config/gnu-flags | 22 | ||||
-rw-r--r-- | src/H5Dint.c | 6 | ||||
-rw-r--r-- | src/H5VL.c | 37 | ||||
-rw-r--r-- | src/H5VLconnector.h | 18 | ||||
-rw-r--r-- | src/H5VLpublic.h | 20 | ||||
-rw-r--r-- | tools/lib/h5tools.c | 55 | ||||
-rw-r--r-- | tools/lib/h5tools.h | 4 | ||||
-rw-r--r-- | tools/lib/h5tools_dump.c | 15 | ||||
-rw-r--r-- | tools/src/h5dump/h5dump.c | 6 | ||||
-rw-r--r-- | tools/src/h5dump/h5dump_ddl.c | 8 | ||||
-rw-r--r-- | tools/src/h5ls/h5ls.c | 13 | ||||
-rw-r--r-- | tools/src/h5repack/h5repack_main.c | 4 | ||||
-rw-r--r-- | tools/src/h5stat/h5stat.c | 6 |
16 files changed, 129 insertions, 96 deletions
@@ -213,7 +213,7 @@ my (@curver) = getvers $contents; # Determine the new version number. my @newver; #new version if ($set) { - if ($set =~ /(\d+)\.(\d+)\.(\d+)(-([a-zA-Z]\w*))?/) { + if ($set =~ /(\d+)\.(\d+)\.(\d+)(-([\da-zA-Z]\w*))?/) { @newver = ($1, $2, $3, $5); } elsif ($set =~ /(\d+)\D+(\d+)\D+(\d+)(\s*\(([a-zA-Z]\w*)\))?\D*$/) { @newver = ($1, $2, $3, $5); diff --git a/config/gnu-cxxflags b/config/gnu-cxxflags index 9ae38f6..73f49ba 100644 --- a/config/gnu-cxxflags +++ b/config/gnu-cxxflags @@ -306,9 +306,10 @@ fi # Version-specific g++ flags - - # Append more extra warning flags that only gcc 4.9+ know about - -Wopenmp-simd" +# This flag was left behind when moving warnings flags to common files for +# both autotools and CMake. +# # Append more extra warning flags that only gcc 4.9+ know about +# -Wopenmp-simd" # Clear cxx info if no flags set if test "X$cxx_flags_set" = "X"; then diff --git a/config/gnu-fflags b/config/gnu-fflags index 2859158..f58f10c 100644 --- a/config/gnu-fflags +++ b/config/gnu-fflags @@ -139,7 +139,7 @@ if test "X-gfortran" = "X-$f9x_vendor"; then # General # ########### - H5_FCFLAGS="$H5_CFLAGS $(load_gnu_arguments gfort-general)" + H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-general)" ############################# # Version-specific warnings # diff --git a/config/gnu-flags b/config/gnu-flags index c2904fe..ad07552 100644 --- a/config/gnu-flags +++ b/config/gnu-flags @@ -244,29 +244,29 @@ if test "X-gcc" = "X-$cc_vendor"; then # gcc >= 4.5 if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 5; then H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.5)" - DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.5)" - NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.5)" + DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-4.5)" + NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-4.5)" fi # gcc >= 4.6 if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 6; then H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.6)" - DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.6)" - NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.6)" + DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-4.6)" + NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-4.6)" fi # gcc >= 4.7 if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 7; then H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.7)" - DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.7)" - NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.7)" + DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-4.7)" + NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-4.7)" fi # gcc >= 4.8 if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 8; then H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.8)" - DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.8)" - NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.8)" + DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-4.8)" + NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-4.8)" fi # gcc >= 4.9 @@ -288,15 +288,15 @@ if test "X-gcc" = "X-$cc_vendor"; then # gcc >= 7 if test $cc_vers_major -ge 7; then H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 7)" - DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-7)" + DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-7)" fi # gcc 8 if test $cc_vers_major -ge 8; then H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 8)" H5_ECFLAGS="$H5_ECFLAGS $(load_gnu_arguments error-8)" - DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-8)" - NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-8)" + DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-8)" + NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-8)" fi # gcc 9 diff --git a/src/H5Dint.c b/src/H5Dint.c index 954b619..4c6814d 100644 --- a/src/H5Dint.c +++ b/src/H5Dint.c @@ -1402,7 +1402,7 @@ H5D__create(H5F_t *file, hid_t type_id, const H5S_t *space, hid_t dcpl_id, ret_value = new_dset; done: - if(!ret_value && new_dset && new_dset->shared) { + if(!ret_value && new_dset) { if(new_dset->shared) { if(layout_init) if(new_dset->shared->layout.ops->dest && (new_dset->shared->layout.ops->dest)(new_dset) < 0) @@ -1425,11 +1425,11 @@ done: if(new_dset->shared->type) { if(new_dset->shared->type_id > 0) { if(H5I_dec_ref(new_dset->shared->type_id) < 0) - HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release datatype") + HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release datatype") } /* end if */ else { if(H5T_close_real(new_dset->shared->type) < 0) - HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release datatype") + HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release datatype") } /* end else */ } /* end if */ @@ -903,7 +903,7 @@ H5VLfree_lib_state(void *state) /* Check args */ if(NULL == state) - HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, FAIL, "invalid state pointer") + HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid state pointer") /* Free the library state */ if(H5VL_free_lib_state(state) < 0) @@ -913,3 +913,38 @@ done: FUNC_LEAVE_API(ret_value) } /* H5VLfree_lib_state() */ + +/*--------------------------------------------------------------------------- + * Function: H5VLquery_optional + * + * Purpose: Determine if a VOL connector supports a particular optional + * callback operation. + * + * Return: Success: Non-negative + * Failure: Negative + * + *--------------------------------------------------------------------------- + */ +herr_t +H5VLquery_optional(hid_t obj_id, H5VL_subclass_t subcls, int opt_type, hbool_t *supported) +{ + H5VL_object_t *vol_obj = NULL; + herr_t ret_value = SUCCEED; /* Return value */ + + FUNC_ENTER_API(FAIL) + H5TRACE4("e", "iVSIs*b", obj_id, subcls, opt_type, supported); + + /* Check args */ + if(NULL == supported) + HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid supported pointer") + if(NULL == (vol_obj = (H5VL_object_t *)H5I_object(obj_id))) + HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid object identifier") + + /* Query the connector */ + if(H5VL_introspect_opt_query(vol_obj, subcls, opt_type, supported) < 0) + HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "unable to query VOL connector support") + +done: + FUNC_LEAVE_API(ret_value) +} /* H5VLquery_optional() */ + diff --git a/src/H5VLconnector.h b/src/H5VLconnector.h index 7951a32..4a35f22 100644 --- a/src/H5VLconnector.h +++ b/src/H5VLconnector.h @@ -48,24 +48,6 @@ /* Public Typedefs */ /*******************/ -/* Enum type for each VOL subclass */ -/* (Used for various queries, etc) */ -typedef enum H5VL_subclass_t { - H5VL_SUBCLS_NONE, /* Operations outside of a subclass */ - H5VL_SUBCLS_INFO, /* 'Info' subclass */ - H5VL_SUBCLS_WRAP, /* 'Wrap' subclass */ - H5VL_SUBCLS_ATTR, /* 'Attribute' subclass */ - H5VL_SUBCLS_DATASET, /* 'Dataset' subclass */ - H5VL_SUBCLS_DATATYPE, /* 'Named datatype' subclass */ - H5VL_SUBCLS_FILE, /* 'File' subclass */ - H5VL_SUBCLS_GROUP, /* 'Group' subclass */ - H5VL_SUBCLS_LINK, /* 'Link' subclass */ - H5VL_SUBCLS_OBJECT, /* 'Object' subclass */ - H5VL_SUBCLS_REQUEST, /* 'Request' subclass */ - H5VL_SUBCLS_BLOB, /* 'Blob' subclass */ - H5VL_SUBCLS_TOKEN /* 'Token' subclass */ -} H5VL_subclass_t; - /* types for attribute GET callback */ typedef enum H5VL_attr_get_t { H5VL_ATTR_GET_ACPL, /* creation property list */ diff --git a/src/H5VLpublic.h b/src/H5VLpublic.h index 006c3ea..8f79adc 100644 --- a/src/H5VLpublic.h +++ b/src/H5VLpublic.h @@ -48,6 +48,24 @@ typedef int H5VL_class_value_t; +/* Enum type for each VOL subclass */ +/* (Used for various queries, etc) */ +typedef enum H5VL_subclass_t { + H5VL_SUBCLS_NONE, /* Operations outside of a subclass */ + H5VL_SUBCLS_INFO, /* 'Info' subclass */ + H5VL_SUBCLS_WRAP, /* 'Wrap' subclass */ + H5VL_SUBCLS_ATTR, /* 'Attribute' subclass */ + H5VL_SUBCLS_DATASET, /* 'Dataset' subclass */ + H5VL_SUBCLS_DATATYPE, /* 'Named datatype' subclass */ + H5VL_SUBCLS_FILE, /* 'File' subclass */ + H5VL_SUBCLS_GROUP, /* 'Group' subclass */ + H5VL_SUBCLS_LINK, /* 'Link' subclass */ + H5VL_SUBCLS_OBJECT, /* 'Object' subclass */ + H5VL_SUBCLS_REQUEST, /* 'Request' subclass */ + H5VL_SUBCLS_BLOB, /* 'Blob' subclass */ + H5VL_SUBCLS_TOKEN /* 'Token' subclass */ +} H5VL_subclass_t; + /********************/ /* Public Variables */ /********************/ @@ -70,7 +88,7 @@ H5_DLL hid_t H5VLget_connector_id_by_value(H5VL_class_value_t connector_value); H5_DLL ssize_t H5VLget_connector_name(hid_t id, char *name/*out*/, size_t size); H5_DLL herr_t H5VLclose(hid_t connector_id); H5_DLL herr_t H5VLunregister_connector(hid_t connector_id); - +H5_DLL herr_t H5VLquery_optional(hid_t obj_id, H5VL_subclass_t subcls, int opt_type, hbool_t *supported); #ifdef __cplusplus } diff --git a/tools/lib/h5tools.c b/tools/lib/h5tools.c index cd915f5..72f0dac 100644 --- a/tools/lib/h5tools.c +++ b/tools/lib/h5tools.c @@ -575,10 +575,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -h5tools_set_vol_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info) +h5tools_set_vol_fapl(hid_t fapl_id, h5tools_fapl_info_t *fapl_info) { htri_t connector_is_registered; hid_t connector_id = H5I_INVALID_HID; + void *vol_info = NULL; herr_t ret_value = SUCCEED; switch (fapl_info->type) { @@ -604,6 +605,11 @@ h5tools_set_vol_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info) } } + /* Convert the info string */ + if (fapl_info->info_string) + if (H5VLconnector_str_to_info(fapl_info->info_string, connector_id, &vol_info) < 0) + H5TOOLS_GOTO_ERROR(FAIL, "can't get VOL info from string"); + break; case VOL_BY_ID: @@ -628,6 +634,11 @@ h5tools_set_vol_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info) } } + /* Convert the info string */ + if (fapl_info->info_string) + if (H5VLconnector_str_to_info(fapl_info->info_string, connector_id, &vol_info) < 0) + H5TOOLS_GOTO_ERROR(FAIL, "can't get VOL info from string"); + break; case VFD_BY_NAME: @@ -635,10 +646,14 @@ h5tools_set_vol_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info) H5TOOLS_GOTO_ERROR(FAIL, "invalid VOL retrieval type"); } - if (H5Pset_vol(fapl, connector_id, fapl_info->info) < 0) + if (H5Pset_vol(fapl_id, connector_id, vol_info) < 0) H5TOOLS_GOTO_ERROR(FAIL, "can't set VOL connector on FAPL"); done: + if (vol_info) + if (H5VLfree_connector_info(connector_id, vol_info)) + H5TOOLS_ERROR(FAIL, "failed to free VOL connector-specific info"); + if (ret_value < 0) { if (connector_id >= 0 && H5Idec_ref(connector_id) < 0) H5TOOLS_ERROR(FAIL, "failed to decrement refcount on VOL connector ID"); @@ -658,44 +673,44 @@ done: *------------------------------------------------------------------------- */ hid_t -h5tools_get_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info) +h5tools_get_fapl(hid_t prev_fapl_id, h5tools_fapl_info_t *fapl_info) { - hid_t new_fapl = H5I_INVALID_HID; + hid_t new_fapl_id = H5I_INVALID_HID; hid_t ret_value = H5I_INVALID_HID; - if (fapl < 0) + if (prev_fapl_id < 0) H5TOOLS_GOTO_ERROR(FAIL, "invalid FAPL"); if (!fapl_info) H5TOOLS_GOTO_ERROR(FAIL, "invalid FAPL retrieval info"); /* Make a copy of the FAPL if necessary, or create a FAPL if * H5P_DEFAULT is specified. */ - if (H5P_DEFAULT == fapl) { - if ((new_fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + if (H5P_DEFAULT == prev_fapl_id) { + if ((new_fapl_id = H5Pcreate(H5P_FILE_ACCESS)) < 0) H5TOOLS_GOTO_ERROR(H5I_INVALID_HID, "H5Pcreate failed"); } /* end if */ else { - if ((new_fapl = H5Pcopy(fapl)) < 0) + if ((new_fapl_id = H5Pcopy(prev_fapl_id)) < 0) H5TOOLS_GOTO_ERROR(H5I_INVALID_HID, "H5Pcopy failed"); } if (VFD_BY_NAME == fapl_info->type) { - if (h5tools_set_vfd_fapl(new_fapl, fapl_info) < 0) + if (h5tools_set_vfd_fapl(new_fapl_id, fapl_info) < 0) H5TOOLS_GOTO_ERROR(H5I_INVALID_HID, "failed to set VFD on FAPL"); } else if (VOL_BY_NAME == fapl_info->type || VOL_BY_ID == fapl_info->type) { - if (h5tools_set_vol_fapl(new_fapl, fapl_info) < 0) + if (h5tools_set_vol_fapl(new_fapl_id, fapl_info) < 0) H5TOOLS_GOTO_ERROR(H5I_INVALID_HID, "failed to set VOL on FAPL"); } else H5TOOLS_GOTO_ERROR(H5I_INVALID_HID, "invalid FAPL retrieval type"); - ret_value = new_fapl; + ret_value = new_fapl_id; done: - if ((new_fapl >= 0) && (ret_value < 0)) { - H5Pclose(new_fapl); - new_fapl = H5I_INVALID_HID; + if ((new_fapl_id >= 0) && (ret_value < 0)) { + H5Pclose(new_fapl_id); + new_fapl_id = H5I_INVALID_HID; } return ret_value; @@ -887,9 +902,9 @@ h5tools_fopen(const char *fname, unsigned flags, hid_t fapl, hbool_t use_specifi for (volnum = 0; volnum < NUM_VOLS; volnum++) { h5tools_fapl_info_t vol_info; - vol_info.type = VOL_BY_NAME; - vol_info.info = NULL; - vol_info.u.name = volnames[volnum]; + vol_info.type = VOL_BY_NAME; + vol_info.info_string = NULL; + vol_info.u.name = volnames[volnum]; /* Get a FAPL for the current VOL connector */ if ((tmp_vol_fapl = h5tools_get_fapl(fapl, &vol_info)) < 0) @@ -912,9 +927,9 @@ h5tools_fopen(const char *fname, unsigned flags, hid_t fapl, hbool_t use_specifi if (drivernum == LOG_VFD_IDX) continue; - vfd_info.type = VFD_BY_NAME; - vfd_info.info = NULL; - vfd_info.u.name = drivernames[drivernum]; + vfd_info.type = VFD_BY_NAME; + vfd_info.info_string = NULL; + vfd_info.u.name = drivernames[drivernum]; /* Using the current VOL FAPL as a base, get the correct FAPL for the given VFL driver */ if ((tmp_vfd_fapl = h5tools_get_fapl(tmp_vol_fapl, &vfd_info)) < 0) diff --git a/tools/lib/h5tools.h b/tools/lib/h5tools.h index 5244f7be..fd09a14 100644 --- a/tools/lib/h5tools.h +++ b/tools/lib/h5tools.h @@ -549,7 +549,7 @@ typedef struct h5tools_fapl_info_t { h5tools_fapl_info_type_t type; /* Pointer to information to be passed to the driver/connector for its setup */ - const void *info; + const char *info_string; /* Field specifying either the driver's/connector's name or ID */ union { @@ -637,7 +637,7 @@ H5TOOLS_DLL int h5tools_set_attr_output_file(const char *fname, int is_bin); H5TOOLS_DLL int h5tools_set_input_file(const char *fname, int is_bin); H5TOOLS_DLL int h5tools_set_output_file(const char *fname, int is_bin); H5TOOLS_DLL int h5tools_set_error_file(const char *fname, int is_bin); -H5TOOLS_DLL hid_t h5tools_get_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info); +H5TOOLS_DLL hid_t h5tools_get_fapl(hid_t prev_fapl_id, h5tools_fapl_info_t *fapl_info); H5TOOLS_DLL herr_t h5tools_get_vfd_name(hid_t fapl_id, char *drivername, size_t drivername_size); H5TOOLS_DLL hid_t h5tools_fopen(const char *fname, unsigned flags, hid_t fapl, hbool_t use_specific_driver, char *drivername, size_t drivername_size); diff --git a/tools/lib/h5tools_dump.c b/tools/lib/h5tools_dump.c index cd7c3d2..b59ae93 100644 --- a/tools/lib/h5tools_dump.c +++ b/tools/lib/h5tools_dump.c @@ -3283,8 +3283,6 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info, } else { haddr_t ioffset; - void *obj = NULL; - hid_t connector_id = H5I_INVALID_HID; hbool_t supported = FALSE; /* NORMAL FILE */ @@ -3304,10 +3302,7 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info, /* Only dump the offset if the VOL connector implements * the functionality. */ - obj = H5VLobject(dset_id); - connector_id = H5VLget_connector_id(dset_id); - H5VLintrospect_opt_query(obj, connector_id, H5VL_SUBCLS_DATASET, H5VL_NATIVE_DATASET_GET_OFFSET, &supported); - H5VLclose(connector_id); + H5VLquery_optional(dset_id, H5VL_SUBCLS_DATASET, H5VL_NATIVE_DATASET_GET_OFFSET, &supported); if (supported) { @@ -3732,15 +3727,11 @@ h5tools_dump_comment(FILE *stream, const h5tool_format_t *info, h5tools_context_ * instead of the current stripmine position i; this is necessary * to print the array indices */ - void *obj = NULL; - hid_t connector_id = H5I_INVALID_HID; hbool_t supported = FALSE; /* Check if comments are supported and return if not */ - obj = H5VLobject(obj_id); - connector_id = H5VLget_connector_id(obj_id); - H5VLintrospect_opt_query(obj, connector_id, H5VL_SUBCLS_OBJECT, H5VL_NATIVE_OBJECT_GET_COMMENT, &supported); - H5VLclose(connector_id); + H5VLquery_optional(obj_id, H5VL_SUBCLS_OBJECT, H5VL_NATIVE_OBJECT_GET_COMMENT, &supported); + if (!supported) return; diff --git a/tools/src/h5dump/h5dump.c b/tools/src/h5dump/h5dump.c index e49141d..457bdc0 100644 --- a/tools/src/h5dump/h5dump.c +++ b/tools/src/h5dump/h5dump.c @@ -1418,9 +1418,9 @@ main(int argc, const char *argv[]) h5tools_fapl_info_t fapl_info; /* Currently, only retrieval of VFDs is supported. */ - fapl_info.type = VFD_BY_NAME; - fapl_info.info = NULL; - fapl_info.u.name = driver; + fapl_info.type = VFD_BY_NAME; + fapl_info.info_string = NULL; + fapl_info.u.name = driver; if (!HDstrcmp(driver, drivernames[ROS3_VFD_IDX])) { #ifdef H5_HAVE_ROS3_VFD diff --git a/tools/src/h5dump/h5dump_ddl.c b/tools/src/h5dump/h5dump_ddl.c index e97ab7e..1df205c 100644 --- a/tools/src/h5dump/h5dump_ddl.c +++ b/tools/src/h5dump/h5dump_ddl.c @@ -1136,8 +1136,6 @@ dump_fcpl(hid_t fid) unsigned sym_ik; /* symbol table B-tree internal 'K' value */ unsigned istore_ik; /* indexed storage B-tree internal 'K' value */ - void *obj = NULL; - hid_t connector_id = H5I_INVALID_HID; hbool_t supported = FALSE; /* Dumping the information here only makes sense for the native @@ -1145,10 +1143,8 @@ dump_fcpl(hid_t fid) * use that as a proxy for "native-ness". If that isn't supported, we'll * just return. */ - obj = H5VLobject(fid); - connector_id = H5VLget_connector_id(fid); - H5VLintrospect_opt_query(obj, connector_id, H5VL_SUBCLS_FILE, H5VL_NATIVE_FILE_GET_INFO, &supported); - H5VLclose(connector_id); + H5VLquery_optional(fid, H5VL_SUBCLS_FILE, H5VL_NATIVE_FILE_GET_INFO, &supported); + if (!supported) return; diff --git a/tools/src/h5ls/h5ls.c b/tools/src/h5ls/h5ls.c index f82827c..eb86101 100644 --- a/tools/src/h5ls/h5ls.c +++ b/tools/src/h5ls/h5ls.c @@ -2364,8 +2364,6 @@ list_obj(const char *name, const H5O_info2_t *oinfo, const char *first_seen, voi char* comment = NULL; char* obj_tok_str = NULL; ssize_t cmt_bufsize = -1; - void *obj = NULL; - hid_t connector_id = H5I_INVALID_HID; hbool_t supported = FALSE; /* Display attributes */ @@ -2401,10 +2399,7 @@ list_obj(const char *name, const H5O_info2_t *oinfo, const char *first_seen, voi } /* end if */ /* Only emit comments if the VOL connector supports that */ - obj = H5VLobject(obj_id); - connector_id = H5VLget_connector_id(obj_id); - H5VLintrospect_opt_query(obj, connector_id, H5VL_SUBCLS_OBJECT, H5VL_NATIVE_OBJECT_GET_COMMENT, &supported); - H5VLclose(connector_id); + H5VLquery_optional(obj_id, H5VL_SUBCLS_OBJECT, H5VL_NATIVE_OBJECT_GET_COMMENT, &supported); if (supported) { @@ -3156,9 +3151,9 @@ main(int argc, const char *argv[]) h5tools_fapl_info_t fapl_info; /* Currently, only retrieval of VFDs is supported. */ - fapl_info.type = VFD_BY_NAME; - fapl_info.info = NULL; - fapl_info.u.name = preferred_driver; + fapl_info.type = VFD_BY_NAME; + fapl_info.info_string = NULL; + fapl_info.u.name = preferred_driver; if (!HDstrcmp(preferred_driver, drivernames[ROS3_VFD_IDX])) { #ifdef H5_HAVE_ROS3_VFD diff --git a/tools/src/h5repack/h5repack_main.c b/tools/src/h5repack/h5repack_main.c index 1761fb4..5997449 100644 --- a/tools/src/h5repack/h5repack_main.c +++ b/tools/src/h5repack/h5repack_main.c @@ -694,7 +694,7 @@ int parse_command_line(int argc, const char **argv, pack_opt_t* options) break; case '3': - in_vol_info.info = opt_arg; + in_vol_info.info_string = opt_arg; break; case '4': @@ -710,7 +710,7 @@ int parse_command_line(int argc, const char **argv, pack_opt_t* options) break; case '6': - out_vol_info.info = opt_arg; + out_vol_info.info_string = opt_arg; break; default: diff --git a/tools/src/h5stat/h5stat.c b/tools/src/h5stat/h5stat.c index fdf49cd..aae5416 100644 --- a/tools/src/h5stat/h5stat.c +++ b/tools/src/h5stat/h5stat.c @@ -1816,9 +1816,9 @@ main(int argc, const char *argv[]) h5tools_fapl_info_t fapl_info; /* Currently, only retrieval of VFDs is supported. */ - fapl_info.type = VFD_BY_NAME; - fapl_info.info = NULL; - fapl_info.u.name = drivername; + fapl_info.type = VFD_BY_NAME; + fapl_info.info_string = NULL; + fapl_info.u.name = drivername; if (!HDstrcmp(drivername, drivernames[ROS3_VFD_IDX])) { #ifdef H5_HAVE_ROS3_VFD |