diff options
author | Larry Knox <lrknox@hdfgroup.org> | 2019-10-09 20:46:35 (GMT) |
---|---|---|
committer | Larry Knox <lrknox@hdfgroup.org> | 2019-10-09 20:46:35 (GMT) |
commit | 5c61be3de285b3a9a63d623944e13892a8a8cb94 (patch) | |
tree | a5d0ff88782ab0ebdd046f6834ad6c20839981a4 /src/H5Fint.c | |
parent | daf2b836eeec857b2de4d70bc58abeb16d25eee0 (diff) | |
parent | 984c1bacd93c2f782c75c02d88d6e5c0362c74d0 (diff) | |
download | hdf5-5c61be3de285b3a9a63d623944e13892a8a8cb94.zip hdf5-5c61be3de285b3a9a63d623944e13892a8a8cb94.tar.gz hdf5-5c61be3de285b3a9a63d623944e13892a8a8cb94.tar.bz2 |
Merge branch 'hdf5_1_12' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into hdf5_1_12
Diffstat (limited to 'src/H5Fint.c')
-rw-r--r-- | src/H5Fint.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/H5Fint.c b/src/H5Fint.c index 5e2cf26..2ebcd94 100644 --- a/src/H5Fint.c +++ b/src/H5Fint.c @@ -139,18 +139,14 @@ H5F__set_vol_conn(H5F_t *file) /* Sanity check */ HDassert(0 != connector_prop.connector_id); - /* Copy connector info, if it exists */ - if(connector_prop.connector_info) { - H5VL_class_t *connector; /* Pointer to connector */ + /* Retrieve the connector for the ID */ + if(NULL == (file->shared->vol_cls = (H5VL_class_t *)H5I_object(connector_prop.connector_id))) + HGOTO_ERROR(H5E_FILE, H5E_BADTYPE, FAIL, "not a VOL connector ID") - /* Retrieve the connector for the ID */ - if(NULL == (connector = (H5VL_class_t *)H5I_object(connector_prop.connector_id))) - HGOTO_ERROR(H5E_FILE, H5E_BADTYPE, FAIL, "not a VOL connector ID") - - /* Allocate and copy connector info */ - if(H5VL_copy_connector_info(connector, &new_connector_info, connector_prop.connector_info) < 0) + /* Allocate and copy connector info, if it exists */ + if(connector_prop.connector_info) + if(H5VL_copy_connector_info(file->shared->vol_cls, &new_connector_info, connector_prop.connector_info) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTCOPY, FAIL, "connector info copy failed") - } /* end if */ /* Cache the connector ID & info for the container */ file->shared->vol_id = connector_prop.connector_id; @@ -1377,6 +1373,7 @@ H5F__dest(H5F_t *f, hbool_t flush) if(H5I_dec_ref(f->shared->vol_id) < 0) /* Push error, but keep going*/ HDONE_ERROR(H5E_FILE, H5E_CANTDEC, FAIL, "can't close VOL connector ID") + f->shared->vol_cls = NULL; /* Close the file */ if(H5FD_close(f->shared->lf) < 0) |