diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 14:04:36 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 14:04:36 (GMT) |
commit | f1ba03cea5b82699a984c80bd2deac14fdc8df18 (patch) | |
tree | ebe777c3e0b83f4c4cec9212731da9ebe0a0cfd3 /src/H5VLint.c | |
parent | 10343c197906415388f2a4c8d292e21d25cf7381 (diff) | |
download | hdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.zip hdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.tar.gz hdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.tar.bz2 |
Source formatted
Diffstat (limited to 'src/H5VLint.c')
-rw-r--r-- | src/H5VLint.c | 828 |
1 files changed, 390 insertions, 438 deletions
diff --git a/src/H5VLint.c b/src/H5VLint.c index 861629f..b1c690a 100644 --- a/src/H5VLint.c +++ b/src/H5VLint.c @@ -17,52 +17,48 @@ * a specific file format, or remotely on other machines, etc... */ - /****************/ /* Module Setup */ /****************/ -#include "H5VLmodule.h" /* This source code file is part of the H5VL module */ - +#include "H5VLmodule.h" /* This source code file is part of the H5VL module */ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Aprivate.h" /* Attributes */ -#include "H5CXprivate.h" /* API Contexts */ -#include "H5Dprivate.h" /* Datasets */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5Fprivate.h" /* Files */ -#include "H5FLprivate.h" /* Free lists */ -#include "H5Gprivate.h" /* Groups */ -#include "H5Iprivate.h" /* IDs */ -#include "H5Mprivate.h" /* Maps */ -#include "H5MMprivate.h" /* Memory management */ -#include "H5PLprivate.h" /* Plugins */ -#include "H5Tprivate.h" /* Datatypes */ -#include "H5VLpkg.h" /* Virtual Object Layer */ +#include "H5private.h" /* Generic Functions */ +#include "H5Aprivate.h" /* Attributes */ +#include "H5CXprivate.h" /* API Contexts */ +#include "H5Dprivate.h" /* Datasets */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5Fprivate.h" /* Files */ +#include "H5FLprivate.h" /* Free lists */ +#include "H5Gprivate.h" /* Groups */ +#include "H5Iprivate.h" /* IDs */ +#include "H5Mprivate.h" /* Maps */ +#include "H5MMprivate.h" /* Memory management */ +#include "H5PLprivate.h" /* Plugins */ +#include "H5Tprivate.h" /* Datatypes */ +#include "H5VLpkg.h" /* Virtual Object Layer */ /* VOL connectors */ -#include "H5VLnative.h" /* Native VOL connector */ -#include "H5VLpassthru.h" /* Pass-through VOL connector */ - +#include "H5VLnative.h" /* Native VOL connector */ +#include "H5VLpassthru.h" /* Pass-through VOL connector */ /****************/ /* Local Macros */ /****************/ - /******************/ /* Local Typedefs */ /******************/ /* Object wrapping context info */ typedef struct H5VL_wrap_ctx_t { - unsigned rc; /* Ref. count for the # of times the context was set / reset */ - H5VL_t *connector; /* VOL connector for "outermost" class to start wrap */ - void *obj_wrap_ctx; /* "wrap context" for outermost connector */ + unsigned rc; /* Ref. count for the # of times the context was set / reset */ + H5VL_t * connector; /* VOL connector for "outermost" class to start wrap */ + void * obj_wrap_ctx; /* "wrap context" for outermost connector */ } H5VL_wrap_ctx_t; /* Information needed for iterating over the registered VOL connector hid_t IDs. @@ -73,36 +69,33 @@ typedef struct H5VL_wrap_ctx_t { */ typedef struct { /* IN */ - H5VL_get_connector_kind_t kind; /* Which kind of connector search to make */ + H5VL_get_connector_kind_t kind; /* Which kind of connector search to make */ union { - const char *name; /* The name of the VOL connector to check */ - H5VL_class_value_t value; /* The value of the VOL connector to check */ + const char * name; /* The name of the VOL connector to check */ + H5VL_class_value_t value; /* The value of the VOL connector to check */ } u; /* OUT */ - hid_t found_id; /* The connector ID, if we found a match */ + hid_t found_id; /* The connector ID, if we found a match */ } H5VL_get_connector_ud_t; - /********************/ /* Package Typedefs */ /********************/ - /********************/ /* Local Prototypes */ /********************/ -static herr_t H5VL__free_cls(H5VL_class_t *cls); -static int H5VL__get_connector_cb(void *obj, hid_t id, void *_op_data); -static herr_t H5VL__set_def_conn(void); -static void *H5VL__wrap_obj(void *obj, H5I_type_t obj_type); -static H5VL_object_t *H5VL__new_vol_obj(H5I_type_t type, void *object, - H5VL_t *vol_connector, hbool_t wrap_obj); -static int64_t H5VL__conn_inc_rc(H5VL_t *connector); -static int64_t H5VL__conn_dec_rc(H5VL_t *connector); -static void *H5VL__object(hid_t id, H5I_type_t obj_type); -static herr_t H5VL__free_vol_wrapper(H5VL_wrap_ctx_t *vol_wrap_ctx); - +static herr_t H5VL__free_cls(H5VL_class_t *cls); +static int H5VL__get_connector_cb(void *obj, hid_t id, void *_op_data); +static herr_t H5VL__set_def_conn(void); +static void * H5VL__wrap_obj(void *obj, H5I_type_t obj_type); +static H5VL_object_t *H5VL__new_vol_obj(H5I_type_t type, void *object, H5VL_t *vol_connector, + hbool_t wrap_obj); +static int64_t H5VL__conn_inc_rc(H5VL_t *connector); +static int64_t H5VL__conn_dec_rc(H5VL_t *connector); +static void * H5VL__object(hid_t id, H5I_type_t obj_type); +static herr_t H5VL__free_vol_wrapper(H5VL_wrap_ctx_t *vol_wrap_ctx); /*********************/ /* Package Variables */ @@ -111,22 +104,20 @@ static herr_t H5VL__free_vol_wrapper(H5VL_wrap_ctx_t *vol_wrap_ctx); /* Package initialization variable */ hbool_t H5_PKG_INIT_VAR = FALSE; - /*****************************/ /* Library Private Variables */ /*****************************/ - /*******************/ /* Local Variables */ /*******************/ /* VOL ID class */ static const H5I_class_t H5I_VOL_CLS[1] = {{ - H5I_VOL, /* ID class value */ - 0, /* Class flags */ - 0, /* # of reserved IDs for class */ - (H5I_free_t)H5VL__free_cls /* Callback routine for closing objects of this class */ + H5I_VOL, /* ID class value */ + 0, /* Class flags */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5VL__free_cls /* Callback routine for closing objects of this class */ }}; /* Declare a free list to manage the H5VL_class_t struct */ @@ -144,8 +135,6 @@ H5FL_DEFINE_STATIC(H5VL_wrap_ctx_t); /* Default VOL connector */ static H5VL_connector_prop_t H5VL_def_conn_s = {-1, NULL}; - - /*------------------------------------------------------------------------- * Function: H5VL_init_phase1 * @@ -163,7 +152,7 @@ static H5VL_connector_prop_t H5VL_def_conn_s = {-1, NULL}; herr_t H5VL_init_phase1(void) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -173,7 +162,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_init_phase1() */ - /*------------------------------------------------------------------------- * Function: H5VL_init_phase2 * @@ -190,33 +178,32 @@ done: herr_t H5VL_init_phase2(void) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) /* Initialize all packages for VOL-managed objects */ - if(H5T_init() < 0) + if (H5T_init() < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "unable to initialize datatype interface") - if(H5D_init() < 0) + if (H5D_init() < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "unable to initialize dataset interface") - if(H5F_init() < 0) + if (H5F_init() < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "unable to initialize file interface") - if(H5G_init() < 0) + if (H5G_init() < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "unable to initialize group interface") - if(H5A_init() < 0) + if (H5A_init() < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "unable to initialize attribute interface") - if(H5M_init() < 0) + if (H5M_init() < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "unable to initialize map interface") /* Set up the default VOL connector in the default FAPL */ - if(H5VL__set_def_conn() < 0) + if (H5VL__set_def_conn() < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "unable to set default VOL connector") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_init_phase2() */ - /*------------------------------------------------------------------------- * Function: H5VL__init_package * @@ -231,19 +218,18 @@ done: herr_t H5VL__init_package(void) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE /* Initialize the atom group for the VL IDs */ - if(H5I_register_type(H5I_VOL_CLS) < 0) + if (H5I_register_type(H5I_VOL_CLS) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "unable to initialize H5VL interface") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__init_package() */ - /*------------------------------------------------------------------------- * Function: H5VL_term_package * @@ -258,20 +244,20 @@ done: int H5VL_term_package(void) { - int n = 0; + int n = 0; FUNC_ENTER_NOAPI_NOINIT_NOERR - if(H5_PKG_INIT_VAR) { - if(H5VL_def_conn_s.connector_id > 0) { + if (H5_PKG_INIT_VAR) { + if (H5VL_def_conn_s.connector_id > 0) { /* Release the default VOL connector */ (void)H5VL_conn_free(&H5VL_def_conn_s); - H5VL_def_conn_s.connector_id = -1; + H5VL_def_conn_s.connector_id = -1; H5VL_def_conn_s.connector_info = NULL; n++; } /* end if */ else { - if(H5I_nmembers(H5I_VOL) > 0) { + if (H5I_nmembers(H5I_VOL) > 0) { /* Unregister all VOL connectors */ (void)H5I_clear_type(H5I_VOL, TRUE, FALSE); n++; @@ -281,16 +267,15 @@ H5VL_term_package(void) n += (H5I_dec_type_ref(H5I_VOL) > 0); /* Mark interface as closed */ - if(0 == n) + if (0 == n) H5_PKG_INIT_VAR = FALSE; } /* end else */ - } /* end else */ - } /* end if */ + } /* end else */ + } /* end if */ FUNC_LEAVE_NOAPI(n) } /* end H5VL_term_package() */ - /*------------------------------------------------------------------------- * Function: H5VL__free_cls * @@ -314,7 +299,7 @@ H5VL__free_cls(H5VL_class_t *cls) HDassert(cls); /* Shut down the VOL connector */ - if(cls->terminate && cls->terminate() < 0) + if (cls->terminate && cls->terminate() < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTCLOSEOBJ, FAIL, "VOL connector did not terminate cleanly") /* Release the class */ @@ -325,7 +310,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__free_cls() */ - /*------------------------------------------------------------------------- * Function: H5VL__get_connector_cb * @@ -343,30 +327,29 @@ done: static int H5VL__get_connector_cb(void *obj, hid_t id, void *_op_data) { - H5VL_get_connector_ud_t *op_data = (H5VL_get_connector_ud_t *)_op_data; /* User data for callback */ - H5VL_class_t *cls = (H5VL_class_t *)obj; - int ret_value = H5_ITER_CONT; /* Callback return value */ + H5VL_get_connector_ud_t *op_data = (H5VL_get_connector_ud_t *)_op_data; /* User data for callback */ + H5VL_class_t * cls = (H5VL_class_t *)obj; + int ret_value = H5_ITER_CONT; /* Callback return value */ FUNC_ENTER_STATIC_NOERR - if(H5VL_GET_CONNECTOR_BY_NAME == op_data->kind) { - if(0 == HDstrcmp(cls->name, op_data->u.name)) { + if (H5VL_GET_CONNECTOR_BY_NAME == op_data->kind) { + if (0 == HDstrcmp(cls->name, op_data->u.name)) { op_data->found_id = id; - ret_value = H5_ITER_STOP; + ret_value = H5_ITER_STOP; } /* end if */ - } /* end if */ + } /* end if */ else { HDassert(H5VL_GET_CONNECTOR_BY_VALUE == op_data->kind); - if(cls->value == op_data->u.value) { + if (cls->value == op_data->u.value) { op_data->found_id = id; - ret_value = H5_ITER_STOP; + ret_value = H5_ITER_STOP; } /* end if */ - } /* end else */ + } /* end else */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__get_connector_cb() */ - /*------------------------------------------------------------------------- * Function: H5VL__set_def_conn * @@ -387,13 +370,13 @@ H5VL__get_connector_cb(void *obj, hid_t id, void *_op_data) static herr_t H5VL__set_def_conn(void) { - H5P_genplist_t *def_fapl; /* Default file access property list */ - H5P_genclass_t *def_fapclass; /* Default file access property class */ - const char *env_var; /* Environment variable for default VOL connector */ - char *buf = NULL; /* Buffer for tokenizing string */ - hid_t connector_id = -1; /* VOL conntector ID */ - void *vol_info = NULL; /* VOL connector info */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_genplist_t *def_fapl; /* Default file access property list */ + H5P_genclass_t *def_fapclass; /* Default file access property class */ + const char * env_var; /* Environment variable for default VOL connector */ + char * buf = NULL; /* Buffer for tokenizing string */ + hid_t connector_id = -1; /* VOL conntector ID */ + void * vol_info = NULL; /* VOL connector info */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -405,93 +388,95 @@ H5VL__set_def_conn(void) env_var = HDgetenv("HDF5_VOL_CONNECTOR"); /* Only parse the string if it's set */ - if(env_var && *env_var) { - char *lasts = NULL; /* Context pointer for strtok_r() call */ - const char *tok = NULL; /* Token from strtok_r call */ - htri_t connector_is_registered; /* Whether connector is already registered */ + if (env_var && *env_var) { + char * lasts = NULL; /* Context pointer for strtok_r() call */ + const char *tok = NULL; /* Token from strtok_r call */ + htri_t connector_is_registered; /* Whether connector is already registered */ /* Duplicate the string to parse, as it is modified as we go */ - if(NULL == (buf = H5MM_strdup(env_var))) + if (NULL == (buf = H5MM_strdup(env_var))) HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, FAIL, "can't allocate memory for environment variable string") /* Get the first 'word' of the environment variable. * If it's nothing (environment variable was whitespace) return error. */ - if(NULL == (tok = HDstrtok_r(buf, " \t\n\r", &lasts))) + if (NULL == (tok = HDstrtok_r(buf, " \t\n\r", &lasts))) HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, FAIL, "VOL connector environment variable set empty?") /* First, check to see if the connector is already registered */ - if((connector_is_registered = H5VL__is_connector_registered_by_name(tok)) < 0) + if ((connector_is_registered = H5VL__is_connector_registered_by_name(tok)) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't check if VOL connector already registered") - else if(connector_is_registered) { + else if (connector_is_registered) { /* Retrieve the ID of the already-registered VOL connector */ - if((connector_id = H5VL__get_connector_id_by_name(tok, FALSE)) < 0) + if ((connector_id = H5VL__get_connector_id_by_name(tok, FALSE)) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get VOL connector ID") } /* end else-if */ else { /* Check for VOL connectors that ship with the library */ - if(!HDstrcmp(tok, "native")) { + if (!HDstrcmp(tok, "native")) { connector_id = H5VL_NATIVE; - if(H5I_inc_ref(connector_id, FALSE) < 0) + if (H5I_inc_ref(connector_id, FALSE) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINC, FAIL, "can't increment VOL connector refcount") } /* end if */ - else if(!HDstrcmp(tok, "pass_through")) { + else if (!HDstrcmp(tok, "pass_through")) { connector_id = H5VL_PASSTHRU; - if(H5I_inc_ref(connector_id, FALSE) < 0) + if (H5I_inc_ref(connector_id, FALSE) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINC, FAIL, "can't increment VOL connector refcount") } /* end else-if */ else { /* Register the VOL connector */ /* (NOTE: No provisions for vipl_id currently) */ - if((connector_id = H5VL__register_connector_by_name(tok, TRUE, H5P_VOL_INITIALIZE_DEFAULT)) < 0) + if ((connector_id = H5VL__register_connector_by_name(tok, TRUE, H5P_VOL_INITIALIZE_DEFAULT)) < + 0) HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, FAIL, "can't register connector") } /* end else */ - } /* end else */ + } /* end else */ /* Was there any connector info specified in the environment variable? */ - if(NULL != (tok = HDstrtok_r(NULL, " \t\n\r", &lasts))) - if(H5VL__connector_str_to_info(tok, connector_id, &vol_info) < 0) + if (NULL != (tok = HDstrtok_r(NULL, " \t\n\r", &lasts))) + if (H5VL__connector_str_to_info(tok, connector_id, &vol_info) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTDECODE, FAIL, "can't deserialize connector info") /* Set the default VOL connector */ - H5VL_def_conn_s.connector_id = connector_id; + H5VL_def_conn_s.connector_id = connector_id; H5VL_def_conn_s.connector_info = vol_info; } /* end if */ else { /* Set the default VOL connector */ - H5VL_def_conn_s.connector_id = H5_DEFAULT_VOL; + H5VL_def_conn_s.connector_id = H5_DEFAULT_VOL; H5VL_def_conn_s.connector_info = NULL; /* Increment the ref count on the default connector */ - if(H5I_inc_ref(H5VL_def_conn_s.connector_id, FALSE) < 0) + if (H5I_inc_ref(H5VL_def_conn_s.connector_id, FALSE) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINC, FAIL, "can't increment VOL connector refcount") } /* end else */ /* Get default file access pclass */ - if(NULL == (def_fapclass = (H5P_genclass_t *)H5I_object(H5P_FILE_ACCESS))) + if (NULL == (def_fapclass = (H5P_genclass_t *)H5I_object(H5P_FILE_ACCESS))) HGOTO_ERROR(H5E_VOL, H5E_BADATOM, FAIL, "can't find object for default file access property class ID") /* Change the default VOL for the default file access pclass */ - if(H5P_reset_vol_class(def_fapclass, &H5VL_def_conn_s) < 0) - HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set default VOL connector for default file access property class") + if (H5P_reset_vol_class(def_fapclass, &H5VL_def_conn_s) < 0) + HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, + "can't set default VOL connector for default file access property class") /* Get default file access plist */ - if(NULL == (def_fapl = (H5P_genplist_t *)H5I_object(H5P_FILE_ACCESS_DEFAULT))) + if (NULL == (def_fapl = (H5P_genplist_t *)H5I_object(H5P_FILE_ACCESS_DEFAULT))) HGOTO_ERROR(H5E_VOL, H5E_BADATOM, FAIL, "can't find object for default fapl ID") /* Change the default VOL for the default FAPL */ - if(H5P_set_vol(def_fapl, H5VL_def_conn_s.connector_id, H5VL_def_conn_s.connector_info) < 0) + if (H5P_set_vol(def_fapl, H5VL_def_conn_s.connector_id, H5VL_def_conn_s.connector_info) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set default VOL connector for default FAPL") done: /* Clean up on error */ - if(ret_value < 0) { - if(vol_info) - if(H5VL_free_connector_info(connector_id, vol_info) < 0) + if (ret_value < 0) { + if (vol_info) + if (H5VL_free_connector_info(connector_id, vol_info) < 0) HDONE_ERROR(H5E_VOL, H5E_CANTRELEASE, FAIL, "can't free VOL connector info") - if(connector_id >= 0) + if (connector_id >= 0) /* The H5VL_class_t struct will be freed by this function */ - if(H5I_dec_ref(connector_id) < 0) + if (H5I_dec_ref(connector_id) < 0) HDONE_ERROR(H5E_VOL, H5E_CANTDEC, FAIL, "unable to unregister VOL connector") } /* end if */ @@ -501,7 +486,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__set_def_conn() */ - /*------------------------------------------------------------------------- * Function: H5VL__wrap_obj * @@ -519,8 +503,8 @@ done: static void * H5VL__wrap_obj(void *obj, H5I_type_t obj_type) { - H5VL_wrap_ctx_t *vol_wrap_ctx = NULL; /* Object wrapping context */ - void *ret_value = NULL; /* Return value */ + H5VL_wrap_ctx_t *vol_wrap_ctx = NULL; /* Object wrapping context */ + void * ret_value = NULL; /* Return value */ FUNC_ENTER_STATIC @@ -528,13 +512,14 @@ H5VL__wrap_obj(void *obj, H5I_type_t obj_type) HDassert(obj); /* Retrieve the VOL object wrapping context */ - if(H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0) + if (H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, NULL, "can't get VOL object wrap context") /* If there is a VOL object wrapping context, wrap the object */ - if(vol_wrap_ctx) { + if (vol_wrap_ctx) { /* Wrap object, using the VOL callback */ - if(NULL == (ret_value = H5VL_wrap_object(vol_wrap_ctx->connector->cls, vol_wrap_ctx->obj_wrap_ctx, obj, obj_type))) + if (NULL == (ret_value = H5VL_wrap_object(vol_wrap_ctx->connector->cls, vol_wrap_ctx->obj_wrap_ctx, + obj, obj_type))) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, NULL, "can't wrap object") } /* end if */ else @@ -544,7 +529,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__wrap_obj() */ - /*------------------------------------------------------------------------- * Function: H5VL__new_vol_obj * @@ -561,9 +545,9 @@ done: static H5VL_object_t * H5VL__new_vol_obj(H5I_type_t type, void *object, H5VL_t *vol_connector, hbool_t wrap_obj) { - H5VL_object_t *new_vol_obj = NULL; /* Pointer to new VOL object */ - hbool_t conn_rc_incr = FALSE; /* Whether the VOL connector refcount has been incremented */ - H5VL_object_t *ret_value = NULL; /* Return value */ + H5VL_object_t *new_vol_obj = NULL; /* Pointer to new VOL object */ + hbool_t conn_rc_incr = FALSE; /* Whether the VOL connector refcount has been incremented */ + H5VL_object_t *ret_value = NULL; /* Return value */ FUNC_ENTER_STATIC @@ -572,16 +556,16 @@ H5VL__new_vol_obj(H5I_type_t type, void *object, H5VL_t *vol_connector, hbool_t HDassert(vol_connector); /* Make sure type number is valid */ - if(type != H5I_ATTR && type != H5I_DATASET && type != H5I_DATATYPE - && type != H5I_FILE && type != H5I_GROUP && type != H5I_MAP) + if (type != H5I_ATTR && type != H5I_DATASET && type != H5I_DATATYPE && type != H5I_FILE && + type != H5I_GROUP && type != H5I_MAP) HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, NULL, "invalid type number") /* Create the new VOL object */ - if(NULL == (new_vol_obj = H5FL_CALLOC(H5VL_object_t))) + if (NULL == (new_vol_obj = H5FL_CALLOC(H5VL_object_t))) HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, NULL, "can't allocate memory for VOL object") new_vol_obj->connector = vol_connector; - if(wrap_obj) { - if(NULL == (new_vol_obj->data = H5VL__wrap_obj(object, type))) + if (wrap_obj) { + if (NULL == (new_vol_obj->data = H5VL__wrap_obj(object, type))) HGOTO_ERROR(H5E_VOL, H5E_CANTCREATE, NULL, "can't wrap library object") } /* end if */ else @@ -592,8 +576,8 @@ H5VL__new_vol_obj(H5I_type_t type, void *object, H5VL_t *vol_connector, hbool_t conn_rc_incr = TRUE; /* If this is a datatype, we have to hide the VOL object under the H5T_t pointer */ - if(H5I_DATATYPE == type) { - if(NULL == (ret_value = (H5VL_object_t *)H5T_construct_datatype(new_vol_obj))) + if (H5I_DATATYPE == type) { + if (NULL == (ret_value = (H5VL_object_t *)H5T_construct_datatype(new_vol_obj))) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, NULL, "can't construct datatype object") } /* end if */ else @@ -601,15 +585,14 @@ H5VL__new_vol_obj(H5I_type_t type, void *object, H5VL_t *vol_connector, hbool_t done: /* Cleanup on error */ - if(NULL == ret_value) { - if(conn_rc_incr && H5VL__conn_dec_rc(vol_connector) < 0) + if (NULL == ret_value) { + if (conn_rc_incr && H5VL__conn_dec_rc(vol_connector) < 0) HDONE_ERROR(H5E_VOL, H5E_CANTDEC, NULL, "unable to decrement ref count on VOL connector") } /* end if */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__new_vol_obj() */ - /*------------------------------------------------------------------------- * Function: H5VL_conn_copy * @@ -625,41 +608,41 @@ done: herr_t H5VL_conn_copy(H5VL_connector_prop_t *connector_prop) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) - if(connector_prop) { + if (connector_prop) { /* Copy the connector ID & info, if there is one */ - if(connector_prop->connector_id > 0) { + if (connector_prop->connector_id > 0) { /* Increment the reference count on connector ID and copy connector info */ - if(H5I_inc_ref(connector_prop->connector_id, FALSE) < 0) + if (H5I_inc_ref(connector_prop->connector_id, FALSE) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINC, FAIL, "unable to increment ref count on VOL connector ID") /* Copy connector info, if it exists */ - if(connector_prop->connector_info) { - H5VL_class_t *connector; /* Pointer to connector */ - void *new_connector_info = NULL; /* Copy of connector info */ + if (connector_prop->connector_info) { + H5VL_class_t *connector; /* Pointer to connector */ + void * new_connector_info = NULL; /* Copy of connector info */ /* Retrieve the connector for the ID */ - if(NULL == (connector = (H5VL_class_t *)H5I_object(connector_prop->connector_id))) + if (NULL == (connector = (H5VL_class_t *)H5I_object(connector_prop->connector_id))) HGOTO_ERROR(H5E_PLIST, 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) + if (H5VL_copy_connector_info(connector, &new_connector_info, connector_prop->connector_info) < + 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "connector info copy failed") /* Set the connector info to the copy */ connector_prop->connector_info = new_connector_info; } /* end if */ - } /* end if */ - } /* end if */ + } /* end if */ + } /* end if */ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_conn_copy() */ - /*------------------------------------------------------------------------- * Function: H5VL_conn_free * @@ -673,20 +656,21 @@ done: herr_t H5VL_conn_free(const H5VL_connector_prop_t *connector_prop) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) - if(connector_prop) { + if (connector_prop) { /* Free the connector info (if it exists) and decrement the ID */ - if(connector_prop->connector_id > 0) { - if(connector_prop->connector_info) + if (connector_prop->connector_id > 0) { + if (connector_prop->connector_info) /* Free the connector info */ - if(H5VL_free_connector_info(connector_prop->connector_id, connector_prop->connector_info) < 0) + if (H5VL_free_connector_info(connector_prop->connector_id, connector_prop->connector_info) < + 0) HGOTO_ERROR(H5E_VOL, H5E_CANTRELEASE, FAIL, "unable to release VOL connector info object") /* Decrement reference count for connector ID */ - if(H5I_dec_ref(connector_prop->connector_id) < 0) + if (H5I_dec_ref(connector_prop->connector_id) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTDEC, FAIL, "can't decrement reference count for connector ID") } } @@ -695,7 +679,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_conn_free() */ - /*------------------------------------------------------------------------- * Function: H5VL_register * @@ -711,8 +694,8 @@ done: hid_t H5VL_register(H5I_type_t type, void *object, H5VL_t *vol_connector, hbool_t app_ref) { - H5VL_object_t *vol_obj = NULL; /* VOL object wrapper for library object */ - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + H5VL_object_t *vol_obj = NULL; /* VOL object wrapper for library object */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_NOAPI(H5I_INVALID_HID) @@ -722,18 +705,17 @@ H5VL_register(H5I_type_t type, void *object, H5VL_t *vol_connector, hbool_t app_ /* Set up VOL object for the passed-in data */ /* (Does not wrap object, since it's from a VOL callback) */ - if(NULL == (vol_obj = H5VL__new_vol_obj(type, object, vol_connector, FALSE))) + if (NULL == (vol_obj = H5VL__new_vol_obj(type, object, vol_connector, FALSE))) HGOTO_ERROR(H5E_VOL, H5E_CANTCREATE, FAIL, "can't create VOL object") /* Register VOL object as _object_ type, for future object API calls */ - if((ret_value = H5I_register(type, vol_obj, app_ref)) < 0) + if ((ret_value = H5I_register(type, vol_obj, app_ref)) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to atomize handle") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_register() */ - /*------------------------------------------------------------------------- * Function: H5VL_register_using_existing_id * @@ -753,10 +735,11 @@ done: *------------------------------------------------------------------------- */ herr_t -H5VL_register_using_existing_id(H5I_type_t type, void *object, H5VL_t *vol_connector, hbool_t app_ref, hid_t existing_id) +H5VL_register_using_existing_id(H5I_type_t type, void *object, H5VL_t *vol_connector, hbool_t app_ref, + hid_t existing_id) { - H5VL_object_t *new_vol_obj = NULL; /* Pointer to new VOL object */ - herr_t ret_value = SUCCEED; /* Return value */ + H5VL_object_t *new_vol_obj = NULL; /* Pointer to new VOL object */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -766,18 +749,17 @@ H5VL_register_using_existing_id(H5I_type_t type, void *object, H5VL_t *vol_conne /* Set up VOL object for the passed-in data */ /* (Wraps object, since it's a library object) */ - if(NULL == (new_vol_obj = H5VL__new_vol_obj(type, object, vol_connector, TRUE))) + if (NULL == (new_vol_obj = H5VL__new_vol_obj(type, object, vol_connector, TRUE))) HGOTO_ERROR(H5E_VOL, H5E_CANTCREATE, FAIL, "can't create VOL object") /* Call the underlying H5I function to complete the registration */ - if(H5I_register_using_existing_id(type, new_vol_obj, app_ref, existing_id) < 0) + if (H5I_register_using_existing_id(type, new_vol_obj, app_ref, existing_id) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, FAIL, "can't register object under existing ID") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_register_using_existing_id() */ - /*------------------------------------------------------------------------- * Function: H5VL_register_using_vol_id * @@ -793,46 +775,46 @@ done: hid_t H5VL_register_using_vol_id(H5I_type_t type, void *obj, hid_t connector_id, hbool_t app_ref) { - H5VL_class_t *cls = NULL; /* VOL connector class */ - H5VL_t *connector = NULL; /* VOL connector struct */ - hbool_t conn_id_incr = FALSE; /* Whether the VOL connector ID has been incremented */ - hid_t ret_value = H5I_INVALID_HID;/* Return value */ + H5VL_class_t *cls = NULL; /* VOL connector class */ + H5VL_t * connector = NULL; /* VOL connector struct */ + hbool_t conn_id_incr = FALSE; /* Whether the VOL connector ID has been incremented */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_NOAPI(FAIL) /* Get the VOL class object from the connector's ID */ - if(NULL == (cls = (H5VL_class_t *)H5I_object_verify(connector_id, H5I_VOL))) + if (NULL == (cls = (H5VL_class_t *)H5I_object_verify(connector_id, H5I_VOL))) HGOTO_ERROR(H5E_VOL, H5E_BADTYPE, H5I_INVALID_HID, "not a VOL connector ID") /* Setup VOL info struct */ - if(NULL == (connector = H5FL_CALLOC(H5VL_t))) + if (NULL == (connector = H5FL_CALLOC(H5VL_t))) HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, H5I_INVALID_HID, "can't allocate VOL info struct") connector->cls = cls; - connector->id = connector_id; - if(H5I_inc_ref(connector->id, FALSE) < 0) + connector->id = connector_id; + if (H5I_inc_ref(connector->id, FALSE) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINC, H5I_INVALID_HID, "unable to increment ref count on VOL connector") conn_id_incr = TRUE; /* Get an ID for the VOL object */ - if((ret_value = H5VL_register(type, obj, connector, app_ref)) < 0) + if ((ret_value = H5VL_register(type, obj, connector, app_ref)) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register object handle") done: /* Clean up on error */ - if(ret_value < 0) { + if (ret_value < 0) { /* Decrement VOL connector ID ref count on error */ - if(conn_id_incr && H5I_dec_ref(connector_id) < 0) - HDONE_ERROR(H5E_VOL, H5E_CANTDEC, H5I_INVALID_HID, "unable to decrement ref count on VOL connector") + if (conn_id_incr && H5I_dec_ref(connector_id) < 0) + HDONE_ERROR(H5E_VOL, H5E_CANTDEC, H5I_INVALID_HID, + "unable to decrement ref count on VOL connector") /* Free VOL connector struct */ - if(NULL != connector) + if (NULL != connector) connector = H5FL_FREE(H5VL_t, connector); } /* end if */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_register_using_vol_id() */ - /*------------------------------------------------------------------------- * Function: H5VL_create_object_using_vol_id * @@ -848,47 +830,46 @@ done: H5VL_object_t * H5VL_create_object_using_vol_id(H5I_type_t type, void *obj, hid_t connector_id) { - H5VL_class_t *cls = NULL; /* VOL connector class */ - H5VL_t *connector = NULL; /* VOL connector struct */ - hbool_t conn_id_incr = FALSE; /* Whether the VOL connector ID has been incremented */ - H5VL_object_t *ret_value = NULL; /* Return value */ + H5VL_class_t * cls = NULL; /* VOL connector class */ + H5VL_t * connector = NULL; /* VOL connector struct */ + hbool_t conn_id_incr = FALSE; /* Whether the VOL connector ID has been incremented */ + H5VL_object_t *ret_value = NULL; /* Return value */ FUNC_ENTER_NOAPI(NULL) /* Get the VOL class object from the connector's ID */ - if(NULL == (cls = (H5VL_class_t *)H5I_object_verify(connector_id, H5I_VOL))) + if (NULL == (cls = (H5VL_class_t *)H5I_object_verify(connector_id, H5I_VOL))) HGOTO_ERROR(H5E_VOL, H5E_BADTYPE, NULL, "not a VOL connector ID") /* Setup VOL info struct */ - if(NULL == (connector = H5FL_CALLOC(H5VL_t))) + if (NULL == (connector = H5FL_CALLOC(H5VL_t))) HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, NULL, "can't allocate VOL info struct") connector->cls = cls; - connector->id = connector_id; - if(H5I_inc_ref(connector->id, FALSE) < 0) + connector->id = connector_id; + if (H5I_inc_ref(connector->id, FALSE) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINC, NULL, "unable to increment ref count on VOL connector") conn_id_incr = TRUE; /* Set up VOL object for the passed-in data */ /* (Wraps object, since it's a library object) */ - if(NULL == (ret_value = H5VL__new_vol_obj(type, obj, connector, TRUE))) + if (NULL == (ret_value = H5VL__new_vol_obj(type, obj, connector, TRUE))) HGOTO_ERROR(H5E_VOL, H5E_CANTCREATE, NULL, "can't create VOL object") done: /* Clean up on error */ - if(!ret_value) { + if (!ret_value) { /* Decrement VOL connector ID ref count on error */ - if(conn_id_incr && H5I_dec_ref(connector_id) < 0) + if (conn_id_incr && H5I_dec_ref(connector_id) < 0) HDONE_ERROR(H5E_VOL, H5E_CANTDEC, NULL, "unable to decrement ref count on VOL connector") /* Free VOL connector struct */ - if(NULL != connector) + if (NULL != connector) connector = H5FL_FREE(H5VL_t, connector); } /* end if */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_create_object_using_vol_id() */ - /*------------------------------------------------------------------------- * Function: H5VL__conn_inc_rc * @@ -915,7 +896,6 @@ H5VL__conn_inc_rc(H5VL_t *connector) FUNC_LEAVE_NOAPI(connector->nrefs) } /* end H5VL__conn_inc_rc() */ - /*------------------------------------------------------------------------- * Function: H5VL__conn_dec_rc * @@ -931,7 +911,7 @@ H5VL__conn_inc_rc(H5VL_t *connector) static int64_t H5VL__conn_dec_rc(H5VL_t *connector) { - int64_t ret_value = -1; /* Return value */ + int64_t ret_value = -1; /* Return value */ FUNC_ENTER_STATIC @@ -942,8 +922,8 @@ H5VL__conn_dec_rc(H5VL_t *connector) connector->nrefs--; /* Check for last reference */ - if(0 == connector->nrefs) { - if(H5I_dec_ref(connector->id) < 0) + if (0 == connector->nrefs) { + if (H5I_dec_ref(connector->id) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTDEC, FAIL, "unable to decrement ref count on VOL connector") H5FL_FREE(H5VL_t, connector); @@ -958,7 +938,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__conn_dec_rc() */ - /*------------------------------------------------------------------------- * Function: H5VL_free_object * @@ -972,7 +951,7 @@ done: herr_t H5VL_free_object(H5VL_object_t *vol_obj) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -980,7 +959,7 @@ H5VL_free_object(H5VL_object_t *vol_obj) HDassert(vol_obj); /* Decrement refcount on connector */ - if(H5VL__conn_dec_rc(vol_obj->connector) < 0) + if (H5VL__conn_dec_rc(vol_obj->connector) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTDEC, FAIL, "unable to decrement ref count on VOL connector") vol_obj = H5FL_FREE(H5VL_object_t, vol_obj); @@ -989,7 +968,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_free_object() */ - /*------------------------------------------------------------------------- * Function: H5VL_object_is_native * @@ -1006,10 +984,10 @@ done: herr_t H5VL_object_is_native(const H5VL_object_t *obj, hbool_t *is_native) { - const H5VL_class_t *cls; /* VOL connector class structs for object */ - const H5VL_class_t *native_cls; /* Native VOL connector class structs */ - int cmp_value; /* Comparison result */ - herr_t ret_value = SUCCEED; /* Return value */ + const H5VL_class_t *cls; /* VOL connector class structs for object */ + const H5VL_class_t *native_cls; /* Native VOL connector class structs */ + int cmp_value; /* Comparison result */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -1019,15 +997,15 @@ H5VL_object_is_native(const H5VL_object_t *obj, hbool_t *is_native) /* Retrieve the terminal connector class for the object */ cls = NULL; - if(H5VL_introspect_get_conn_cls(obj, H5VL_GET_CONN_LVL_TERM, &cls) < 0) + if (H5VL_introspect_get_conn_cls(obj, H5VL_GET_CONN_LVL_TERM, &cls) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get VOL connector class") /* Retrieve the native connector class */ - if(NULL == (native_cls = (H5VL_class_t *)H5I_object_verify(H5VL_NATIVE, H5I_VOL))) + if (NULL == (native_cls = (H5VL_class_t *)H5I_object_verify(H5VL_NATIVE, H5I_VOL))) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't retrieve native VOL connector class") /* Compare connector classes */ - if(H5VL_cmp_connector_cls(&cmp_value, cls, native_cls) < 0) + if (H5VL_cmp_connector_cls(&cmp_value, cls, native_cls) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTCOMPARE, FAIL, "can't compare connector classes") /* If classes compare equal, then the object is / is in a native connector's file */ @@ -1037,7 +1015,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_object_is_native() */ - /*------------------------------------------------------------------------- * Function: H5VL_file_is_same * @@ -1051,13 +1028,12 @@ done: *------------------------------------------------------------------------- */ herr_t -H5VL_file_is_same(const H5VL_object_t *vol_obj1, const H5VL_object_t *vol_obj2, - hbool_t *same_file) +H5VL_file_is_same(const H5VL_object_t *vol_obj1, const H5VL_object_t *vol_obj2, hbool_t *same_file) { - const H5VL_class_t *cls1; /* VOL connector class struct for first object */ - const H5VL_class_t *cls2; /* VOL connector class struct for second object */ - int cmp_value; /* Comparison result */ - herr_t ret_value = SUCCEED; /* Return value */ + const H5VL_class_t *cls1; /* VOL connector class struct for first object */ + const H5VL_class_t *cls2; /* VOL connector class struct for second object */ + int cmp_value; /* Comparison result */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -1068,28 +1044,29 @@ H5VL_file_is_same(const H5VL_object_t *vol_obj1, const H5VL_object_t *vol_obj2, /* Retrieve the terminal connectors for each object */ cls1 = NULL; - if(H5VL_introspect_get_conn_cls(vol_obj1, H5VL_GET_CONN_LVL_TERM, &cls1) < 0) + if (H5VL_introspect_get_conn_cls(vol_obj1, H5VL_GET_CONN_LVL_TERM, &cls1) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get VOL connector class") cls2 = NULL; - if(H5VL_introspect_get_conn_cls(vol_obj2, H5VL_GET_CONN_LVL_TERM, &cls2) < 0) + if (H5VL_introspect_get_conn_cls(vol_obj2, H5VL_GET_CONN_LVL_TERM, &cls2) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get VOL connector class") /* Compare connector classes */ - if(H5VL_cmp_connector_cls(&cmp_value, cls1, cls2) < 0) + if (H5VL_cmp_connector_cls(&cmp_value, cls1, cls2) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTCOMPARE, FAIL, "can't compare connector classes") /* If the connector classes are different, the files are different */ - if(cmp_value) + if (cmp_value) *same_file = FALSE; else { - void *obj2; /* Terminal object for second file */ + void *obj2; /* Terminal object for second file */ /* Get unwrapped (terminal) object for vol_obj2 */ - if(NULL == (obj2 = H5VL_object_data(vol_obj2))) + if (NULL == (obj2 = H5VL_object_data(vol_obj2))) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get unwrapped object") /* Make callback */ - if(H5VL_file_specific(vol_obj1, H5VL_FILE_IS_EQUAL, H5P_DATASET_XFER_DEFAULT, NULL, obj2, same_file) < 0) + if (H5VL_file_specific(vol_obj1, H5VL_FILE_IS_EQUAL, H5P_DATASET_XFER_DEFAULT, NULL, obj2, + same_file) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTOPERATE, FAIL, "file specific failed") } /* end else */ @@ -1097,7 +1074,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_file_is_same() */ - /*------------------------------------------------------------------------- * Function: H5VL_register_connector * @@ -1117,9 +1093,9 @@ done: hid_t H5VL_register_connector(const void *_cls, hbool_t app_ref, hid_t vipl_id) { - const H5VL_class_t *cls = (const H5VL_class_t *)_cls; - H5VL_class_t *saved = NULL; - hid_t ret_value = H5I_INVALID_HID; + const H5VL_class_t *cls = (const H5VL_class_t *)_cls; + H5VL_class_t * saved = NULL; + hid_t ret_value = H5I_INVALID_HID; FUNC_ENTER_NOAPI(H5I_INVALID_HID) @@ -1127,23 +1103,25 @@ H5VL_register_connector(const void *_cls, hbool_t app_ref, hid_t vipl_id) HDassert(cls); /* Copy the class structure so the caller can reuse or free it */ - if(NULL == (saved = H5FL_MALLOC(H5VL_class_t))) - HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, H5I_INVALID_HID, "memory allocation failed for VOL connector class struct") + if (NULL == (saved = H5FL_MALLOC(H5VL_class_t))) + HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, H5I_INVALID_HID, + "memory allocation failed for VOL connector class struct") H5MM_memcpy(saved, cls, sizeof(H5VL_class_t)); - if(NULL == (saved->name = H5MM_strdup(cls->name))) - HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, H5I_INVALID_HID, "memory allocation failed for VOL connector name") + if (NULL == (saved->name = H5MM_strdup(cls->name))) + HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, H5I_INVALID_HID, + "memory allocation failed for VOL connector name") /* Initialize the VOL connector */ - if(cls->initialize && cls->initialize(vipl_id) < 0) + if (cls->initialize && cls->initialize(vipl_id) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, H5I_INVALID_HID, "unable to init VOL connector") /* Create the new class ID */ - if((ret_value = H5I_register(H5I_VOL, saved, app_ref)) < 0) + if ((ret_value = H5I_register(H5I_VOL, saved, app_ref)) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register VOL connector ID") done: - if(ret_value < 0 && saved) { - if(saved->name) + if (ret_value < 0 && saved) { + if (saved->name) H5MM_xfree_const(saved->name); H5FL_FREE(H5VL_class_t, saved); @@ -1152,7 +1130,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_register_connector() */ - /*------------------------------------------------------------------------- * Function: H5VL__register_connector * @@ -1173,29 +1150,30 @@ done: hid_t H5VL__register_connector(const H5VL_class_t *cls, hbool_t app_ref, hid_t vipl_id) { - H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_PACKAGE /* Set up op data for iteration */ - op_data.kind = H5VL_GET_CONNECTOR_BY_NAME; - op_data.u.name = cls->name; + op_data.kind = H5VL_GET_CONNECTOR_BY_NAME; + op_data.u.name = cls->name; op_data.found_id = H5I_INVALID_HID; /* Check if connector is already registered */ - if(H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) + if (H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) HGOTO_ERROR(H5E_VOL, H5E_BADITER, H5I_INVALID_HID, "can't iterate over VOL IDs") /* Increment the ref count on the existing VOL connector ID, if it's already registered */ - if(op_data.found_id != H5I_INVALID_HID) { - if(H5I_inc_ref(op_data.found_id, app_ref) < 0) - HGOTO_ERROR(H5E_VOL, H5E_CANTINC, H5I_INVALID_HID, "unable to increment ref count on VOL connector") + if (op_data.found_id != H5I_INVALID_HID) { + if (H5I_inc_ref(op_data.found_id, app_ref) < 0) + HGOTO_ERROR(H5E_VOL, H5E_CANTINC, H5I_INVALID_HID, + "unable to increment ref count on VOL connector") ret_value = op_data.found_id; } /* end if */ else { /* Create a new class ID */ - if((ret_value = H5VL_register_connector(cls, app_ref, vipl_id)) < 0) + if ((ret_value = H5VL_register_connector(cls, app_ref, vipl_id)) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register VOL connector") } /* end else */ @@ -1203,7 +1181,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__register_connector() */ - /*------------------------------------------------------------------------- * Function: H5VL__register_connector_by_name * @@ -1224,38 +1201,39 @@ done: hid_t H5VL__register_connector_by_name(const char *name, hbool_t app_ref, hid_t vipl_id) { - H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_PACKAGE /* Set up op data for iteration */ - op_data.kind = H5VL_GET_CONNECTOR_BY_NAME; - op_data.u.name = name; + op_data.kind = H5VL_GET_CONNECTOR_BY_NAME; + op_data.u.name = name; op_data.found_id = H5I_INVALID_HID; /* Check if connector is already registered */ - if(H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, app_ref) < 0) + if (H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, app_ref) < 0) HGOTO_ERROR(H5E_VOL, H5E_BADITER, H5I_INVALID_HID, "can't iterate over VOL ids") /* If connector alread registered, increment ref count on ID and return ID */ - if(op_data.found_id != H5I_INVALID_HID) { - if(H5I_inc_ref(op_data.found_id, app_ref) < 0) - HGOTO_ERROR(H5E_VOL, H5E_CANTINC, H5I_INVALID_HID, "unable to increment ref count on VOL connector") + if (op_data.found_id != H5I_INVALID_HID) { + if (H5I_inc_ref(op_data.found_id, app_ref) < 0) + HGOTO_ERROR(H5E_VOL, H5E_CANTINC, H5I_INVALID_HID, + "unable to increment ref count on VOL connector") ret_value = op_data.found_id; } /* end if */ else { - H5PL_key_t key; + H5PL_key_t key; const H5VL_class_t *cls; /* Try loading the connector */ - key.vol.kind = H5VL_GET_CONNECTOR_BY_NAME; + key.vol.kind = H5VL_GET_CONNECTOR_BY_NAME; key.vol.u.name = name; - if(NULL == (cls = (const H5VL_class_t *)H5PL_load(H5PL_TYPE_VOL, &key))) + if (NULL == (cls = (const H5VL_class_t *)H5PL_load(H5PL_TYPE_VOL, &key))) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, H5I_INVALID_HID, "unable to load VOL connector") /* Register the connector we loaded */ - if((ret_value = H5VL_register_connector(cls, app_ref, vipl_id)) < 0) + if ((ret_value = H5VL_register_connector(cls, app_ref, vipl_id)) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register VOL connector ID") } /* end else */ @@ -1263,7 +1241,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__register_connector_by_name() */ - /*------------------------------------------------------------------------- * Function: H5VL__register_connector_by_value * @@ -1284,38 +1261,39 @@ done: hid_t H5VL__register_connector_by_value(H5VL_class_value_t value, hbool_t app_ref, hid_t vipl_id) { - H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_PACKAGE /* Set up op data for iteration */ - op_data.kind = H5VL_GET_CONNECTOR_BY_VALUE; - op_data.u.value = value; + op_data.kind = H5VL_GET_CONNECTOR_BY_VALUE; + op_data.u.value = value; op_data.found_id = H5I_INVALID_HID; /* Check if connector is already registered */ - if(H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) + if (H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) HGOTO_ERROR(H5E_VOL, H5E_BADITER, H5I_INVALID_HID, "can't iterate over VOL ids") /* If connector alread registered, increment ref count on ID and return ID */ - if(op_data.found_id != H5I_INVALID_HID) { - if(H5I_inc_ref(op_data.found_id, app_ref) < 0) - HGOTO_ERROR(H5E_VOL, H5E_CANTINC, H5I_INVALID_HID, "unable to increment ref count on VOL connector") + if (op_data.found_id != H5I_INVALID_HID) { + if (H5I_inc_ref(op_data.found_id, app_ref) < 0) + HGOTO_ERROR(H5E_VOL, H5E_CANTINC, H5I_INVALID_HID, + "unable to increment ref count on VOL connector") ret_value = op_data.found_id; } /* end if */ else { - H5PL_key_t key; + H5PL_key_t key; const H5VL_class_t *cls; /* Try loading the connector */ - key.vol.kind = H5VL_GET_CONNECTOR_BY_VALUE; + key.vol.kind = H5VL_GET_CONNECTOR_BY_VALUE; key.vol.u.value = value; - if(NULL == (cls = (const H5VL_class_t *)H5PL_load(H5PL_TYPE_VOL, &key))) + if (NULL == (cls = (const H5VL_class_t *)H5PL_load(H5PL_TYPE_VOL, &key))) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, H5I_INVALID_HID, "unable to load VOL connector") /* Register the connector we loaded */ - if((ret_value = H5VL_register_connector(cls, app_ref, vipl_id)) < 0) + if ((ret_value = H5VL_register_connector(cls, app_ref, vipl_id)) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register VOL connector ID") } /* end else */ @@ -1323,7 +1301,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__register_connector_by_value() */ - /*------------------------------------------------------------------------- * Function: H5VL__is_connector_registered_by_name * @@ -1340,29 +1317,28 @@ done: htri_t H5VL__is_connector_registered_by_name(const char *name) { - H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ - htri_t ret_value = FALSE; /* Return value */ + H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ + htri_t ret_value = FALSE; /* Return value */ FUNC_ENTER_PACKAGE /* Set up op data for iteration */ - op_data.kind = H5VL_GET_CONNECTOR_BY_NAME; - op_data.u.name = name; + op_data.kind = H5VL_GET_CONNECTOR_BY_NAME; + op_data.u.name = name; op_data.found_id = H5I_INVALID_HID; /* Find connector with name */ - if(H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) + if (H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) HGOTO_ERROR(H5E_VOL, H5E_BADITER, FAIL, "can't iterate over VOL connectors") /* Found a connector with that name */ - if(op_data.found_id != H5I_INVALID_HID) + if (op_data.found_id != H5I_INVALID_HID) ret_value = TRUE; done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__is_connector_registered_by_name() */ - /*------------------------------------------------------------------------- * Function: H5VL__is_connector_registered_by_value * @@ -1377,29 +1353,28 @@ done: htri_t H5VL__is_connector_registered_by_value(H5VL_class_value_t value) { - H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ - htri_t ret_value = FALSE; /* Return value */ + H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ + htri_t ret_value = FALSE; /* Return value */ FUNC_ENTER_PACKAGE /* Set up op data for iteration */ - op_data.kind = H5VL_GET_CONNECTOR_BY_VALUE; - op_data.u.value = value; + op_data.kind = H5VL_GET_CONNECTOR_BY_VALUE; + op_data.u.value = value; op_data.found_id = H5I_INVALID_HID; /* Find connector with value */ - if(H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) + if (H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) HGOTO_ERROR(H5E_VOL, H5E_BADITER, FAIL, "can't iterate over VOL connectors") /* Found a connector with that name */ - if(op_data.found_id != H5I_INVALID_HID) + if (op_data.found_id != H5I_INVALID_HID) ret_value = TRUE; done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__is_connector_registered_by_value() */ - /*------------------------------------------------------------------------- * Function: H5VL__get_connector_id * @@ -1416,25 +1391,24 @@ done: hid_t H5VL__get_connector_id(hid_t obj_id, hbool_t is_api) { - H5VL_object_t *vol_obj = NULL; - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + H5VL_object_t *vol_obj = NULL; + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_PACKAGE /* Get the underlying VOL object for the object ID */ - if(NULL == (vol_obj = H5VL_vol_object(obj_id))) + if (NULL == (vol_obj = H5VL_vol_object(obj_id))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "invalid location identifier") /* Return the VOL object's VOL class ID */ ret_value = vol_obj->connector->id; - if(H5I_inc_ref(ret_value, is_api) < 0) + if (H5I_inc_ref(ret_value, is_api) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTINC, H5I_INVALID_HID, "unable to increment ref count on VOL connector") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__get_connector_id() */ - /*------------------------------------------------------------------------- * Function: H5VL__get_connector_id_by_name * @@ -1451,23 +1425,22 @@ done: hid_t H5VL__get_connector_id_by_name(const char *name, hbool_t is_api) { - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_PACKAGE /* Find connector with name */ - if((ret_value = H5VL__peek_connector_id_by_name(name)) < 0) + if ((ret_value = H5VL__peek_connector_id_by_name(name)) < 0) HGOTO_ERROR(H5E_VOL, H5E_BADITER, H5I_INVALID_HID, "can't find VOL connector") /* Found a connector with that name */ - if(H5I_inc_ref(ret_value, is_api) < 0) + if (H5I_inc_ref(ret_value, is_api) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTINC, H5I_INVALID_HID, "unable to increment ref count on VOL connector") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__get_connector_id_by_name() */ - /*------------------------------------------------------------------------- * Function: H5VL__get_connector_id_by_value * @@ -1482,23 +1455,22 @@ done: hid_t H5VL__get_connector_id_by_value(H5VL_class_value_t value, hbool_t is_api) { - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_PACKAGE /* Find connector with value */ - if((ret_value = H5VL__peek_connector_id_by_value(value)) < 0) + if ((ret_value = H5VL__peek_connector_id_by_value(value)) < 0) HGOTO_ERROR(H5E_VOL, H5E_BADITER, H5I_INVALID_HID, "can't find VOL connector") /* Found a connector with that value */ - if(H5I_inc_ref(ret_value, is_api) < 0) + if (H5I_inc_ref(ret_value, is_api) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTINC, H5I_INVALID_HID, "unable to increment ref count on VOL connector") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__get_connector_id_by_value() */ - /*------------------------------------------------------------------------- * Function: H5VL__peek_connector_id_by_name * @@ -1514,18 +1486,18 @@ done: hid_t H5VL__peek_connector_id_by_name(const char *name) { - H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_PACKAGE /* Set up op data for iteration */ - op_data.kind = H5VL_GET_CONNECTOR_BY_NAME; - op_data.u.name = name; + op_data.kind = H5VL_GET_CONNECTOR_BY_NAME; + op_data.u.name = name; op_data.found_id = H5I_INVALID_HID; /* Find connector with name */ - if(H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) + if (H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) HGOTO_ERROR(H5E_VOL, H5E_BADITER, H5I_INVALID_HID, "can't iterate over VOL connectors") /* Set return value */ @@ -1535,7 +1507,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__peek_connector_id_by_name() */ - /*------------------------------------------------------------------------- * Function: H5VL__peek_connector_id_by_value * @@ -1551,18 +1522,18 @@ done: hid_t H5VL__peek_connector_id_by_value(H5VL_class_value_t value) { - H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + H5VL_get_connector_ud_t op_data; /* Callback info for connector search */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_PACKAGE /* Set up op data for iteration */ - op_data.kind = H5VL_GET_CONNECTOR_BY_VALUE; - op_data.u.value = value; + op_data.kind = H5VL_GET_CONNECTOR_BY_VALUE; + op_data.u.value = value; op_data.found_id = H5I_INVALID_HID; /* Find connector with value */ - if(H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) + if (H5I_iterate(H5I_VOL, H5VL__get_connector_cb, &op_data, TRUE) < 0) HGOTO_ERROR(H5E_VOL, H5E_BADITER, H5I_INVALID_HID, "can't iterate over VOL connectors") /* Set return value */ @@ -1572,7 +1543,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__peek_connector_id_by_value() */ - /*------------------------------------------------------------------------- * Function: H5VL__connector_str_to_info * @@ -1589,21 +1559,21 @@ done: herr_t H5VL__connector_str_to_info(const char *str, hid_t connector_id, void **info) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE /* Only deserialize string, if it's non-NULL */ - if(str) { - H5VL_class_t *cls; /* VOL connector's class struct */ + if (str) { + H5VL_class_t *cls; /* VOL connector's class struct */ /* Check args and get class pointer */ - if(NULL == (cls = (H5VL_class_t *)H5I_object_verify(connector_id, H5I_VOL))) + if (NULL == (cls = (H5VL_class_t *)H5I_object_verify(connector_id, H5I_VOL))) HGOTO_ERROR(H5E_VOL, H5E_BADTYPE, FAIL, "not a VOL connector ID") /* Allow the connector to deserialize info */ - if(cls->info_cls.from_str) { - if((cls->info_cls.from_str)(str, info) < 0) + if (cls->info_cls.from_str) { + if ((cls->info_cls.from_str)(str, info) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTUNSERIALIZE, FAIL, "can't deserialize connector info") } /* end if */ else @@ -1616,7 +1586,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__connector_str_to_info() */ - /*------------------------------------------------------------------------- * Function: H5VL__get_connector_name * @@ -1630,8 +1599,8 @@ done: ssize_t H5VL__get_connector_name(hid_t id, char *name /*out*/, size_t size) { - H5VL_object_t *vol_obj; - const H5VL_class_t *cls; + H5VL_object_t * vol_obj; + const H5VL_class_t *cls; size_t len; ssize_t ret_value = -1; @@ -1644,9 +1613,9 @@ H5VL__get_connector_name(hid_t id, char *name /*out*/, size_t size) cls = vol_obj->connector->cls; len = HDstrlen(cls->name); - if(name) { + if (name) { HDstrncpy(name, cls->name, MIN(len + 1, size)); - if(len >= size) + if (len >= size) name[size - 1] = '\0'; } /* end if */ @@ -1657,7 +1626,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__get_connector_name() */ - /*------------------------------------------------------------------------- * Function: H5VL_vol_object * @@ -1674,22 +1642,22 @@ done: H5VL_object_t * H5VL_vol_object(hid_t id) { - void *obj = NULL; - H5I_type_t obj_type; - H5VL_object_t *ret_value = NULL; + void * obj = NULL; + H5I_type_t obj_type; + H5VL_object_t *ret_value = NULL; FUNC_ENTER_NOAPI(NULL) obj_type = H5I_get_type(id); - if(H5I_FILE == obj_type || H5I_GROUP == obj_type || H5I_ATTR == obj_type || - H5I_DATASET == obj_type || H5I_DATATYPE == obj_type) { + if (H5I_FILE == obj_type || H5I_GROUP == obj_type || H5I_ATTR == obj_type || H5I_DATASET == obj_type || + H5I_DATATYPE == obj_type) { /* Get the object */ - if(NULL == (obj = H5I_object(id))) + if (NULL == (obj = H5I_object(id))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "invalid identifier") /* If this is a datatype, get the VOL object attached to the H5T_t struct */ - if(H5I_DATATYPE == obj_type) - if(NULL == (obj = H5T_get_named_type((H5T_t *)obj))) + if (H5I_DATATYPE == obj_type) + if (NULL == (obj = H5T_get_named_type((H5T_t *)obj))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a named datatype") } /* end if */ else @@ -1701,7 +1669,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_vol_object() */ - /*------------------------------------------------------------------------- * Function: H5VL_object_data * @@ -1721,7 +1688,7 @@ H5VL_object_data(const H5VL_object_t *vol_obj) FUNC_ENTER_NOAPI_NOINIT_NOERR /* Check for 'get_object' callback in connector */ - if(vol_obj->connector->cls->wrap_cls.get_object) + if (vol_obj->connector->cls->wrap_cls.get_object) ret_value = (vol_obj->connector->cls->wrap_cls.get_object)(vol_obj->data); else ret_value = vol_obj->data; @@ -1729,7 +1696,6 @@ H5VL_object_data(const H5VL_object_t *vol_obj) FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_object_data() */ - /*------------------------------------------------------------------------- * Function: H5VL_object_unwrap * @@ -1748,14 +1714,13 @@ H5VL_object_unwrap(const H5VL_object_t *vol_obj) FUNC_ENTER_NOAPI(NULL) - if(NULL == (ret_value = H5VL_unwrap_object(vol_obj->connector->cls, vol_obj->data))) + if (NULL == (ret_value = H5VL_unwrap_object(vol_obj->connector->cls, vol_obj->data))) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, NULL, "can't unwrap object") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_object_unwrap() */ - /*------------------------------------------------------------------------- * Function: H5VL__object * @@ -1770,13 +1735,13 @@ done: static void * H5VL__object(hid_t id, H5I_type_t obj_type) { - H5VL_object_t *vol_obj = NULL; - void *ret_value = NULL; + H5VL_object_t *vol_obj = NULL; + void * ret_value = NULL; FUNC_ENTER_STATIC /* Get the underlying object */ - switch(obj_type) { + switch (obj_type) { case H5I_GROUP: case H5I_DATASET: case H5I_FILE: @@ -1787,19 +1752,18 @@ H5VL__object(hid_t id, H5I_type_t obj_type) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "invalid identifier") break; - case H5I_DATATYPE: - { - H5T_t *dt = NULL; + case H5I_DATATYPE: { + H5T_t *dt = NULL; - /* get the object */ - if (NULL == (dt = (H5T_t *)H5I_object(id))) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "invalid identifier") + /* get the object */ + if (NULL == (dt = (H5T_t *)H5I_object(id))) + HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "invalid identifier") - /* Get the actual datatype object that should be the vol_obj */ - if (NULL == (vol_obj = H5T_get_named_type(dt))) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a named datatype") - break; - } + /* Get the actual datatype object that should be the vol_obj */ + if (NULL == (vol_obj = H5T_get_named_type(dt))) + HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a named datatype") + break; + } case H5I_UNINIT: case H5I_BADID: @@ -1824,7 +1788,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__object() */ - /*------------------------------------------------------------------------- * Function: H5VL_object * @@ -1839,19 +1802,18 @@ done: void * H5VL_object(hid_t id) { - void *ret_value = NULL; + void *ret_value = NULL; FUNC_ENTER_NOAPI(NULL) /* Get the underlying object */ - if(NULL == (ret_value = H5VL__object(id, H5I_get_type(id)))) + if (NULL == (ret_value = H5VL__object(id, H5I_get_type(id)))) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, NULL, "can't retrieve object for ID") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_object() */ - /*------------------------------------------------------------------------- * Function: H5VL_object_verify * @@ -1866,23 +1828,22 @@ done: void * H5VL_object_verify(hid_t id, H5I_type_t obj_type) { - void *ret_value = NULL; + void *ret_value = NULL; FUNC_ENTER_NOAPI(NULL) /* Check of ID of correct type */ - if(obj_type != H5I_get_type(id)) + if (obj_type != H5I_get_type(id)) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "invalid identifier") /* Get the underlying object */ - if(NULL == (ret_value = H5VL__object(id, obj_type))) + if (NULL == (ret_value = H5VL__object(id, obj_type))) HGOTO_ERROR(H5E_ARGS, H5E_CANTGET, NULL, "can't retrieve object for ID") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_object_verify() */ - /*------------------------------------------------------------------------- * Function: H5VL_cmp_connector_cls * @@ -1899,7 +1860,7 @@ done: herr_t H5VL_cmp_connector_cls(int *cmp_value, const H5VL_class_t *cls1, const H5VL_class_t *cls2) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -1908,51 +1869,51 @@ H5VL_cmp_connector_cls(int *cmp_value, const H5VL_class_t *cls1, const H5VL_clas HDassert(cls2); /* If the pointers are the same the classes are the same */ - if(cls1 == cls2) { + if (cls1 == cls2) { *cmp_value = 0; HGOTO_DONE(SUCCEED); } /* end if */ /* Compare connector "values" */ - if(cls1->value < cls2->value) { + if (cls1->value < cls2->value) { *cmp_value = -1; HGOTO_DONE(SUCCEED) } /* end if */ - if(cls1->value > cls2->value) { + if (cls1->value > cls2->value) { *cmp_value = 1; HGOTO_DONE(SUCCEED) } /* end if */ HDassert(cls1->value == cls2->value); /* Compare connector names */ - if(cls1->name == NULL && cls2->name != NULL) { + if (cls1->name == NULL && cls2->name != NULL) { *cmp_value = -1; HGOTO_DONE(SUCCEED) } /* end if */ - if(cls1->name != NULL && cls2->name == NULL) { + if (cls1->name != NULL && cls2->name == NULL) { *cmp_value = 1; HGOTO_DONE(SUCCEED) } /* end if */ - if(0 != (*cmp_value = HDstrcmp(cls1->name, cls2->name))) + if (0 != (*cmp_value = HDstrcmp(cls1->name, cls2->name))) HGOTO_DONE(SUCCEED) /* Compare connector VOL API versions */ - if(cls1->version < cls2->version) { + if (cls1->version < cls2->version) { *cmp_value = -1; HGOTO_DONE(SUCCEED) } /* end if */ - if(cls1->version > cls2->version) { + if (cls1->version > cls2->version) { *cmp_value = 1; HGOTO_DONE(SUCCEED) } /* end if */ HDassert(cls1->version == cls2->version); /* Compare connector info */ - if(cls1->info_cls.size < cls2->info_cls.size) { + if (cls1->info_cls.size < cls2->info_cls.size) { *cmp_value = -1; HGOTO_DONE(SUCCEED) } /* end if */ - if(cls1->info_cls.size > cls2->info_cls.size) { + if (cls1->info_cls.size > cls2->info_cls.size) { *cmp_value = 1; HGOTO_DONE(SUCCEED) } /* end if */ @@ -1965,7 +1926,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_cmp_connector_cls() */ - /*------------------------------------------------------------------------- * Function: H5VL_retrieve_lib_state * @@ -1982,7 +1942,7 @@ done: herr_t H5VL_retrieve_lib_state(void **state) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -1990,14 +1950,13 @@ H5VL_retrieve_lib_state(void **state) HDassert(state); /* Retrieve the API context state */ - if(H5CX_retrieve_state((H5CX_state_t **)state) < 0) + if (H5CX_retrieve_state((H5CX_state_t **)state) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get API context state") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_retrieve_lib_state() */ - /*------------------------------------------------------------------------- * Function: H5VL_restore_lib_state * @@ -2016,7 +1975,7 @@ done: herr_t H5VL_restore_lib_state(const void *state) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -2024,18 +1983,17 @@ H5VL_restore_lib_state(const void *state) HDassert(state); /* Push a new API context on the stack */ - if(H5CX_push() < 0) + if (H5CX_push() < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't push API context") /* Restore the API context state */ - if(H5CX_restore_state((const H5CX_state_t *)state) < 0) + if (H5CX_restore_state((const H5CX_state_t *)state) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set API context state") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_restore_lib_state() */ - /*------------------------------------------------------------------------- * Function: H5VL_reset_lib_state * @@ -2059,19 +2017,18 @@ done: herr_t H5VL_reset_lib_state(void) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) /* Pop the API context off the stack */ - if(H5CX_pop() < 0) + if (H5CX_pop() < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't pop API context") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_reset_lib_state() */ - /*------------------------------------------------------------------------- * Function: H5VL_free_lib_state * @@ -2090,7 +2047,7 @@ done: herr_t H5VL_free_lib_state(void *state) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -2098,14 +2055,13 @@ H5VL_free_lib_state(void *state) HDassert(state); /* Free the API context state */ - if(H5CX_free_state((H5CX_state_t *)state) < 0) + if (H5CX_free_state((H5CX_state_t *)state) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTRELEASE, FAIL, "can't free API context state") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_free_lib_state() */ - /*------------------------------------------------------------------------- * Function: H5VL__free_vol_wrapper * @@ -2121,7 +2077,7 @@ done: static herr_t H5VL__free_vol_wrapper(H5VL_wrap_ctx_t *vol_wrap_ctx) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -2132,13 +2088,14 @@ H5VL__free_vol_wrapper(H5VL_wrap_ctx_t *vol_wrap_ctx) HDassert(vol_wrap_ctx->connector->cls); /* If there is a VOL connector object wrapping context, release it */ - if(vol_wrap_ctx->obj_wrap_ctx) + if (vol_wrap_ctx->obj_wrap_ctx) /* Release the VOL connector's object wrapping context */ - if((*vol_wrap_ctx->connector->cls->wrap_cls.free_wrap_ctx)(vol_wrap_ctx->obj_wrap_ctx) < 0) - HGOTO_ERROR(H5E_VOL, H5E_CANTRELEASE, FAIL, "unable to release connector's object wrapping context") + if ((*vol_wrap_ctx->connector->cls->wrap_cls.free_wrap_ctx)(vol_wrap_ctx->obj_wrap_ctx) < 0) + HGOTO_ERROR(H5E_VOL, H5E_CANTRELEASE, FAIL, + "unable to release connector's object wrapping context") /* Decrement refcount on connector */ - if(H5VL__conn_dec_rc(vol_wrap_ctx->connector) < 0) + if (H5VL__conn_dec_rc(vol_wrap_ctx->connector) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTDEC, FAIL, "unable to decrement ref count on VOL connector") /* Release object wrapping context */ @@ -2148,7 +2105,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL__free_vol_wrapper() */ - /*------------------------------------------------------------------------- * Function: H5VL_set_vol_wrapper * @@ -2161,8 +2117,8 @@ done: herr_t H5VL_set_vol_wrapper(const H5VL_object_t *vol_obj) { - H5VL_wrap_ctx_t *vol_wrap_ctx = NULL; /* Object wrapping context */ - herr_t ret_value = SUCCEED; /* Return value */ + H5VL_wrap_ctx_t *vol_wrap_ctx = NULL; /* Object wrapping context */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -2170,37 +2126,37 @@ H5VL_set_vol_wrapper(const H5VL_object_t *vol_obj) HDassert(vol_obj); /* Retrieve the VOL object wrap context */ - if(H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0) + if (H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get VOL object wrap context") /* Check for existing wrapping context */ - if(NULL == vol_wrap_ctx) { - void *obj_wrap_ctx = NULL; /* VOL connector's wrapping context */ + if (NULL == vol_wrap_ctx) { + void *obj_wrap_ctx = NULL; /* VOL connector's wrapping context */ /* Sanity checks */ HDassert(vol_obj->data); HDassert(vol_obj->connector); /* Check if the connector can create a wrap context */ - if(vol_obj->connector->cls->wrap_cls.get_wrap_ctx) { + if (vol_obj->connector->cls->wrap_cls.get_wrap_ctx) { /* Sanity check */ HDassert(vol_obj->connector->cls->wrap_cls.free_wrap_ctx); /* Get the wrap context from the connector */ - if((vol_obj->connector->cls->wrap_cls.get_wrap_ctx)(vol_obj->data, &obj_wrap_ctx) < 0) + if ((vol_obj->connector->cls->wrap_cls.get_wrap_ctx)(vol_obj->data, &obj_wrap_ctx) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't retrieve VOL connector's object wrap context") } /* end if */ /* Allocate VOL object wrapper context */ - if(NULL == (vol_wrap_ctx = H5FL_MALLOC(H5VL_wrap_ctx_t))) + if (NULL == (vol_wrap_ctx = H5FL_MALLOC(H5VL_wrap_ctx_t))) HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, FAIL, "can't allocate VOL wrap context") /* Increment the outstanding objects that are using the connector */ H5VL__conn_inc_rc(vol_obj->connector); /* Set up VOL object wrapper context */ - vol_wrap_ctx->rc = 1; - vol_wrap_ctx->connector = vol_obj->connector; + vol_wrap_ctx->rc = 1; + vol_wrap_ctx->connector = vol_obj->connector; vol_wrap_ctx->obj_wrap_ctx = obj_wrap_ctx; } /* end if */ else @@ -2208,18 +2164,17 @@ H5VL_set_vol_wrapper(const H5VL_object_t *vol_obj) vol_wrap_ctx->rc++; /* Save the wrapper context */ - if(H5CX_set_vol_wrap_ctx(vol_wrap_ctx) < 0) + if (H5CX_set_vol_wrap_ctx(vol_wrap_ctx) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL object wrap context") done: - if(ret_value < 0 && vol_wrap_ctx) + if (ret_value < 0 && vol_wrap_ctx) /* Release object wrapping context */ H5FL_FREE(H5VL_wrap_ctx_t, vol_wrap_ctx); FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_set_vol_wrapper() */ - /*------------------------------------------------------------------------- * Function: H5VL_inc_vol_wrapper * @@ -2236,14 +2191,14 @@ herr_t H5VL_inc_vol_wrapper(void *_vol_wrap_ctx) { H5VL_wrap_ctx_t *vol_wrap_ctx = (H5VL_wrap_ctx_t *)_vol_wrap_ctx; /* VOL object wrapping context */ - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) /* Check for valid, active VOL object wrap context */ - if(NULL == vol_wrap_ctx) + if (NULL == vol_wrap_ctx) HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, FAIL, "no VOL object wrap context?") - if(0 == vol_wrap_ctx->rc) + if (0 == vol_wrap_ctx->rc) HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, FAIL, "bad VOL object wrap context refcount?") /* Increment ref count on wrapping context */ @@ -2253,7 +2208,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_inc_vol_wrapper() */ - /*------------------------------------------------------------------------- * Function: H5VL_dec_vol_wrapper * @@ -2271,29 +2225,28 @@ herr_t H5VL_dec_vol_wrapper(void *_vol_wrap_ctx) { H5VL_wrap_ctx_t *vol_wrap_ctx = (H5VL_wrap_ctx_t *)_vol_wrap_ctx; /* VOL object wrapping context */ - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) /* Check for valid, active VOL object wrap context */ - if(NULL == vol_wrap_ctx) + if (NULL == vol_wrap_ctx) HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, FAIL, "no VOL object wrap context?") - if(0 == vol_wrap_ctx->rc) + if (0 == vol_wrap_ctx->rc) HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, FAIL, "bad VOL object wrap context refcount?") /* Decrement ref count on wrapping context */ vol_wrap_ctx->rc--; /* Release context if the ref count drops to zero */ - if(0 == vol_wrap_ctx->rc) - if(H5VL__free_vol_wrapper(vol_wrap_ctx) < 0) + if (0 == vol_wrap_ctx->rc) + if (H5VL__free_vol_wrapper(vol_wrap_ctx) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTRELEASE, FAIL, "unable to release VOL object wrapping context") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_dec_vol_wrapper() */ - /*------------------------------------------------------------------------- * Function: H5VL_reset_vol_wrapper * @@ -2306,42 +2259,41 @@ done: herr_t H5VL_reset_vol_wrapper(void) { - H5VL_wrap_ctx_t *vol_wrap_ctx = NULL; /* Object wrapping context */ - herr_t ret_value = SUCCEED; /* Return value */ + H5VL_wrap_ctx_t *vol_wrap_ctx = NULL; /* Object wrapping context */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) /* Retrieve the VOL object wrap context */ - if(H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0) + if (H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get VOL object wrap context") /* Check for VOL object wrap context */ - if(NULL == vol_wrap_ctx) + if (NULL == vol_wrap_ctx) HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, FAIL, "no VOL object wrap context?") /* Decrement ref count on wrapping context */ vol_wrap_ctx->rc--; /* Release context if the ref count drops to zero */ - if(0 == vol_wrap_ctx->rc) { + if (0 == vol_wrap_ctx->rc) { /* Release object wrapping context */ - if(H5VL__free_vol_wrapper(vol_wrap_ctx) < 0) + if (H5VL__free_vol_wrapper(vol_wrap_ctx) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTRELEASE, FAIL, "unable to release VOL object wrapping context") /* Reset the wrapper context */ - if(H5CX_set_vol_wrap_ctx(NULL) < 0) + if (H5CX_set_vol_wrap_ctx(NULL) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL object wrap context") } /* end if */ else /* Save the updated wrapper context */ - if(H5CX_set_vol_wrap_ctx(vol_wrap_ctx) < 0) - HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL object wrap context") + if (H5CX_set_vol_wrap_ctx(vol_wrap_ctx) < 0) + HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL object wrap context") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_reset_vol_wrapper() */ - /*------------------------------------------------------------------------- * Function: H5VL_wrap_register * @@ -2354,9 +2306,9 @@ done: hid_t H5VL_wrap_register(H5I_type_t type, void *obj, hbool_t app_ref) { - H5VL_wrap_ctx_t *vol_wrap_ctx = NULL; /* Object wrapping context */ - void *new_obj; /* Newly wrapped object */ - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + H5VL_wrap_ctx_t *vol_wrap_ctx = NULL; /* Object wrapping context */ + void * new_obj; /* Newly wrapped object */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_NOAPI(H5I_INVALID_HID) @@ -2366,25 +2318,25 @@ H5VL_wrap_register(H5I_type_t type, void *obj, hbool_t app_ref) /* If the datatype is already VOL-managed, the datatype's vol_obj * field will get clobbered later, so disallow this. */ - if(type == H5I_DATATYPE) - if(TRUE == H5T_already_vol_managed((const H5T_t *)obj)) + if (type == H5I_DATATYPE) + if (TRUE == H5T_already_vol_managed((const H5T_t *)obj)) HGOTO_ERROR(H5E_VOL, H5E_BADTYPE, H5I_INVALID_HID, "can't wrap an uncommitted datatype") /* Wrap the object with VOL connector info */ - if(NULL == (new_obj = H5VL__wrap_obj(obj, type))) + if (NULL == (new_obj = H5VL__wrap_obj(obj, type))) HGOTO_ERROR(H5E_VOL, H5E_CANTCREATE, H5I_INVALID_HID, "can't wrap library object") /* Retrieve the VOL object wrapping context */ - if(H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0) + if (H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTGET, H5I_INVALID_HID, "can't get VOL object wrap context") - if(NULL == vol_wrap_ctx || NULL == vol_wrap_ctx->connector) - HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, H5I_INVALID_HID, "VOL object wrap context or its connector is NULL???") + if (NULL == vol_wrap_ctx || NULL == vol_wrap_ctx->connector) + HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, H5I_INVALID_HID, + "VOL object wrap context or its connector is NULL???") /* Get an ID for the object */ - if((ret_value = H5VL_register_using_vol_id(type, new_obj, vol_wrap_ctx->connector->id, app_ref)) < 0) + if ((ret_value = H5VL_register_using_vol_id(type, new_obj, vol_wrap_ctx->connector->id, app_ref)) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to get an ID for the object") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_wrap_register() */ - |