mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-21 01:04:10 +08:00
Rename H5VL_ID_GET_NAME to H5VL_OBJECT_GET_NAME
Implement native H5VL_OBJECT_GET_NAME by addr
This commit is contained in:
parent
6eaef5ebd6
commit
982ed75720
@ -2186,7 +2186,7 @@ H5Iget_name(hid_t id, char *name/*out*/, size_t size)
|
||||
loc_params.obj_type = H5I_get_type(id);
|
||||
|
||||
/* Retrieve object's name */
|
||||
if(H5VL_object_get(vol_obj, &loc_params, H5VL_ID_GET_NAME, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, &ret_value, name, size) < 0)
|
||||
if(H5VL_object_get(vol_obj, &loc_params, H5VL_OBJECT_GET_NAME, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, &ret_value, name, size) < 0)
|
||||
HGOTO_ERROR(H5E_ATOM, H5E_CANTGET, (-1), "can't retrieve object name")
|
||||
|
||||
done:
|
||||
|
@ -213,17 +213,32 @@ H5VL__native_object_get(void *obj, const H5VL_loc_params_t *loc_params, H5VL_obj
|
||||
break;
|
||||
}
|
||||
|
||||
/* H5Iget_name */
|
||||
case H5VL_ID_GET_NAME:
|
||||
/* Object name */
|
||||
case H5VL_OBJECT_GET_NAME:
|
||||
{
|
||||
ssize_t *ret = HDva_arg(arguments, ssize_t *);
|
||||
char *name = HDva_arg(arguments, char *);
|
||||
size_t size = HDva_arg(arguments, size_t);
|
||||
|
||||
/* Retrieve object's name */
|
||||
if((*ret = H5G_get_name(&loc, name, size, NULL)) < 0)
|
||||
HGOTO_ERROR(H5E_ATOM, H5E_CANTGET, FAIL, "can't retrieve object name")
|
||||
if(loc_params->type == H5VL_OBJECT_BY_SELF) {
|
||||
/* Retrieve object's name */
|
||||
if((*ret = H5G_get_name(&loc, name, size, NULL)) < 0)
|
||||
HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't retrieve object name")
|
||||
} /* end if */
|
||||
else if(loc_params->type == H5VL_OBJECT_BY_ADDR) {
|
||||
H5O_loc_t obj_oloc; /* Object location */
|
||||
|
||||
/* Initialize the object location */
|
||||
H5O_loc_reset(&obj_oloc);
|
||||
obj_oloc.file = loc.oloc->file;
|
||||
obj_oloc.addr = loc_params->loc_data.loc_by_addr.addr;
|
||||
|
||||
/* Retrieve object's name */
|
||||
if((*ret = H5G_get_name_by_addr(loc.oloc->file, &obj_oloc, name, size)) < 0)
|
||||
HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't determine object name")
|
||||
} /* end else-if */
|
||||
else
|
||||
HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "unknown get_name parameters")
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -146,7 +146,7 @@ typedef enum H5VL_object_get_t {
|
||||
H5VL_REF_GET_NAME, /* object name, for reference */
|
||||
H5VL_REF_GET_REGION, /* dataspace of region */
|
||||
H5VL_REF_GET_TYPE, /* type of object */
|
||||
H5VL_ID_GET_NAME /* object name, for hid_t */
|
||||
H5VL_OBJECT_GET_NAME /* object name */
|
||||
} H5VL_object_get_t;
|
||||
|
||||
/* types for object SPECIFIC callback */
|
||||
|
@ -2905,8 +2905,8 @@ H5_trace(const double *returning, const char *func, const char *type, ...)
|
||||
case H5VL_REF_GET_NAME:
|
||||
HDfprintf(out, "H5VL_REF_GET_NAME");
|
||||
break;
|
||||
case H5VL_ID_GET_NAME:
|
||||
HDfprintf(out, "H5VL_ID_GET_NAME");
|
||||
case H5VL_OBJECT_GET_NAME:
|
||||
HDfprintf(out, "H5VL_OBJECT_GET_NAME");
|
||||
break;
|
||||
default:
|
||||
HDfprintf(out, "%ld", (long)get);
|
||||
|
Loading…
Reference in New Issue
Block a user