diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2016-02-08 20:12:07 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2016-02-08 20:12:07 (GMT) |
commit | f1283d59b061cde641f2c24d23f01efbca46ad2f (patch) | |
tree | f60069bc593bb55324b36baa665fa2e644e8baff /src/H5R.c | |
parent | 0461830ee3a7eea419fbb6629c47e40c27aaf6f8 (diff) | |
parent | c418bc964d20d4603eaa830051bfab8ebed0f55c (diff) | |
download | hdf5-f1283d59b061cde641f2c24d23f01efbca46ad2f.zip hdf5-f1283d59b061cde641f2c24d23f01efbca46ad2f.tar.gz hdf5-f1283d59b061cde641f2c24d23f01efbca46ad2f.tar.bz2 |
[svn-r29066] - fixing some of the internal usage of dxpls.
- merge from trunk.
Diffstat (limited to 'src/H5R.c')
-rw-r--r-- | src/H5R.c | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -541,12 +541,6 @@ H5R_dereference(H5F_t *file, hid_t oapl_id, hid_t dxpl_id, H5R_type_t ref_type, { H5D_t *dset; /* Pointer to dataset to open */ - /* Get correct property list */ - if(H5P_DEFAULT == oapl_id) - oapl_id = H5P_DATASET_ACCESS_DEFAULT; - else if(TRUE != H5P_isa_class(oapl_id, H5P_DATASET_ACCESS)) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not dataset access property list") - /* Open the dataset */ if(NULL == (dset = H5D_open(&loc, oapl_id, dxpl_id))) HGOTO_ERROR(H5E_DATASET, H5E_NOTFOUND, FAIL, "not found") @@ -602,6 +596,7 @@ H5Rdereference2(hid_t obj_id, hid_t oapl_id, H5R_type_t ref_type, const void *_r { H5G_loc_t loc; /* Group location */ H5F_t *file = NULL; /* File object */ + hid_t dxpl_id = H5AC_dxpl_id; /* dxpl used by library */ hid_t ret_value; FUNC_ENTER_API(FAIL) @@ -616,12 +611,16 @@ H5Rdereference2(hid_t obj_id, hid_t oapl_id, H5R_type_t ref_type, const void *_r HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid reference type") if(_ref == NULL) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid reference pointer") + + /* Verify access property list and get correct dxpl */ + if(H5P_verify_apl_and_dxpl(&oapl_id, H5P_CLS_DACC, &dxpl_id, obj_id, FALSE) < 0) + HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't set access and transfer property lists") /* Get the file pointer from the entry */ file = loc.oloc->file; /* Create reference */ - if((ret_value = H5R_dereference(file, oapl_id, H5AC_dxpl_id, ref_type, _ref, TRUE)) < 0) + if((ret_value = H5R_dereference(file, oapl_id, dxpl_id, ref_type, _ref, TRUE)) < 0) HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "unable to dereference object") done: |