summaryrefslogtreecommitdiffstats
path: root/src/H5Ocopy.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2014-09-05 21:36:55 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2014-09-05 21:36:55 (GMT)
commit05d51c036140f94a07efb75aab9675b3b4bd5ef0 (patch)
tree5fe046db1c355df5c771077164ba6d6c1f272866 /src/H5Ocopy.c
parentf2e6cec0728a75f5982e3b6d91f0ce823d1206a6 (diff)
downloadhdf5-05d51c036140f94a07efb75aab9675b3b4bd5ef0.zip
hdf5-05d51c036140f94a07efb75aab9675b3b4bd5ef0.tar.gz
hdf5-05d51c036140f94a07efb75aab9675b3b4bd5ef0.tar.bz2
[svn-r25575] cleanup H5I usage in VOL by removing the use of the aux pointer and
make a higher level wrapper object around all VOL objects that includes the VOL information.
Diffstat (limited to 'src/H5Ocopy.c')
-rw-r--r--src/H5Ocopy.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/src/H5Ocopy.c b/src/H5Ocopy.c
index 7ba1c07..6975397 100644
--- a/src/H5Ocopy.c
+++ b/src/H5Ocopy.c
@@ -205,11 +205,9 @@ herr_t
H5Ocopy(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id,
const char *dst_name, hid_t ocpypl_id, hid_t lcpl_id)
{
- void *obj1 = NULL; /* object token of src_id */
- H5VL_t *vol_plugin1; /* VOL plugin information */
+ H5VL_object_t *obj1 = NULL; /* object token of src_id */
H5VL_loc_params_t loc_params1;
- void *obj2 = NULL; /* object token of dst_id */
- H5VL_t *vol_plugin2; /* VOL plugin information */
+ H5VL_object_t *obj2 = NULL; /* object token of dst_id */
H5VL_loc_params_t loc_params2;
herr_t ret_value = SUCCEED; /* Return value */
@@ -234,26 +232,20 @@ H5Ocopy(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id,
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not object copy property list")
/* get the object */
- if(NULL == (obj1 = (void *)H5I_object(src_loc_id)))
+ if(NULL == (obj1 = (H5VL_object_t *)H5I_object(src_loc_id)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
- /* get the plugin pointer */
- if (NULL == (vol_plugin1 = (H5VL_t *)H5I_get_aux(src_loc_id)))
- HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "src ID does not contain VOL information")
loc_params1.type = H5VL_OBJECT_BY_SELF;
loc_params1.obj_type = H5I_get_type(src_loc_id);
/* get the object */
- if(NULL == (obj2 = (void *)H5I_object(dst_loc_id)))
+ if(NULL == (obj2 = (H5VL_object_t *)H5I_object(dst_loc_id)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
- /* get the plugin pointer */
- if (NULL == (vol_plugin2 = (H5VL_t *)H5I_get_aux(dst_loc_id)))
- HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "dst ID does not contain VOL information")
loc_params2.type = H5VL_OBJECT_BY_SELF;
loc_params2.obj_type = H5I_get_type(dst_loc_id);
/* Open the object through the VOL */
- if((ret_value = H5VL_object_copy(obj1, loc_params1, vol_plugin1->cls, src_name,
- obj2, loc_params2, vol_plugin2->cls, dst_name,
+ if((ret_value = H5VL_object_copy(obj1->vol_obj, loc_params1, obj1->vol_info->vol_cls, src_name,
+ obj2->vol_obj, loc_params2, obj2->vol_info->vol_cls, dst_name,
ocpypl_id, lcpl_id, H5AC_dxpl_id, H5_REQUEST_NULL)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to copy object")
@@ -1551,7 +1543,7 @@ H5O_copy_search_comm_dt_attr_cb(const H5A_t *attr, void *_udata)
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't get attribute datatype")
/* Check if the datatype is committed and search the skip list if so */
- if(H5T_committed(dt)) {
+ if(H5T_is_named(dt)) {
/* Allocate key */
if(NULL == (key = H5FL_MALLOC(H5O_copy_search_comm_dt_key_t)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
@@ -1674,7 +1666,7 @@ H5O_copy_search_comm_dt_check(H5O_loc_t *obj_oloc,
/* Check if the datatype is committed and search the skip list if so
*/
- if(H5T_committed(key->dt)) {
+ if(H5T_is_named(key->dt)) {
/* Get datatype object fileno */
H5F_GET_FILENO(obj_oloc->file, key->fileno);