summaryrefslogtreecommitdiffstats
path: root/src/H5PLpath.c
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-08-02 16:28:08 (GMT)
committerGitHub <noreply@github.com>2023-08-02 16:28:08 (GMT)
commit89b4afd4b317c5131cbc8607c99d21b369d050eb (patch)
treefb2e6c99d110a7c6e40e0671aa2f24d5e96a7060 /src/H5PLpath.c
parentb78729638bf69dca9e0dd86eddd530d5fc1aef40 (diff)
downloadhdf5-89b4afd4b317c5131cbc8607c99d21b369d050eb.zip
hdf5-89b4afd4b317c5131cbc8607c99d21b369d050eb.tar.gz
hdf5-89b4afd4b317c5131cbc8607c99d21b369d050eb.tar.bz2
Fix loading plugin fails with missing directory GH issue #3248 (#3324)
Diffstat (limited to 'src/H5PLpath.c')
-rw-r--r--src/H5PLpath.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/H5PLpath.c b/src/H5PLpath.c
index a6734cb..10a668c 100644
--- a/src/H5PLpath.c
+++ b/src/H5PLpath.c
@@ -615,9 +615,9 @@ H5PL__path_table_iterate_process_path(const char *plugin_path, H5PL_iterate_type
HDassert(plugin_path);
HDassert(iter_op);
- /* Open the directory */
+ /* Open the directory - skip the path if the directory can't be opened */
if (!(dirp = HDopendir(plugin_path)))
- HGOTO_ERROR(H5E_PLUGIN, H5E_OPENERROR, H5_ITER_ERROR, "can't open directory: %s", plugin_path)
+ HGOTO_DONE(H5_ITER_CONT);
/* Iterate through all entries in the directory */
while (NULL != (dp = HDreaddir(dirp))) {
@@ -710,7 +710,7 @@ H5PL__path_table_iterate_process_path(const char *plugin_path, H5PL_iterate_type
* skip the path if the directory can't be opened */
HDsnprintf(service, sizeof(service), "%s\\*.dll", plugin_path);
if ((hFind = FindFirstFileA(service, &fdFile)) == INVALID_HANDLE_VALUE)
- HGOTO_ERROR(H5E_PLUGIN, H5E_OPENERROR, H5_ITER_ERROR, "can't open directory")
+ HGOTO_DONE(H5_ITER_CONT);
/* Loop over all the files */
do {
@@ -799,8 +799,7 @@ H5PL__find_plugin_in_path_table(const H5PL_search_params_t *search_params, hbool
/* Search for the plugin in this path */
if (H5PL__find_plugin_in_path(search_params, found, H5PL_paths_g[u], plugin_info) < 0)
- HGOTO_ERROR(H5E_PLUGIN, H5E_CANTGET, FAIL, "search in path %s encountered an error",
- H5PL_paths_g[u])
+ HERROR(H5E_PLUGIN, H5E_CANTGET, "search in path %s encountered an error", H5PL_paths_g[u]);
/* Break out if found */
if (*found) {
@@ -852,7 +851,8 @@ H5PL__find_plugin_in_path(const H5PL_search_params_t *search_params, hbool_t *fo
/* Open the directory */
if (!(dirp = HDopendir(dir)))
- HGOTO_ERROR(H5E_PLUGIN, H5E_OPENERROR, FAIL, "can't open directory: %s", dir)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_OPENERROR, FAIL, "can't open directory (%s). Please verify its existence",
+ dir)
/* Iterate through all entries in the directory */
while (NULL != (dp = HDreaddir(dirp))) {