diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 15:29:53 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 15:29:53 (GMT) |
commit | ec8ad09125032c9c232878d02e90aa86df162841 (patch) | |
tree | 5d63105d3a0db7d5bbee41c5b74b097649a2115e /src/H5Pint.c | |
parent | 453238e90e1574ef1c15e3c79f7fb3d77920e77c (diff) | |
download | hdf5-ec8ad09125032c9c232878d02e90aa86df162841.zip hdf5-ec8ad09125032c9c232878d02e90aa86df162841.tar.gz hdf5-ec8ad09125032c9c232878d02e90aa86df162841.tar.bz2 |
Source formatted
Diffstat (limited to 'src/H5Pint.c')
-rw-r--r-- | src/H5Pint.c | 2238 |
1 files changed, 1099 insertions, 1139 deletions
diff --git a/src/H5Pint.c b/src/H5Pint.c index a7c0efd..0b36bc9 100644 --- a/src/H5Pint.c +++ b/src/H5Pint.c @@ -20,80 +20,76 @@ /* Module Setup */ /****************/ -#include "H5Pmodule.h" /* This source code file is part of the H5P module */ - +#include "H5Pmodule.h" /* This source code file is part of the H5P module */ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ +#include "H5private.h" /* Generic Functions */ #ifdef H5_HAVE_PARALLEL -#include "H5ACprivate.h" /* Metadata cache */ -#endif /* H5_HAVE_PARALLEL */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5Fprivate.h" /* File access */ -#include "H5FLprivate.h" /* Free lists */ -#include "H5Iprivate.h" /* IDs */ -#include "H5MMprivate.h" /* Memory management */ -#include "H5Ppkg.h" /* Property lists */ - +#include "H5ACprivate.h" /* Metadata cache */ +#endif /* H5_HAVE_PARALLEL */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5Fprivate.h" /* File access */ +#include "H5FLprivate.h" /* Free lists */ +#include "H5Iprivate.h" /* IDs */ +#include "H5MMprivate.h" /* Memory management */ +#include "H5Ppkg.h" /* Property lists */ /****************/ /* Local Macros */ /****************/ - /******************/ /* Local Typedefs */ /******************/ /* Typedef for checking for duplicate class names in parent class */ typedef struct { - const H5P_genclass_t *parent; /* Pointer to parent class */ - const char *name; /* Pointer to name to check */ - H5P_genclass_t *new_class; /* Pointer to class during path traversal */ + const H5P_genclass_t *parent; /* Pointer to parent class */ + const char * name; /* Pointer to name to check */ + H5P_genclass_t * new_class; /* Pointer to class during path traversal */ } H5P_check_class_t; /* Typedef for property list iterator callback */ typedef struct { - H5P_iterate_int_t cb_func; /* Iterator callback */ - void *udata; /* Iterator callback pointer */ - const H5P_genplist_t *plist; /* Property list pointer */ - H5SL_t *seen; /* Skip list to hold names of properties already seen */ - int *curr_idx_ptr; /* Pointer to current iteration index */ - int prev_idx; /* Previous iteration index */ + H5P_iterate_int_t cb_func; /* Iterator callback */ + void * udata; /* Iterator callback pointer */ + const H5P_genplist_t *plist; /* Property list pointer */ + H5SL_t * seen; /* Skip list to hold names of properties already seen */ + int * curr_idx_ptr; /* Pointer to current iteration index */ + int prev_idx; /* Previous iteration index */ } H5P_iter_plist_ud_t; /* Typedef for property list class iterator callback */ typedef struct { - H5P_iterate_int_t cb_func; /* Iterator callback */ - void *udata; /* Iterator callback pointer */ - int *curr_idx_ptr; /* Pointer to current iteration index */ - int prev_idx; /* Previous iteration index */ + H5P_iterate_int_t cb_func; /* Iterator callback */ + void * udata; /* Iterator callback pointer */ + int * curr_idx_ptr; /* Pointer to current iteration index */ + int prev_idx; /* Previous iteration index */ } H5P_iter_pclass_ud_t; /* Typedef for property list comparison callback */ typedef struct { - const H5P_genplist_t *plist2; /* Pointer to second property list */ - int cmp_value; /* Value from property comparison */ + const H5P_genplist_t *plist2; /* Pointer to second property list */ + int cmp_value; /* Value from property comparison */ } H5P_plist_cmp_ud_t; /* Typedef for property list set/poke callbacks */ typedef struct { - const void *value; /* Pointer to value to set */ + const void *value; /* Pointer to value to set */ } H5P_prop_set_ud_t; /* Typedef for property list get/peek callbacks */ typedef struct { - void *value; /* Pointer for retrieved value */ + void *value; /* Pointer for retrieved value */ } H5P_prop_get_ud_t; /* Typedef for H5P__do_prop() callbacks */ typedef herr_t (*H5P_do_plist_op_t)(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, - void *udata); + void *udata); typedef herr_t (*H5P_do_pclass_op_t)(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, - void *udata); - + void *udata); /********************/ /* Local Prototypes */ @@ -101,11 +97,10 @@ typedef herr_t (*H5P_do_pclass_op_t)(H5P_genplist_t *plist, const char *name, H5 /* General helper routines */ static H5P_genprop_t *H5P__dup_prop(H5P_genprop_t *oprop, H5P_prop_within_t type); -static herr_t H5P__free_prop(H5P_genprop_t *prop); -static int H5P__cmp_prop(const H5P_genprop_t *prop1, const H5P_genprop_t *prop2); -static herr_t H5P__do_prop(H5P_genplist_t *plist, const char *name, H5P_do_plist_op_t plist_op, - H5P_do_pclass_op_t pclass_op, void *udata); - +static herr_t H5P__free_prop(H5P_genprop_t *prop); +static int H5P__cmp_prop(const H5P_genprop_t *prop1, const H5P_genprop_t *prop2); +static herr_t H5P__do_prop(H5P_genplist_t *plist, const char *name, H5P_do_plist_op_t plist_op, + H5P_do_pclass_op_t pclass_op, void *udata); /*********************/ /* Package Variables */ @@ -115,211 +110,208 @@ static herr_t H5P__do_prop(H5P_genplist_t *plist, const char *name, H5P_do_plist * Predefined property list classes. These are initialized at runtime by * H5P__init_package() in this source file. */ -hid_t H5P_CLS_ROOT_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_ROOT_g = NULL; -hid_t H5P_CLS_OBJECT_CREATE_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_OBJECT_CREATE_g = NULL; -hid_t H5P_CLS_FILE_CREATE_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_FILE_CREATE_g = NULL; -hid_t H5P_CLS_FILE_ACCESS_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_FILE_ACCESS_g = NULL; -hid_t H5P_CLS_DATASET_CREATE_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_DATASET_CREATE_g = NULL; -hid_t H5P_CLS_DATASET_ACCESS_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_DATASET_ACCESS_g = NULL; -hid_t H5P_CLS_DATASET_XFER_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_DATASET_XFER_g = NULL; -hid_t H5P_CLS_FILE_MOUNT_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_FILE_MOUNT_g = NULL; -hid_t H5P_CLS_GROUP_CREATE_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_GROUP_CREATE_g = NULL; -hid_t H5P_CLS_GROUP_ACCESS_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_GROUP_ACCESS_g = NULL; -hid_t H5P_CLS_DATATYPE_CREATE_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_DATATYPE_CREATE_g = NULL; -hid_t H5P_CLS_DATATYPE_ACCESS_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_DATATYPE_ACCESS_g = NULL; -hid_t H5P_CLS_ATTRIBUTE_CREATE_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_ATTRIBUTE_CREATE_g = NULL; -hid_t H5P_CLS_ATTRIBUTE_ACCESS_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_ATTRIBUTE_ACCESS_g = NULL; -hid_t H5P_CLS_OBJECT_COPY_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_OBJECT_COPY_g = NULL; -hid_t H5P_CLS_LINK_CREATE_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_LINK_CREATE_g = NULL; -hid_t H5P_CLS_LINK_ACCESS_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_LINK_ACCESS_g = NULL; -hid_t H5P_CLS_STRING_CREATE_ID_g = H5I_INVALID_HID; -H5P_genclass_t *H5P_CLS_STRING_CREATE_g = NULL; +hid_t H5P_CLS_ROOT_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_ROOT_g = NULL; +hid_t H5P_CLS_OBJECT_CREATE_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_OBJECT_CREATE_g = NULL; +hid_t H5P_CLS_FILE_CREATE_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_FILE_CREATE_g = NULL; +hid_t H5P_CLS_FILE_ACCESS_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_FILE_ACCESS_g = NULL; +hid_t H5P_CLS_DATASET_CREATE_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_DATASET_CREATE_g = NULL; +hid_t H5P_CLS_DATASET_ACCESS_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_DATASET_ACCESS_g = NULL; +hid_t H5P_CLS_DATASET_XFER_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_DATASET_XFER_g = NULL; +hid_t H5P_CLS_FILE_MOUNT_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_FILE_MOUNT_g = NULL; +hid_t H5P_CLS_GROUP_CREATE_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_GROUP_CREATE_g = NULL; +hid_t H5P_CLS_GROUP_ACCESS_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_GROUP_ACCESS_g = NULL; +hid_t H5P_CLS_DATATYPE_CREATE_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_DATATYPE_CREATE_g = NULL; +hid_t H5P_CLS_DATATYPE_ACCESS_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_DATATYPE_ACCESS_g = NULL; +hid_t H5P_CLS_ATTRIBUTE_CREATE_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_ATTRIBUTE_CREATE_g = NULL; +hid_t H5P_CLS_ATTRIBUTE_ACCESS_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_ATTRIBUTE_ACCESS_g = NULL; +hid_t H5P_CLS_OBJECT_COPY_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_OBJECT_COPY_g = NULL; +hid_t H5P_CLS_LINK_CREATE_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_LINK_CREATE_g = NULL; +hid_t H5P_CLS_LINK_ACCESS_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_LINK_ACCESS_g = NULL; +hid_t H5P_CLS_STRING_CREATE_ID_g = H5I_INVALID_HID; +H5P_genclass_t *H5P_CLS_STRING_CREATE_g = NULL; /* * Predefined property lists for each predefined class. These are initialized * at runtime by H5P__init_package() in this source file. */ -hid_t H5P_LST_FILE_CREATE_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_FILE_ACCESS_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_DATASET_CREATE_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_DATASET_ACCESS_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_DATASET_XFER_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_FILE_MOUNT_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_GROUP_CREATE_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_GROUP_ACCESS_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_DATATYPE_CREATE_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_DATATYPE_ACCESS_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_ATTRIBUTE_CREATE_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_ATTRIBUTE_ACCESS_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_OBJECT_COPY_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_LINK_CREATE_ID_g = H5I_INVALID_HID; -hid_t H5P_LST_LINK_ACCESS_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_FILE_CREATE_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_FILE_ACCESS_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_DATASET_CREATE_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_DATASET_ACCESS_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_DATASET_XFER_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_FILE_MOUNT_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_GROUP_CREATE_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_GROUP_ACCESS_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_DATATYPE_CREATE_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_DATATYPE_ACCESS_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_ATTRIBUTE_CREATE_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_ATTRIBUTE_ACCESS_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_OBJECT_COPY_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_LINK_CREATE_ID_g = H5I_INVALID_HID; +hid_t H5P_LST_LINK_ACCESS_ID_g = H5I_INVALID_HID; /* Root property list class library initialization object */ const H5P_libclass_t H5P_CLS_ROOT[1] = {{ - "root", /* Class name for debugging */ - H5P_TYPE_ROOT, /* Class type */ - - NULL, /* Parent class */ - &H5P_CLS_ROOT_g, /* Pointer to class */ - &H5P_CLS_ROOT_ID_g, /* Pointer to class ID */ - NULL, /* Pointer to default property list ID */ - NULL, /* Default property registration routine */ - - NULL, /* Class creation callback */ - NULL, /* Class creation callback info */ - NULL, /* Class copy callback */ - NULL, /* Class copy callback info */ - NULL, /* Class close callback */ - NULL /* Class close callback info */ + "root", /* Class name for debugging */ + H5P_TYPE_ROOT, /* Class type */ + + NULL, /* Parent class */ + &H5P_CLS_ROOT_g, /* Pointer to class */ + &H5P_CLS_ROOT_ID_g, /* Pointer to class ID */ + NULL, /* Pointer to default property list ID */ + NULL, /* Default property registration routine */ + + NULL, /* Class creation callback */ + NULL, /* Class creation callback info */ + NULL, /* Class copy callback */ + NULL, /* Class copy callback info */ + NULL, /* Class close callback */ + NULL /* Class close callback info */ }}; /* Attribute access property list class library initialization object */ /* (move to proper source code file when used for real) */ const H5P_libclass_t H5P_CLS_AACC[1] = {{ - "attribute access", /* Class name for debugging */ - H5P_TYPE_ATTRIBUTE_ACCESS, /* Class type */ - - &H5P_CLS_LINK_ACCESS_g, /* Parent class */ - &H5P_CLS_ATTRIBUTE_ACCESS_g, /* Pointer to class */ - &H5P_CLS_ATTRIBUTE_ACCESS_ID_g, /* Pointer to class ID */ - &H5P_LST_ATTRIBUTE_ACCESS_ID_g, /* Pointer to default property list ID */ - NULL, /* Default property registration routine */ - - NULL, /* Class creation callback */ - NULL, /* Class creation callback info */ - NULL, /* Class copy callback */ - NULL, /* Class copy callback info */ - NULL, /* Class close callback */ - NULL /* Class close callback info */ + "attribute access", /* Class name for debugging */ + H5P_TYPE_ATTRIBUTE_ACCESS, /* Class type */ + + &H5P_CLS_LINK_ACCESS_g, /* Parent class */ + &H5P_CLS_ATTRIBUTE_ACCESS_g, /* Pointer to class */ + &H5P_CLS_ATTRIBUTE_ACCESS_ID_g, /* Pointer to class ID */ + &H5P_LST_ATTRIBUTE_ACCESS_ID_g, /* Pointer to default property list ID */ + NULL, /* Default property registration routine */ + + NULL, /* Class creation callback */ + NULL, /* Class creation callback info */ + NULL, /* Class copy callback */ + NULL, /* Class copy callback info */ + NULL, /* Class close callback */ + NULL /* Class close callback info */ }}; /* Group access property list class library initialization object */ /* (move to proper source code file when used for real) */ const H5P_libclass_t H5P_CLS_GACC[1] = {{ - "group access", /* Class name for debugging */ - H5P_TYPE_GROUP_ACCESS, /* Class type */ - - &H5P_CLS_LINK_ACCESS_g, /* Parent class */ - &H5P_CLS_GROUP_ACCESS_g, /* Pointer to class */ - &H5P_CLS_GROUP_ACCESS_ID_g, /* Pointer to class ID */ - &H5P_LST_GROUP_ACCESS_ID_g, /* Pointer to default property list ID */ - NULL, /* Default property registration routine */ - - NULL, /* Class creation callback */ - NULL, /* Class creation callback info */ - NULL, /* Class copy callback */ - NULL, /* Class copy callback info */ - NULL, /* Class close callback */ - NULL /* Class close callback info */ + "group access", /* Class name for debugging */ + H5P_TYPE_GROUP_ACCESS, /* Class type */ + + &H5P_CLS_LINK_ACCESS_g, /* Parent class */ + &H5P_CLS_GROUP_ACCESS_g, /* Pointer to class */ + &H5P_CLS_GROUP_ACCESS_ID_g, /* Pointer to class ID */ + &H5P_LST_GROUP_ACCESS_ID_g, /* Pointer to default property list ID */ + NULL, /* Default property registration routine */ + + NULL, /* Class creation callback */ + NULL, /* Class creation callback info */ + NULL, /* Class copy callback */ + NULL, /* Class copy callback info */ + NULL, /* Class close callback */ + NULL /* Class close callback info */ }}; /* Datatype creation property list class library initialization object */ /* (move to proper source code file when used for real) */ const H5P_libclass_t H5P_CLS_TCRT[1] = {{ - "datatype create", /* Class name for debugging */ - H5P_TYPE_DATATYPE_CREATE, /* Class type */ - - &H5P_CLS_OBJECT_CREATE_g, /* Parent class */ - &H5P_CLS_DATATYPE_CREATE_g, /* Pointer to class */ - &H5P_CLS_DATATYPE_CREATE_ID_g, /* Pointer to class ID */ - &H5P_LST_DATATYPE_CREATE_ID_g, /* Pointer to default property list ID */ - NULL, /* Default property registration routine */ - - NULL, /* Class creation callback */ - NULL, /* Class creation callback info */ - NULL, /* Class copy callback */ - NULL, /* Class copy callback info */ - NULL, /* Class close callback */ - NULL /* Class close callback info */ + "datatype create", /* Class name for debugging */ + H5P_TYPE_DATATYPE_CREATE, /* Class type */ + + &H5P_CLS_OBJECT_CREATE_g, /* Parent class */ + &H5P_CLS_DATATYPE_CREATE_g, /* Pointer to class */ + &H5P_CLS_DATATYPE_CREATE_ID_g, /* Pointer to class ID */ + &H5P_LST_DATATYPE_CREATE_ID_g, /* Pointer to default property list ID */ + NULL, /* Default property registration routine */ + + NULL, /* Class creation callback */ + NULL, /* Class creation callback info */ + NULL, /* Class copy callback */ + NULL, /* Class copy callback info */ + NULL, /* Class close callback */ + NULL /* Class close callback info */ }}; /* Datatype access property list class library initialization object */ /* (move to proper source code file when used for real) */ const H5P_libclass_t H5P_CLS_TACC[1] = {{ - "datatype access", /* Class name for debugging */ - H5P_TYPE_DATATYPE_ACCESS, /* Class type */ - - &H5P_CLS_LINK_ACCESS_g, /* Parent class */ - &H5P_CLS_DATATYPE_ACCESS_g, /* Pointer to class */ - &H5P_CLS_DATATYPE_ACCESS_ID_g, /* Pointer to class ID */ - &H5P_LST_DATATYPE_ACCESS_ID_g, /* Pointer to default property list ID */ - NULL, /* Default property registration routine */ - - NULL, /* Class creation callback */ - NULL, /* Class creation callback info */ - NULL, /* Class copy callback */ - NULL, /* Class copy callback info */ - NULL, /* Class close callback */ - NULL /* Class close callback info */ + "datatype access", /* Class name for debugging */ + H5P_TYPE_DATATYPE_ACCESS, /* Class type */ + + &H5P_CLS_LINK_ACCESS_g, /* Parent class */ + &H5P_CLS_DATATYPE_ACCESS_g, /* Pointer to class */ + &H5P_CLS_DATATYPE_ACCESS_ID_g, /* Pointer to class ID */ + &H5P_LST_DATATYPE_ACCESS_ID_g, /* Pointer to default property list ID */ + NULL, /* Default property registration routine */ + + NULL, /* Class creation callback */ + NULL, /* Class creation callback info */ + NULL, /* Class copy callback */ + NULL, /* Class copy callback info */ + NULL, /* Class close callback */ + NULL /* Class close callback info */ }}; - /* Library property list classes defined in other code modules */ /* (And not present in src/H5Pprivate.h) */ -H5_DLLVAR const H5P_libclass_t H5P_CLS_OCRT[1]; /* Object creation */ -H5_DLLVAR const H5P_libclass_t H5P_CLS_STRCRT[1]; /* String create */ -H5_DLLVAR const H5P_libclass_t H5P_CLS_GCRT[1]; /* Group create */ -H5_DLLVAR const H5P_libclass_t H5P_CLS_FCRT[1]; /* File creation */ -H5_DLLVAR const H5P_libclass_t H5P_CLS_DCRT[1]; /* Dataset creation */ -H5_DLLVAR const H5P_libclass_t H5P_CLS_DXFR[1]; /* Data transfer */ -H5_DLLVAR const H5P_libclass_t H5P_CLS_FMNT[1]; /* File mount */ -H5_DLLVAR const H5P_libclass_t H5P_CLS_ACRT[1]; /* Attribute creation */ - +H5_DLLVAR const H5P_libclass_t H5P_CLS_OCRT[1]; /* Object creation */ +H5_DLLVAR const H5P_libclass_t H5P_CLS_STRCRT[1]; /* String create */ +H5_DLLVAR const H5P_libclass_t H5P_CLS_GCRT[1]; /* Group create */ +H5_DLLVAR const H5P_libclass_t H5P_CLS_FCRT[1]; /* File creation */ +H5_DLLVAR const H5P_libclass_t H5P_CLS_DCRT[1]; /* Dataset creation */ +H5_DLLVAR const H5P_libclass_t H5P_CLS_DXFR[1]; /* Data transfer */ +H5_DLLVAR const H5P_libclass_t H5P_CLS_FMNT[1]; /* File mount */ +H5_DLLVAR const H5P_libclass_t H5P_CLS_ACRT[1]; /* Attribute creation */ /*****************************/ /* Library Private Variables */ /*****************************/ - /*******************/ /* Local Variables */ /*******************/ /* Track the revision count of a class, to make comparisons faster */ static unsigned H5P_next_rev = 0; -#define H5P_GET_NEXT_REV (H5P_next_rev++) +#define H5P_GET_NEXT_REV (H5P_next_rev++) /* List of all property list classes in the library */ /* (order here is not important, they will be initialized in the proper * order according to their parent class dependencies) */ -static H5P_libclass_t const * const init_class[] = { - H5P_CLS_ROOT, /* Root */ - H5P_CLS_OCRT, /* Object create */ - H5P_CLS_STRCRT, /* String create */ - H5P_CLS_LACC, /* Link access */ - H5P_CLS_GCRT, /* Group create */ - H5P_CLS_OCPY, /* Object copy */ - H5P_CLS_GACC, /* Group access */ - H5P_CLS_FCRT, /* File creation */ - H5P_CLS_FACC, /* File access */ - H5P_CLS_DCRT, /* Dataset creation */ - H5P_CLS_DACC, /* Dataset access */ - H5P_CLS_DXFR, /* Data transfer */ - H5P_CLS_FMNT, /* File mount */ - H5P_CLS_TCRT, /* Datatype creation */ - H5P_CLS_TACC, /* Datatype access */ - H5P_CLS_ACRT, /* Attribute creation */ - H5P_CLS_AACC, /* Attribute access */ - H5P_CLS_LCRT /* Link creation */ +static H5P_libclass_t const *const init_class[] = { + H5P_CLS_ROOT, /* Root */ + H5P_CLS_OCRT, /* Object create */ + H5P_CLS_STRCRT, /* String create */ + H5P_CLS_LACC, /* Link access */ + H5P_CLS_GCRT, /* Group create */ + H5P_CLS_OCPY, /* Object copy */ + H5P_CLS_GACC, /* Group access */ + H5P_CLS_FCRT, /* File creation */ + H5P_CLS_FACC, /* File access */ + H5P_CLS_DCRT, /* Dataset creation */ + H5P_CLS_DACC, /* Dataset access */ + H5P_CLS_DXFR, /* Data transfer */ + H5P_CLS_FMNT, /* File mount */ + H5P_CLS_TCRT, /* Datatype creation */ + H5P_CLS_TACC, /* Datatype access */ + H5P_CLS_ACRT, /* Attribute creation */ + H5P_CLS_AACC, /* Attribute access */ + H5P_CLS_LCRT /* Link creation */ }; /* Declare a free list to manage the H5P_genclass_t struct */ @@ -333,22 +325,20 @@ H5FL_DEFINE_STATIC(H5P_genplist_t); /* Generic Property Class ID class */ static const H5I_class_t H5I_GENPROPCLS_CLS[1] = {{ - H5I_GENPROP_CLS, /* ID class value */ - 0, /* Class flags */ - 0, /* # of reserved IDs for class */ - (H5I_free_t)H5P__close_class /* Callback routine for closing objects of this class */ + H5I_GENPROP_CLS, /* ID class value */ + 0, /* Class flags */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5P__close_class /* Callback routine for closing objects of this class */ }}; /* Generic Property List ID class */ static const H5I_class_t H5I_GENPROPLST_CLS[1] = {{ - H5I_GENPROP_LST, /* ID class value */ - 0, /* Class flags */ - 0, /* # of reserved IDs for class */ - (H5I_free_t)H5P_close /* Callback routine for closing objects of this class */ + H5I_GENPROP_LST, /* ID class value */ + 0, /* Class flags */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5P_close /* Callback routine for closing objects of this class */ }}; - - /*------------------------------------------------------------------------- * Function: H5P_init * @@ -365,7 +355,7 @@ static const H5I_class_t H5I_GENPROPLST_CLS[1] = {{ herr_t H5P_init(void) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) /* FUNC_ENTER() does all the work */ @@ -374,7 +364,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5P_init() */ - /*-------------------------------------------------------------------------- NAME H5P__init_package -- Initialize interface-specific information @@ -388,18 +377,18 @@ DESCRIPTION herr_t H5P__init_package(void) { - size_t tot_init; /* Total # of classes initialized */ - size_t pass_init; /* # of classes initialized in each pass */ - herr_t ret_value = SUCCEED; /* Return value */ + size_t tot_init; /* Total # of classes initialized */ + size_t pass_init; /* # of classes initialized in each pass */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE /* * Initialize the Generic Property class & object groups. */ - if(H5I_register_type(H5I_GENPROPCLS_CLS) < 0) + if (H5I_register_type(H5I_GENPROPCLS_CLS) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize ID group") - if(H5I_register_type(H5I_GENPROPLST_CLS) < 0) + if (H5I_register_type(H5I_GENPROPLST_CLS) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize ID group") /* Repeatedly pass over the list of property list classes for the library, @@ -408,47 +397,52 @@ H5P__init_package(void) */ tot_init = 0; do { - size_t u; /* Local index variable */ + size_t u; /* Local index variable */ /* Reset pass initialization counter */ pass_init = 0; /* Make a pass over all the library's property list classes */ - for(u = 0; u < NELMTS(init_class); u++) { + for (u = 0; u < NELMTS(init_class); u++) { H5P_libclass_t const *lib_class = init_class[u]; /* Current class to operate on */ /* Check if the current class hasn't been initialized and can be now */ HDassert(lib_class->class_id); - if(*lib_class->class_id == (-1) && (lib_class->par_pclass == NULL - || *lib_class->par_pclass != NULL)) { + if (*lib_class->class_id == (-1) && + (lib_class->par_pclass == NULL || *lib_class->par_pclass != NULL)) { /* Sanity check - only the root class is not allowed to have a parent class */ HDassert(lib_class->par_pclass || lib_class == H5P_CLS_ROOT); /* Allocate the new class */ - if(NULL == (*lib_class->pclass = H5P__create_class(lib_class->par_pclass ? *lib_class->par_pclass : NULL, lib_class->name, lib_class->type, lib_class->create_func, lib_class->create_data, lib_class->copy_func, lib_class->copy_data, lib_class->close_func, lib_class->close_data))) + if (NULL == (*lib_class->pclass = H5P__create_class( + lib_class->par_pclass ? *lib_class->par_pclass : NULL, lib_class->name, + lib_class->type, lib_class->create_func, lib_class->create_data, + lib_class->copy_func, lib_class->copy_data, lib_class->close_func, + lib_class->close_data))) HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "class initialization failed") /* Call routine to register properties for class */ - if(lib_class->reg_prop_func && (*lib_class->reg_prop_func)(*lib_class->pclass) < 0) + if (lib_class->reg_prop_func && (*lib_class->reg_prop_func)(*lib_class->pclass) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "can't register properties") /* Register the new class */ - if((*lib_class->class_id = H5I_register(H5I_GENPROP_CLS, *lib_class->pclass, FALSE)) < 0) + if ((*lib_class->class_id = H5I_register(H5I_GENPROP_CLS, *lib_class->pclass, FALSE)) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "can't register property list class") /* Only register the default property list if it hasn't been created yet */ - if(lib_class->def_plist_id && *lib_class->def_plist_id == (-1)) { + if (lib_class->def_plist_id && *lib_class->def_plist_id == (-1)) { /* Register the default property list for the new class*/ - if((*lib_class->def_plist_id = H5P_create_id(*lib_class->pclass, FALSE)) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "can't register default property list for class") + if ((*lib_class->def_plist_id = H5P_create_id(*lib_class->pclass, FALSE)) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, + "can't register default property list for class") } /* end if */ /* Increment class initialization counters */ pass_init++; tot_init++; } /* end if */ - } /* end for */ - } while(pass_init > 0); + } /* end for */ + } while (pass_init > 0); /* Verify that all classes were initialized */ HDassert(tot_init == NELMTS(init_class)); @@ -457,7 +451,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5P__init_package() */ - /*-------------------------------------------------------------------------- NAME H5P_term_package @@ -478,107 +471,79 @@ done: int H5P_term_package(void) { - int n = 0; + int n = 0; FUNC_ENTER_NOAPI_NOINIT_NOERR - if(H5_PKG_INIT_VAR) { - int64_t nlist, nclass; + if (H5_PKG_INIT_VAR) { + int64_t nlist, nclass; /* Destroy HDF5 library property classes & lists */ /* Check if there are any open property list classes or lists */ nclass = H5I_nmembers(H5I_GENPROP_CLS); - nlist = H5I_nmembers(H5I_GENPROP_LST); + nlist = H5I_nmembers(H5I_GENPROP_LST); /* If there are any open classes or groups, attempt to get rid of them. */ - if((nclass + nlist) > 0) { + if ((nclass + nlist) > 0) { /* Clear the lists */ - if(nlist > 0) { + if (nlist > 0) { (void)H5I_clear_type(H5I_GENPROP_LST, FALSE, FALSE); /* Reset the default property lists, if they've been closed */ - if(H5I_nmembers(H5I_GENPROP_LST) == 0) { - H5P_LST_FILE_CREATE_ID_g = - H5P_LST_FILE_ACCESS_ID_g = - H5P_LST_DATASET_CREATE_ID_g = - H5P_LST_DATASET_ACCESS_ID_g = - H5P_LST_DATASET_XFER_ID_g = - H5P_LST_GROUP_CREATE_ID_g = - H5P_LST_GROUP_ACCESS_ID_g = - H5P_LST_DATATYPE_CREATE_ID_g = - H5P_LST_DATATYPE_ACCESS_ID_g = - H5P_LST_ATTRIBUTE_CREATE_ID_g = - H5P_LST_ATTRIBUTE_ACCESS_ID_g = - H5P_LST_OBJECT_COPY_ID_g = - H5P_LST_LINK_CREATE_ID_g = - H5P_LST_LINK_ACCESS_ID_g = - H5P_LST_FILE_MOUNT_ID_g = H5I_INVALID_HID; + if (H5I_nmembers(H5I_GENPROP_LST) == 0) { + H5P_LST_FILE_CREATE_ID_g = H5P_LST_FILE_ACCESS_ID_g = H5P_LST_DATASET_CREATE_ID_g = + H5P_LST_DATASET_ACCESS_ID_g = H5P_LST_DATASET_XFER_ID_g = H5P_LST_GROUP_CREATE_ID_g = + H5P_LST_GROUP_ACCESS_ID_g = H5P_LST_DATATYPE_CREATE_ID_g = + H5P_LST_DATATYPE_ACCESS_ID_g = H5P_LST_ATTRIBUTE_CREATE_ID_g = + H5P_LST_ATTRIBUTE_ACCESS_ID_g = H5P_LST_OBJECT_COPY_ID_g = + H5P_LST_LINK_CREATE_ID_g = H5P_LST_LINK_ACCESS_ID_g = + H5P_LST_FILE_MOUNT_ID_g = H5I_INVALID_HID; } /* end if */ - } /* end if */ + } /* end if */ /* Only attempt to close the classes after all the lists are closed */ - if(nlist == 0 && nclass > 0) { + if (nlist == 0 && nclass > 0) { (void)H5I_clear_type(H5I_GENPROP_CLS, FALSE, FALSE); /* Reset the default property classes, if they've been closed */ - if(H5I_nmembers(H5I_GENPROP_CLS) == 0) { - H5P_CLS_ROOT_g = - H5P_CLS_OBJECT_CREATE_g = - H5P_CLS_FILE_CREATE_g = - H5P_CLS_FILE_ACCESS_g = - H5P_CLS_DATASET_CREATE_g = - H5P_CLS_DATASET_ACCESS_g = - H5P_CLS_DATASET_XFER_g = - H5P_CLS_GROUP_CREATE_g = - H5P_CLS_GROUP_ACCESS_g = - H5P_CLS_DATATYPE_CREATE_g = - H5P_CLS_DATATYPE_ACCESS_g = - H5P_CLS_STRING_CREATE_g = - H5P_CLS_ATTRIBUTE_CREATE_g = - H5P_CLS_ATTRIBUTE_ACCESS_g = - H5P_CLS_OBJECT_COPY_g = - H5P_CLS_LINK_CREATE_g = - H5P_CLS_LINK_ACCESS_g = - H5P_CLS_FILE_MOUNT_g = NULL; - - H5P_CLS_ROOT_ID_g = - H5P_CLS_OBJECT_CREATE_ID_g = - H5P_CLS_FILE_CREATE_ID_g = - H5P_CLS_FILE_ACCESS_ID_g = - H5P_CLS_DATASET_CREATE_ID_g = - H5P_CLS_DATASET_ACCESS_ID_g = - H5P_CLS_DATASET_XFER_ID_g = - H5P_CLS_GROUP_CREATE_ID_g = - H5P_CLS_GROUP_ACCESS_ID_g = - H5P_CLS_DATATYPE_CREATE_ID_g = - H5P_CLS_DATATYPE_ACCESS_ID_g = - H5P_CLS_STRING_CREATE_ID_g = - H5P_CLS_ATTRIBUTE_CREATE_ID_g = - H5P_CLS_ATTRIBUTE_ACCESS_ID_g = - H5P_CLS_OBJECT_COPY_ID_g = - H5P_CLS_LINK_CREATE_ID_g = - H5P_CLS_LINK_ACCESS_ID_g = - H5P_CLS_FILE_MOUNT_ID_g = H5I_INVALID_HID; + if (H5I_nmembers(H5I_GENPROP_CLS) == 0) { + H5P_CLS_ROOT_g = H5P_CLS_OBJECT_CREATE_g = H5P_CLS_FILE_CREATE_g = H5P_CLS_FILE_ACCESS_g = + H5P_CLS_DATASET_CREATE_g = H5P_CLS_DATASET_ACCESS_g = H5P_CLS_DATASET_XFER_g = + H5P_CLS_GROUP_CREATE_g = H5P_CLS_GROUP_ACCESS_g = H5P_CLS_DATATYPE_CREATE_g = + H5P_CLS_DATATYPE_ACCESS_g = H5P_CLS_STRING_CREATE_g = + H5P_CLS_ATTRIBUTE_CREATE_g = H5P_CLS_ATTRIBUTE_ACCESS_g = + H5P_CLS_OBJECT_COPY_g = H5P_CLS_LINK_CREATE_g = + H5P_CLS_LINK_ACCESS_g = H5P_CLS_FILE_MOUNT_g = NULL; + + H5P_CLS_ROOT_ID_g = H5P_CLS_OBJECT_CREATE_ID_g = H5P_CLS_FILE_CREATE_ID_g = + H5P_CLS_FILE_ACCESS_ID_g = H5P_CLS_DATASET_CREATE_ID_g = H5P_CLS_DATASET_ACCESS_ID_g = + H5P_CLS_DATASET_XFER_ID_g = H5P_CLS_GROUP_CREATE_ID_g = + H5P_CLS_GROUP_ACCESS_ID_g = H5P_CLS_DATATYPE_CREATE_ID_g = + H5P_CLS_DATATYPE_ACCESS_ID_g = H5P_CLS_STRING_CREATE_ID_g = + H5P_CLS_ATTRIBUTE_CREATE_ID_g = H5P_CLS_ATTRIBUTE_ACCESS_ID_g = + H5P_CLS_OBJECT_COPY_ID_g = H5P_CLS_LINK_CREATE_ID_g = + H5P_CLS_LINK_ACCESS_ID_g = H5P_CLS_FILE_MOUNT_ID_g = + H5I_INVALID_HID; } /* end if */ - } /* end if */ + } /* end if */ n++; /*H5I*/ - } else { + } + else { /* Destroy the property list and class id groups */ n += (H5I_dec_type_ref(H5I_GENPROP_LST) > 0); n += (H5I_dec_type_ref(H5I_GENPROP_CLS) > 0); /* Mark closed */ - if(0 == n) + if (0 == n) H5_PKG_INIT_VAR = FALSE; } /* end else */ - } /* end if */ + } /* end if */ FUNC_LEAVE_NOAPI(n) } /* end H5P_term_package() */ - /*-------------------------------------------------------------------------- NAME H5P__do_prop_cb1 @@ -604,9 +569,9 @@ H5P_term_package(void) static herr_t H5P__do_prop_cb1(H5SL_t *slist, H5P_genprop_t *prop, H5P_prp_cb1_t cb) { - void *tmp_value = NULL; /* Temporary value buffer */ - H5P_genprop_t *pcopy = NULL; /* Copy of property to insert into skip list */ - herr_t ret_value = SUCCEED; /* Return value */ + void * tmp_value = NULL; /* Temporary value buffer */ + H5P_genprop_t *pcopy = NULL; /* Copy of property to insert into skip list */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -617,39 +582,38 @@ H5P__do_prop_cb1(H5SL_t *slist, H5P_genprop_t *prop, H5P_prp_cb1_t cb) HDassert(cb); /* Allocate space for a temporary copy of the property value */ - if(NULL == (tmp_value = H5MM_malloc(prop->size))) + if (NULL == (tmp_value = H5MM_malloc(prop->size))) HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed for temporary property value") H5MM_memcpy(tmp_value, prop->value, prop->size); /* Call "type 1" callback ('create', 'copy' or 'close') */ - if(cb(prop->name, prop->size, tmp_value) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL,"Property callback failed") + if (cb(prop->name, prop->size, tmp_value) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "Property callback failed") /* Make a copy of the class's property */ - if(NULL == (pcopy = H5P__dup_prop(prop, H5P_PROP_WITHIN_LIST))) + if (NULL == (pcopy = H5P__dup_prop(prop, H5P_PROP_WITHIN_LIST))) HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "Can't copy property") /* Copy the changed value into the new property */ H5MM_memcpy(pcopy->value, tmp_value, prop->size); /* Insert the changed property into the property list */ - if(H5P__add_prop(slist, pcopy) < 0) + if (H5P__add_prop(slist, pcopy) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "Can't insert property into skip list") done: /* Release the temporary value buffer */ - if(tmp_value) + if (tmp_value) H5MM_xfree(tmp_value); /* Cleanup on failure */ - if(ret_value < 0) - if(pcopy) + if (ret_value < 0) + if (pcopy) H5P__free_prop(pcopy); FUNC_LEAVE_NOAPI(ret_value) } /* end H5P__do_prop_cb1() */ - /*-------------------------------------------------------------------------- NAME H5P__copy_pclass @@ -673,9 +637,9 @@ done: H5P_genclass_t * H5P__copy_pclass(H5P_genclass_t *pclass) { - H5P_genclass_t *new_pclass = NULL; /* Property list class copied */ - H5P_genprop_t *pcopy; /* Copy of property to insert into class */ - H5P_genclass_t *ret_value=NULL; /* return value */ + H5P_genclass_t *new_pclass = NULL; /* Property list class copied */ + H5P_genprop_t * pcopy; /* Copy of property to insert into class */ + H5P_genclass_t *ret_value = NULL; /* return value */ FUNC_ENTER_PACKAGE @@ -686,43 +650,44 @@ H5P__copy_pclass(H5P_genclass_t *pclass) */ /* Create the new property list class */ - if(NULL == (new_pclass = H5P__create_class(pclass->parent, pclass->name, pclass->type, pclass->create_func, pclass->create_data, pclass->copy_func, pclass->copy_data, pclass->close_func, pclass->close_data))) + if (NULL == (new_pclass = H5P__create_class(pclass->parent, pclass->name, pclass->type, + pclass->create_func, pclass->create_data, pclass->copy_func, + pclass->copy_data, pclass->close_func, pclass->close_data))) HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, NULL, "unable to create property list class") /* Copy the properties registered for this class */ - if(pclass->nprops > 0) { - H5SL_node_t *curr_node; /* Current node in skip list */ + if (pclass->nprops > 0) { + H5SL_node_t *curr_node; /* Current node in skip list */ /* Walk through the properties in the old class */ - curr_node=H5SL_first(pclass->props); - while(curr_node!=NULL) { + curr_node = H5SL_first(pclass->props); + while (curr_node != NULL) { /* Make a copy of the class's property */ - if(NULL == (pcopy = H5P__dup_prop((H5P_genprop_t *)H5SL_item(curr_node), H5P_PROP_WITHIN_CLASS))) - HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, NULL,"Can't copy property") + if (NULL == (pcopy = H5P__dup_prop((H5P_genprop_t *)H5SL_item(curr_node), H5P_PROP_WITHIN_CLASS))) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, NULL, "Can't copy property") /* Insert the initialized property into the property list */ - if(H5P__add_prop(new_pclass->props,pcopy) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, NULL,"Can't insert property into class") + if (H5P__add_prop(new_pclass->props, pcopy) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, NULL, "Can't insert property into class") /* Increment property count for class */ new_pclass->nprops++; /* Get the next property node in the list */ - curr_node=H5SL_next(curr_node); + curr_node = H5SL_next(curr_node); } /* end while */ - } /* end if */ + } /* end if */ /* Set the return value */ - ret_value=new_pclass; + ret_value = new_pclass; done: - if(NULL == ret_value && new_pclass) + if (NULL == ret_value && new_pclass) H5P__close_class(new_pclass); FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__copy_pclass() */ +} /* H5P__copy_pclass() */ - /*-------------------------------------------------------------------------- NAME H5P_copy_plist @@ -747,16 +712,16 @@ done: hid_t H5P_copy_plist(const H5P_genplist_t *old_plist, hbool_t app_ref) { - H5P_genclass_t *tclass; /* Temporary class pointer */ - H5P_genplist_t *new_plist=NULL; /* New property list generated from copy */ - H5P_genprop_t *tmp; /* Temporary pointer to properties */ - H5P_genprop_t *new_prop; /* New property created for copy */ - hid_t new_plist_id; /* Property list ID of new list created */ - H5SL_node_t *curr_node; /* Current node in skip list */ - H5SL_t *seen=NULL; /* Skip list containing properties already seen */ - size_t nseen; /* Number of items 'seen' */ - hbool_t has_parent_class; /* Flag to indicate that this property list's class has a parent */ - hid_t ret_value = H5I_INVALID_HID; /* return value */ + H5P_genclass_t *tclass; /* Temporary class pointer */ + H5P_genplist_t *new_plist = NULL; /* New property list generated from copy */ + H5P_genprop_t * tmp; /* Temporary pointer to properties */ + H5P_genprop_t * new_prop; /* New property created for copy */ + hid_t new_plist_id; /* Property list ID of new list created */ + H5SL_node_t * curr_node; /* Current node in skip list */ + H5SL_t * seen = NULL; /* Skip list containing properties already seen */ + size_t nseen; /* Number of items 'seen' */ + hbool_t has_parent_class; /* Flag to indicate that this property list's class has a parent */ + hid_t ret_value = H5I_INVALID_HID; /* return value */ FUNC_ENTER_NOAPI(H5I_INVALID_HID) @@ -767,83 +732,88 @@ H5P_copy_plist(const H5P_genplist_t *old_plist, hbool_t app_ref) */ /* Allocate room for the property list */ - if(NULL==(new_plist = H5FL_CALLOC(H5P_genplist_t))) + if (NULL == (new_plist = H5FL_CALLOC(H5P_genplist_t))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, H5I_INVALID_HID, "memory allocation failed") /* Set class state */ - new_plist->pclass = old_plist->pclass; - new_plist->nprops = 0; /* Initially the plist has the same number of properties as the class */ - new_plist->class_init = FALSE; /* Initially, wait until the class callback finishes to set */ + new_plist->pclass = old_plist->pclass; + new_plist->nprops = 0; /* Initially the plist has the same number of properties as the class */ + new_plist->class_init = FALSE; /* Initially, wait until the class callback finishes to set */ /* Initialize the skip list to hold the changed properties */ - if((new_plist->props = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) - HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID, "can't create skip list for changed properties") + if ((new_plist->props = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID, + "can't create skip list for changed properties") /* Create the skip list for deleted properties */ - if((new_plist->del = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) - HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID, "can't create skip list for deleted properties") + if ((new_plist->del = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID, + "can't create skip list for deleted properties") /* Create the skip list to hold names of properties already seen * (This prevents a property in the class hierarchy from having it's * 'create' callback called, if a property in the class hierarchy has * already been seen) */ - if((seen = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) + if ((seen = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID, "can't create skip list for seen properties") nseen = 0; /* Cycle through the deleted properties & copy them into the new list's deleted section */ - if(H5SL_count(old_plist->del) > 0) { + if (H5SL_count(old_plist->del) > 0) { curr_node = H5SL_first(old_plist->del); - while(curr_node) { - char *new_name; /* Pointer to new name */ + while (curr_node) { + char *new_name; /* Pointer to new name */ /* Duplicate string for insertion into new deleted property skip list */ - if((new_name = H5MM_xstrdup((char *)H5SL_item(curr_node))) == NULL) + if ((new_name = H5MM_xstrdup((char *)H5SL_item(curr_node))) == NULL) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, H5I_INVALID_HID, "memory allocation failed") /* Insert property name into deleted list */ - if(H5SL_insert(new_plist->del,new_name,new_name) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert property into deleted skip list") + if (H5SL_insert(new_plist->del, new_name, new_name) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID, + "can't insert property into deleted skip list") /* Add property name to "seen" list */ - if(H5SL_insert(seen,new_name,new_name) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert property into seen skip list") + if (H5SL_insert(seen, new_name, new_name) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID, + "can't insert property into seen skip list") nseen++; /* Get the next property node in the skip list */ curr_node = H5SL_next(curr_node); } /* end while */ - } /* end if */ + } /* end if */ /* Cycle through the properties and copy them also */ - if(H5SL_count(old_plist->props) > 0) { + if (H5SL_count(old_plist->props) > 0) { curr_node = H5SL_first(old_plist->props); - while(curr_node) { + while (curr_node) { /* Get a pointer to the node's property */ tmp = (H5P_genprop_t *)H5SL_item(curr_node); /* Make a copy of the list's property */ - if(NULL == (new_prop = H5P__dup_prop(tmp, H5P_PROP_WITHIN_LIST))) + if (NULL == (new_prop = H5P__dup_prop(tmp, H5P_PROP_WITHIN_LIST))) HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, H5I_INVALID_HID, "Can't copy property") /* Call property copy callback, if it exists */ - if(new_prop->copy) { - if((new_prop->copy)(new_prop->name,new_prop->size,new_prop->value) < 0) { + if (new_prop->copy) { + if ((new_prop->copy)(new_prop->name, new_prop->size, new_prop->value) < 0) { H5P__free_prop(new_prop); HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, H5I_INVALID_HID, "Can't copy property") } /* end if */ - } /* end if */ + } /* end if */ /* Insert the initialized property into the property list */ - if(H5P__add_prop(new_plist->props,new_prop) < 0) { + if (H5P__add_prop(new_plist->props, new_prop) < 0) { H5P__free_prop(new_prop); HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID, "Can't insert property into list") } /* end if */ /* Add property name to "seen" list */ - if(H5SL_insert(seen,new_prop->name,new_prop->name) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert property into seen skip list") + if (H5SL_insert(seen, new_prop->name, new_prop->name) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID, + "can't insert property into seen skip list") nseen++; /* Increment the number of properties in list */ @@ -852,35 +822,36 @@ H5P_copy_plist(const H5P_genplist_t *old_plist, hbool_t app_ref) /* Get the next property node in the skip list */ curr_node = H5SL_next(curr_node); } /* end while */ - } /* end if */ + } /* end if */ /* * Check for copying class properties (up through list of parent classes also), * initialize each with default value & make property 'copy' callback. */ - tclass=old_plist->pclass; + tclass = old_plist->pclass; has_parent_class = (hbool_t)(tclass != NULL && tclass->parent != NULL && tclass->parent->nprops > 0); - while(tclass != NULL) { - if(tclass->nprops>0) { + while (tclass != NULL) { + if (tclass->nprops > 0) { /* Walk through the properties in the old class */ curr_node = H5SL_first(tclass->props); - while(curr_node!=NULL) { + while (curr_node != NULL) { /* Get pointer to property from node */ tmp = (H5P_genprop_t *)H5SL_item(curr_node); /* Only "copy" properties we haven't seen before */ - if(nseen == 0 || H5SL_search(seen,tmp->name) == NULL) { + if (nseen == 0 || H5SL_search(seen, tmp->name) == NULL) { /* Call property copy callback, if it exists */ - if(tmp->copy) { + if (tmp->copy) { /* Call the callback & insert changed value into skip list (if necessary) */ - if(H5P__do_prop_cb1(new_plist->props, tmp, tmp->copy) < 0) + if (H5P__do_prop_cb1(new_plist->props, tmp, tmp->copy) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, H5I_INVALID_HID, "Can't create property") } /* end if */ /* Add property name to "seen" list, if we have other classes to work on */ - if(has_parent_class) { - if(H5SL_insert(seen,tmp->name,tmp->name) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert property into seen skip list") + if (has_parent_class) { + if (H5SL_insert(seen, tmp->name, tmp->name) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID, + "can't insert property into seen skip list") nseen++; } /* end if */ @@ -891,35 +862,36 @@ H5P_copy_plist(const H5P_genplist_t *old_plist, hbool_t app_ref) /* Get the next property node in the skip list */ curr_node = H5SL_next(curr_node); } /* end while */ - } /* end if */ + } /* end if */ /* Go up to parent class */ tclass = tclass->parent; } /* end while */ /* Increment the number of property lists derived from class */ - if(H5P__access_class(new_plist->pclass, H5P_MOD_INC_LST) < 0) + if (H5P__access_class(new_plist->pclass, H5P_MOD_INC_LST) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, H5I_INVALID_HID, "Can't increment class ref count") /* Get an atom for the property list */ - if((new_plist_id = H5I_register(H5I_GENPROP_LST, new_plist, app_ref)) < 0) + if ((new_plist_id = H5I_register(H5I_GENPROP_LST, new_plist, app_ref)) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to atomize property list") - /* Save the property list ID in the property list struct, for use in the property class's 'close' callback */ + /* Save the property list ID in the property list struct, for use in the property class's 'close' callback + */ new_plist->plist_id = new_plist_id; /* Call the class callback (if it exists) now that we have the property list ID * (up through chain of parent classes also) */ tclass = new_plist->pclass; - while(NULL != tclass) { - if(NULL != tclass->copy_func) { - if((tclass->copy_func)(new_plist_id, old_plist->plist_id, old_plist->pclass->copy_data) < 0) { + while (NULL != tclass) { + if (NULL != tclass->copy_func) { + if ((tclass->copy_func)(new_plist_id, old_plist->plist_id, old_plist->pclass->copy_data) < 0) { /* Delete ID, ignore return value */ H5I_remove(new_plist_id); HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, H5I_INVALID_HID, "Can't initialize property") } /* end if */ - } /* end if */ + } /* end if */ /* Go up to parent class */ tclass = tclass->parent; @@ -929,20 +901,19 @@ H5P_copy_plist(const H5P_genplist_t *old_plist, hbool_t app_ref) new_plist->class_init = TRUE; /* Set the return value */ - ret_value=new_plist_id; + ret_value = new_plist_id; done: /* Release the list of 'seen' properties */ - if(seen != NULL) + if (seen != NULL) H5SL_close(seen); - if(H5I_INVALID_HID == ret_value && new_plist) + if (H5I_INVALID_HID == ret_value && new_plist) H5P_close(new_plist); FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_copy_plist() */ +} /* H5P_copy_plist() */ - /*-------------------------------------------------------------------------- NAME H5P__dup_prop @@ -965,7 +936,7 @@ done: static H5P_genprop_t * H5P__dup_prop(H5P_genprop_t *oprop, H5P_prop_within_t type) { - H5P_genprop_t *prop = NULL; /* Pointer to new property copied */ + H5P_genprop_t *prop = NULL; /* Pointer to new property copied */ H5P_genprop_t *ret_value = NULL; /* Return value */ FUNC_ENTER_STATIC @@ -974,7 +945,7 @@ H5P__dup_prop(H5P_genprop_t *oprop, H5P_prop_within_t type) HDassert(type != H5P_PROP_WITHIN_UNKNOWN); /* Allocate the new property */ - if(NULL == (prop = H5FL_MALLOC(H5P_genprop_t))) + if (NULL == (prop = H5FL_MALLOC(H5P_genprop_t))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") /* Copy basic property information */ @@ -983,7 +954,7 @@ H5P__dup_prop(H5P_genprop_t *oprop, H5P_prop_within_t type) /* Check if we should duplicate the name or share it */ /* Duplicating property for a class */ - if(type == H5P_PROP_WITHIN_CLASS) { + if (type == H5P_PROP_WITHIN_CLASS) { HDassert(oprop->type == H5P_PROP_WITHIN_CLASS); HDassert(oprop->shared_name == FALSE); @@ -995,9 +966,9 @@ H5P__dup_prop(H5P_genprop_t *oprop, H5P_prop_within_t type) /* Check if we are duplicating a property from a list or a class */ /* Duplicating a property from a list */ - if(oprop->type == H5P_PROP_WITHIN_LIST) { + if (oprop->type == H5P_PROP_WITHIN_LIST) { /* If the old property's name wasn't shared, we have to copy it here also */ - if(!oprop->shared_name) + if (!oprop->shared_name) prop->name = H5MM_xstrdup(oprop->name); } /* end if */ /* Duplicating a property from a class */ @@ -1011,12 +982,12 @@ H5P__dup_prop(H5P_genprop_t *oprop, H5P_prop_within_t type) /* Set the type */ prop->type = type; } /* end else */ - } /* end else */ + } /* end else */ /* Duplicate current value, if it exists */ - if(oprop->value != NULL) { + if (oprop->value != NULL) { HDassert(prop->size > 0); - if(NULL == (prop->value = H5MM_malloc(prop->size))) + if (NULL == (prop->value = H5MM_malloc(prop->size))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") H5MM_memcpy(prop->value, oprop->value, prop->size); } /* end if */ @@ -1026,20 +997,19 @@ H5P__dup_prop(H5P_genprop_t *oprop, H5P_prop_within_t type) done: /* Free any resources allocated */ - if(ret_value == NULL) { - if(prop != NULL) { - if(prop->name != NULL) + if (ret_value == NULL) { + if (prop != NULL) { + if (prop->name != NULL) H5MM_xfree(prop->name); - if(prop->value != NULL) + if (prop->value != NULL) H5MM_xfree(prop->value); prop = H5FL_FREE(H5P_genprop_t, prop); } /* end if */ - } /* end if */ + } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__dup_prop() */ +} /* H5P__dup_prop() */ - /*-------------------------------------------------------------------------- NAME H5P__create_prop @@ -1074,15 +1044,13 @@ done: REVISION LOG --------------------------------------------------------------------------*/ static H5P_genprop_t * -H5P__create_prop(const char *name, size_t size, H5P_prop_within_t type, - const void *value, H5P_prp_create_func_t prp_create, - H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, - H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, - H5P_prp_delete_func_t prp_delete, - H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp, - H5P_prp_close_func_t prp_close) +H5P__create_prop(const char *name, size_t size, H5P_prop_within_t type, const void *value, + H5P_prp_create_func_t prp_create, H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, + H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, + H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, + H5P_prp_compare_func_t prp_cmp, H5P_prp_close_func_t prp_close) { - H5P_genprop_t *prop = NULL; /* Pointer to new property copied */ + H5P_genprop_t *prop = NULL; /* Pointer to new property copied */ H5P_genprop_t *ret_value = NULL; /* Return value */ FUNC_ENTER_STATIC @@ -1092,18 +1060,18 @@ H5P__create_prop(const char *name, size_t size, H5P_prop_within_t type, HDassert(type != H5P_PROP_WITHIN_UNKNOWN); /* Allocate the new property */ - if(NULL == (prop = H5FL_MALLOC(H5P_genprop_t))) + if (NULL == (prop = H5FL_MALLOC(H5P_genprop_t))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") /* Set the property initial values */ - prop->name = H5MM_xstrdup(name); /* Duplicate name */ + prop->name = H5MM_xstrdup(name); /* Duplicate name */ prop->shared_name = FALSE; - prop->size = size; - prop->type = type; + prop->size = size; + prop->type = type; /* Duplicate value, if it exists */ - if(value != NULL) { - if(NULL == (prop->value = H5MM_malloc (prop->size))) + if (value != NULL) { + if (NULL == (prop->value = H5MM_malloc(prop->size))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") H5MM_memcpy(prop->value, value, prop->size); } /* end if */ @@ -1112,14 +1080,14 @@ H5P__create_prop(const char *name, size_t size, H5P_prop_within_t type, /* Set the function pointers */ prop->create = prp_create; - prop->set = prp_set; - prop->get = prp_get; + prop->set = prp_set; + prop->get = prp_get; prop->encode = prp_encode; prop->decode = prp_decode; - prop->del = prp_delete; - prop->copy = prp_copy; + prop->del = prp_delete; + prop->copy = prp_copy; /* Use custom comparison routine if available, otherwise default to memcmp() */ - if(prp_cmp != NULL) + if (prp_cmp != NULL) prop->cmp = prp_cmp; else prop->cmp = &memcmp; @@ -1130,20 +1098,19 @@ H5P__create_prop(const char *name, size_t size, H5P_prop_within_t type, done: /* Free any resources allocated */ - if(ret_value == NULL) { - if(prop != NULL) { - if(prop->name != NULL) + if (ret_value == NULL) { + if (prop != NULL) { + if (prop->name != NULL) H5MM_xfree(prop->name); - if(prop->value != NULL) + if (prop->value != NULL) H5MM_xfree(prop->value); prop = H5FL_FREE(H5P_genprop_t, prop); } /* end if */ - } /* end if */ + } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__create_prop() */ +} /* H5P__create_prop() */ - /*-------------------------------------------------------------------------- NAME H5P__add_prop @@ -1165,7 +1132,7 @@ done: herr_t H5P__add_prop(H5SL_t *slist, H5P_genprop_t *prop) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE @@ -1174,14 +1141,13 @@ H5P__add_prop(H5SL_t *slist, H5P_genprop_t *prop) HDassert(prop->type != H5P_PROP_WITHIN_UNKNOWN); /* Insert property into skip list */ - if(H5SL_insert(slist, prop, prop->name) < 0) + if (H5SL_insert(slist, prop, prop->name) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into skip list") done: FUNC_LEAVE_NOAPI(ret_value) } /* H5P__add_prop() */ - /*-------------------------------------------------------------------------- NAME H5P__find_prop_plist @@ -1203,7 +1169,7 @@ done: H5P_genprop_t * H5P__find_prop_plist(const H5P_genplist_t *plist, const char *name) { - H5P_genprop_t *ret_value = NULL; /* Return value */ + H5P_genprop_t *ret_value = NULL; /* Return value */ FUNC_ENTER_PACKAGE @@ -1211,19 +1177,19 @@ H5P__find_prop_plist(const H5P_genplist_t *plist, const char *name) HDassert(name); /* Check if the property has been deleted from list */ - if(H5SL_search(plist->del,name) != NULL) { + if (H5SL_search(plist->del, name) != NULL) { HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, NULL, "property deleted from skip list") } /* end if */ else { /* Get the property data from the skip list */ - if(NULL == (ret_value = (H5P_genprop_t *)H5SL_search(plist->props, name))) { - H5P_genclass_t *tclass; /* Temporary class pointer */ + if (NULL == (ret_value = (H5P_genprop_t *)H5SL_search(plist->props, name))) { + H5P_genclass_t *tclass; /* Temporary class pointer */ /* Couldn't find property in list itself, start searching through class info */ tclass = plist->pclass; - while(tclass != NULL) { + while (tclass != NULL) { /* Find the property in the class */ - if(NULL != (ret_value = (H5P_genprop_t *)H5SL_search(tclass->props, name))) + if (NULL != (ret_value = (H5P_genprop_t *)H5SL_search(tclass->props, name))) /* Got pointer to property - leave now */ break; @@ -1232,16 +1198,15 @@ H5P__find_prop_plist(const H5P_genplist_t *plist, const char *name) } /* end while */ /* Check if we haven't found the property */ - if(ret_value == NULL) - HGOTO_ERROR(H5E_PLIST,H5E_NOTFOUND,NULL,"can't find property in skip list") + if (ret_value == NULL) + HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, NULL, "can't find property in skip list") } /* end else */ - } /* end else */ + } /* end else */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__find_prop_plist() */ +} /* H5P__find_prop_plist() */ - /*-------------------------------------------------------------------------- NAME H5P__find_prop_pclass @@ -1263,7 +1228,7 @@ done: static H5P_genprop_t * H5P__find_prop_pclass(H5P_genclass_t *pclass, const char *name) { - H5P_genprop_t *ret_value = NULL; /* Return value */ + H5P_genprop_t *ret_value = NULL; /* Return value */ FUNC_ENTER_STATIC @@ -1271,14 +1236,13 @@ H5P__find_prop_pclass(H5P_genclass_t *pclass, const char *name) HDassert(name); /* Get the property from the skip list */ - if(NULL == (ret_value = (H5P_genprop_t *)H5SL_search(pclass->props, name))) - HGOTO_ERROR(H5E_PLIST,H5E_NOTFOUND,NULL,"can't find property in skip list") + if (NULL == (ret_value = (H5P_genprop_t *)H5SL_search(pclass->props, name))) + HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, NULL, "can't find property in skip list") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__find_prop_pclass() */ +} /* H5P__find_prop_pclass() */ - /*-------------------------------------------------------------------------- NAME H5P__free_prop @@ -1305,19 +1269,18 @@ H5P__free_prop(H5P_genprop_t *prop) HDassert(prop); /* Release the property value if it exists */ - if(prop->value) + if (prop->value) H5MM_xfree(prop->value); /* Only free the name if we own it */ - if(!prop->shared_name) + if (!prop->shared_name) H5MM_xfree(prop->name); prop = H5FL_FREE(H5P_genprop_t, prop); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5P__free_prop() */ +} /* H5P__free_prop() */ - /*-------------------------------------------------------------------------- NAME H5P__free_prop_cb @@ -1341,24 +1304,23 @@ H5P__free_prop(H5P_genprop_t *prop) static herr_t H5P__free_prop_cb(void *item, void H5_ATTR_UNUSED *key, void *op_data) { - H5P_genprop_t *tprop=(H5P_genprop_t *)item; /* Temporary pointer to property */ - hbool_t make_cb = *(hbool_t *)op_data; /* Whether to make property 'close' callback */ + H5P_genprop_t *tprop = (H5P_genprop_t *)item; /* Temporary pointer to property */ + hbool_t make_cb = *(hbool_t *)op_data; /* Whether to make property 'close' callback */ FUNC_ENTER_STATIC_NOERR HDassert(tprop); /* Call the close callback and ignore the return value, there's nothing we can do about it */ - if(make_cb && tprop->close != NULL) + if (make_cb && tprop->close != NULL) (tprop->close)(tprop->name, tprop->size, tprop->value); /* Free the property, ignoring return value, nothing we can do */ H5P__free_prop(tprop); FUNC_LEAVE_NOAPI(0) -} /* H5P__free_prop_cb() */ +} /* H5P__free_prop_cb() */ - /*-------------------------------------------------------------------------- NAME H5P__free_del_name_cb @@ -1381,7 +1343,7 @@ H5P__free_prop_cb(void *item, void H5_ATTR_UNUSED *key, void *op_data) static herr_t H5P__free_del_name_cb(void *item, void H5_ATTR_UNUSED *key, void H5_ATTR_UNUSED *op_data) { - char *del_name=(char *)item; /* Temporary pointer to deleted name */ + char *del_name = (char *)item; /* Temporary pointer to deleted name */ FUNC_ENTER_STATIC_NOERR @@ -1391,9 +1353,8 @@ H5P__free_del_name_cb(void *item, void H5_ATTR_UNUSED *key, void H5_ATTR_UNUSED H5MM_xfree(del_name); FUNC_LEAVE_NOAPI(0) -} /* H5P__free_del_name_cb() */ +} /* H5P__free_del_name_cb() */ - /*-------------------------------------------------------------------------- NAME H5P__access_class @@ -1424,35 +1385,35 @@ H5P__access_class(H5P_genclass_t *pclass, H5P_class_mod_t mod) HDassert(pclass); HDassert(mod > H5P_MOD_ERR && mod < H5P_MOD_MAX); - switch(mod) { - case H5P_MOD_INC_CLS: /* Increment the dependent class count*/ + switch (mod) { + case H5P_MOD_INC_CLS: /* Increment the dependent class count*/ pclass->classes++; break; - case H5P_MOD_DEC_CLS: /* Decrement the dependent class count*/ + case H5P_MOD_DEC_CLS: /* Decrement the dependent class count*/ pclass->classes--; break; - case H5P_MOD_INC_LST: /* Increment the dependent list count*/ + case H5P_MOD_INC_LST: /* Increment the dependent list count*/ pclass->plists++; break; - case H5P_MOD_DEC_LST: /* Decrement the dependent list count*/ + case H5P_MOD_DEC_LST: /* Decrement the dependent list count*/ pclass->plists--; break; - case H5P_MOD_INC_REF: /* Increment the ID reference count*/ + case H5P_MOD_INC_REF: /* Increment the ID reference count*/ /* Reset the deleted flag if incrementing the reference count */ - if(pclass->deleted) + if (pclass->deleted) pclass->deleted = FALSE; pclass->ref_count++; break; - case H5P_MOD_DEC_REF: /* Decrement the ID reference count*/ + case H5P_MOD_DEC_REF: /* Decrement the ID reference count*/ pclass->ref_count--; /* Mark the class object as deleted if reference count drops to zero */ - if(pclass->ref_count == 0) + if (pclass->ref_count == 0) pclass->deleted = TRUE; break; @@ -1463,14 +1424,14 @@ H5P__access_class(H5P_genclass_t *pclass, H5P_class_mod_t mod) } /* end switch */ /* Check if we can release the class information now */ - if(pclass->deleted && pclass->plists == 0 && pclass->classes == 0) { - H5P_genclass_t *par_class = pclass->parent; /* Pointer to class's parent */ + if (pclass->deleted && pclass->plists == 0 && pclass->classes == 0) { + H5P_genclass_t *par_class = pclass->parent; /* Pointer to class's parent */ HDassert(pclass->name); H5MM_xfree(pclass->name); /* Free the class properties without making callbacks */ - if(pclass->props) { + if (pclass->props) { hbool_t make_cb = FALSE; H5SL_destroy(pclass->props, H5P__free_prop_cb, &make_cb); @@ -1479,14 +1440,13 @@ H5P__access_class(H5P_genclass_t *pclass, H5P_class_mod_t mod) pclass = H5FL_FREE(H5P_genclass_t, pclass); /* Reduce the number of dependent classes on parent class also */ - if(par_class != NULL) + if (par_class != NULL) H5P__access_class(par_class, H5P_MOD_DEC_CLS); } /* end if */ FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5P__access_class() */ +} /* H5P__access_class() */ - /*-------------------------------------------------------------------------- NAME H5P__open_class_path_cb @@ -1511,9 +1471,9 @@ H5P__access_class(H5P_genclass_t *pclass, H5P_class_mod_t mod) static int H5P__open_class_path_cb(void *_obj, hid_t H5_ATTR_UNUSED id, void *_key) { - H5P_genclass_t *obj = (H5P_genclass_t *)_obj; /* Pointer to the class for this ID */ - H5P_check_class_t *key = (H5P_check_class_t *)_key; /* Pointer to key information for comparison */ - int ret_value = 0; /* Return value */ + H5P_genclass_t * obj = (H5P_genclass_t *)_obj; /* Pointer to the class for this ID */ + H5P_check_class_t *key = (H5P_check_class_t *)_key; /* Pointer to key information for comparison */ + int ret_value = 0; /* Return value */ FUNC_ENTER_STATIC_NOERR @@ -1522,18 +1482,17 @@ H5P__open_class_path_cb(void *_obj, hid_t H5_ATTR_UNUSED id, void *_key) HDassert(key); /* Check if the class object has the same parent as the new class */ - if(obj->parent == key->parent) { + if (obj->parent == key->parent) { /* Check if they have the same name */ - if(HDstrcmp(obj->name, key->name) == 0) { + if (HDstrcmp(obj->name, key->name) == 0) { key->new_class = obj; - ret_value = 1; /* Indicate a match */ - } /* end if */ - } /* end if */ + ret_value = 1; /* Indicate a match */ + } /* end if */ + } /* end if */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5P__open_class_path_cb() */ - /*-------------------------------------------------------------------------- NAME H5P__create_class @@ -1569,52 +1528,51 @@ H5P__open_class_path_cb(void *_obj, hid_t H5_ATTR_UNUSED id, void *_key) --------------------------------------------------------------------------*/ H5P_genclass_t * H5P__create_class(H5P_genclass_t *par_class, const char *name, H5P_plist_type_t type, - H5P_cls_create_func_t cls_create, void *create_data, - H5P_cls_copy_func_t cls_copy, void *copy_data, - H5P_cls_close_func_t cls_close, void *close_data) + H5P_cls_create_func_t cls_create, void *create_data, H5P_cls_copy_func_t cls_copy, + void *copy_data, H5P_cls_close_func_t cls_close, void *close_data) { - H5P_genclass_t *pclass = NULL; /* Property list class created */ - H5P_genclass_t *ret_value = NULL; /* Return value */ + H5P_genclass_t *pclass = NULL; /* Property list class created */ + H5P_genclass_t *ret_value = NULL; /* Return value */ FUNC_ENTER_PACKAGE HDassert(name); /* Allow internal classes to break some rules */ /* (This allows the root of the tree to be created with this routine -QAK) */ - if(type == H5P_TYPE_USER) + if (type == H5P_TYPE_USER) HDassert(par_class); /* Allocate room for the class */ - if(NULL == (pclass = H5FL_CALLOC(H5P_genclass_t))) + if (NULL == (pclass = H5FL_CALLOC(H5P_genclass_t))) HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, NULL, "property list class allocation failed") /* Set class state */ pclass->parent = par_class; - if(NULL == (pclass->name = H5MM_xstrdup(name))) + if (NULL == (pclass->name = H5MM_xstrdup(name))) HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, NULL, "property list class name allocation failed") - pclass->type = type; - pclass->nprops = 0; /* Classes are created without properties initially */ - pclass->plists = 0; /* No properties lists of this class yet */ - pclass->classes = 0; /* No classes derived from this class yet */ - pclass->ref_count = 1; /* This is the first reference to the new class */ - pclass->deleted = FALSE; /* Not deleted yet... :-) */ - pclass->revision = H5P_GET_NEXT_REV; /* Get a revision number for the class */ + pclass->type = type; + pclass->nprops = 0; /* Classes are created without properties initially */ + pclass->plists = 0; /* No properties lists of this class yet */ + pclass->classes = 0; /* No classes derived from this class yet */ + pclass->ref_count = 1; /* This is the first reference to the new class */ + pclass->deleted = FALSE; /* Not deleted yet... :-) */ + pclass->revision = H5P_GET_NEXT_REV; /* Get a revision number for the class */ /* Create the skip list for properties */ - if(NULL == (pclass->props = H5SL_create(H5SL_TYPE_STR, NULL))) + if (NULL == (pclass->props = H5SL_create(H5SL_TYPE_STR, NULL))) HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, NULL, "can't create skip list for properties") /* Set callback functions and pass-along data */ pclass->create_func = cls_create; pclass->create_data = create_data; - pclass->copy_func = cls_copy; - pclass->copy_data = copy_data; - pclass->close_func = cls_close; - pclass->close_data = close_data; + pclass->copy_func = cls_copy; + pclass->copy_data = copy_data; + pclass->close_func = cls_close; + pclass->close_data = close_data; /* Increment parent class's derived class value */ - if(par_class != NULL) { - if(H5P__access_class(par_class, H5P_MOD_INC_CLS) < 0) + if (par_class != NULL) { + if (H5P__access_class(par_class, H5P_MOD_INC_CLS) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, NULL, "Can't increment parent class ref count") } /* end if */ @@ -1623,11 +1581,11 @@ H5P__create_class(H5P_genclass_t *par_class, const char *name, H5P_plist_type_t done: /* Free any resources allocated */ - if(ret_value == NULL) - if(pclass) { - if(pclass->name) + if (ret_value == NULL) + if (pclass) { + if (pclass->name) H5MM_xfree(pclass->name); - if(pclass->props) { + if (pclass->props) { hbool_t make_cb = FALSE; H5SL_destroy(pclass->props, H5P__free_prop_cb, &make_cb); @@ -1636,9 +1594,8 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__create_class() */ +} /* H5P__create_class() */ - /*-------------------------------------------------------------------------- NAME H5P__create @@ -1667,11 +1624,11 @@ done: static H5P_genplist_t * H5P__create(H5P_genclass_t *pclass) { - H5P_genclass_t *tclass; /* Temporary class pointer */ - H5P_genplist_t *plist = NULL; /* New property list created */ - H5P_genprop_t *tmp; /* Temporary pointer to parent class properties */ - H5SL_t *seen = NULL; /* Skip list to hold names of properties already seen */ - H5P_genplist_t *ret_value = NULL; /* Return value */ + H5P_genclass_t *tclass; /* Temporary class pointer */ + H5P_genplist_t *plist = NULL; /* New property list created */ + H5P_genprop_t * tmp; /* Temporary pointer to parent class properties */ + H5SL_t * seen = NULL; /* Skip list to hold names of properties already seen */ + H5P_genplist_t *ret_value = NULL; /* Return value */ FUNC_ENTER_STATIC @@ -1682,106 +1639,106 @@ H5P__create(H5P_genclass_t *pclass) */ /* Allocate room for the property list */ - if(NULL==(plist = H5FL_CALLOC(H5P_genplist_t))) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL,"memory allocation failed") + if (NULL == (plist = H5FL_CALLOC(H5P_genplist_t))) + HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") /* Set class state */ - plist->pclass = pclass; - plist->nprops = 0; /* Initially the plist has the same number of properties as the class */ - plist->class_init = FALSE; /* Initially, wait until the class callback finishes to set */ + plist->pclass = pclass; + plist->nprops = 0; /* Initially the plist has the same number of properties as the class */ + plist->class_init = FALSE; /* Initially, wait until the class callback finishes to set */ /* Create the skip list for changed properties */ - if((plist->props = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) - HGOTO_ERROR(H5E_PLIST,H5E_CANTCREATE,NULL,"can't create skip list for changed properties") + if ((plist->props = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, NULL, "can't create skip list for changed properties") /* Create the skip list for deleted properties */ - if((plist->del = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) - HGOTO_ERROR(H5E_PLIST,H5E_CANTCREATE,NULL,"can't create skip list for deleted properties") + if ((plist->del = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, NULL, "can't create skip list for deleted properties") /* Create the skip list to hold names of properties already seen * (This prevents a property in the class hierarchy from having it's * 'create' callback called, if a property in the class hierarchy has * already been seen) */ - if((seen = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) - HGOTO_ERROR(H5E_PLIST,H5E_CANTCREATE,NULL,"can't create skip list for seen properties") + if ((seen = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, NULL, "can't create skip list for seen properties") /* * Check if we should copy class properties (up through list of parent classes also), * initialize each with default value & make property 'create' callback. */ - tclass=pclass; - while(tclass!=NULL) { - if(tclass->nprops>0) { - H5SL_node_t *curr_node; /* Current node in skip list */ + tclass = pclass; + while (tclass != NULL) { + if (tclass->nprops > 0) { + H5SL_node_t *curr_node; /* Current node in skip list */ /* Walk through the properties in the old class */ - curr_node=H5SL_first(tclass->props); - while(curr_node!=NULL) { + curr_node = H5SL_first(tclass->props); + while (curr_node != NULL) { /* Get pointer to property from node */ tmp = (H5P_genprop_t *)H5SL_item(curr_node); /* Only "create" properties we haven't seen before */ - if(H5SL_search(seen,tmp->name) == NULL) { + if (H5SL_search(seen, tmp->name) == NULL) { /* Call property creation callback, if it exists */ - if(tmp->create) { + if (tmp->create) { /* Call the callback & insert changed value into skip list (if necessary) */ - if(H5P__do_prop_cb1(plist->props, tmp, tmp->create) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, NULL,"Can't create property") + if (H5P__do_prop_cb1(plist->props, tmp, tmp->create) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, NULL, "Can't create property") } /* end if */ /* Add property name to "seen" list */ - if(H5SL_insert(seen,tmp->name,tmp->name) < 0) - HGOTO_ERROR(H5E_PLIST,H5E_CANTINSERT,NULL,"can't insert property into seen skip list") + if (H5SL_insert(seen, tmp->name, tmp->name) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, NULL, + "can't insert property into seen skip list") /* Increment the number of properties in list */ plist->nprops++; } /* end if */ /* Get the next property node in the skip list */ - curr_node=H5SL_next(curr_node); + curr_node = H5SL_next(curr_node); } /* end while */ - } /* end if */ + } /* end if */ /* Go up to parent class */ - tclass=tclass->parent; + tclass = tclass->parent; } /* end while */ /* Increment the number of property lists derived from class */ - if(H5P__access_class(plist->pclass,H5P_MOD_INC_LST) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, NULL,"Can't increment class ref count") + if (H5P__access_class(plist->pclass, H5P_MOD_INC_LST) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, NULL, "Can't increment class ref count") /* Set return value */ - ret_value=plist; + ret_value = plist; done: /* Release the skip list of 'seen' properties */ - if(seen!=NULL) + if (seen != NULL) H5SL_close(seen); /* Release resources allocated on failure */ - if(ret_value==NULL) { - if(plist!=NULL) { + if (ret_value == NULL) { + if (plist != NULL) { /* Close & free any changed properties */ - if(plist->props) { - unsigned make_cb=1; + if (plist->props) { + unsigned make_cb = 1; H5SL_destroy(plist->props, H5P__free_prop_cb, &make_cb); } /* end if */ /* Close the deleted property skip list */ - if(plist->del) + if (plist->del) H5SL_close(plist->del); /* Release the property list itself */ plist = H5FL_FREE(H5P_genplist_t, plist); } /* end if */ - } /* end if */ + } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__create() */ +} /* H5P__create() */ - /*-------------------------------------------------------------------------- NAME H5P_create_id @@ -1807,38 +1764,39 @@ done: hid_t H5P_create_id(H5P_genclass_t *pclass, hbool_t app_ref) { - H5P_genclass_t *tclass; /* Temporary class pointer */ - H5P_genplist_t *plist = NULL; /* Property list created */ - hid_t plist_id = FAIL; /* Property list ID */ - hid_t ret_value = H5I_INVALID_HID; /* return value */ + H5P_genclass_t *tclass; /* Temporary class pointer */ + H5P_genplist_t *plist = NULL; /* Property list created */ + hid_t plist_id = FAIL; /* Property list ID */ + hid_t ret_value = H5I_INVALID_HID; /* return value */ FUNC_ENTER_NOAPI(H5I_INVALID_HID) HDassert(pclass); /* Create the new property list */ - if((plist = H5P__create(pclass)) == NULL) + if ((plist = H5P__create(pclass)) == NULL) HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID, "unable to create property list") /* Get an atom for the property list */ - if((plist_id = H5I_register(H5I_GENPROP_LST, plist, app_ref)) < 0) + if ((plist_id = H5I_register(H5I_GENPROP_LST, plist, app_ref)) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to atomize property list") - /* Save the property list ID in the property list struct, for use in the property class's 'close' callback */ + /* Save the property list ID in the property list struct, for use in the property class's 'close' callback + */ plist->plist_id = plist_id; /* Call the class callback (if it exists) now that we have the property list ID * (up through chain of parent classes also) */ tclass = plist->pclass; - while(NULL != tclass) { - if(NULL != tclass->create_func) { - if((tclass->create_func)(plist_id, tclass->create_data) < 0) { + while (NULL != tclass) { + if (NULL != tclass->create_func) { + if ((tclass->create_func)(plist_id, tclass->create_data) < 0) { /* Delete ID, ignore return value */ H5I_remove(plist_id); HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, H5I_INVALID_HID, "Can't initialize property") } /* end if */ - } /* end if */ + } /* end if */ /* Go up to parent class */ tclass = tclass->parent; @@ -1851,13 +1809,12 @@ H5P_create_id(H5P_genclass_t *pclass, hbool_t app_ref) ret_value = plist_id; done: - if(H5I_INVALID_HID == ret_value && plist) + if (H5I_INVALID_HID == ret_value && plist) H5P_close(plist); FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_create_id() */ +} /* H5P_create_id() */ - /*-------------------------------------------------------------------------- NAME H5P__register_real @@ -2043,16 +2000,14 @@ done: REVISION LOG --------------------------------------------------------------------------*/ herr_t -H5P__register_real(H5P_genclass_t *pclass, const char *name, size_t size, - const void *def_value, H5P_prp_create_func_t prp_create, - H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, - H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, - H5P_prp_delete_func_t prp_delete, - H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp, - H5P_prp_close_func_t prp_close) +H5P__register_real(H5P_genclass_t *pclass, const char *name, size_t size, const void *def_value, + H5P_prp_create_func_t prp_create, H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, + H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, + H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, + H5P_prp_compare_func_t prp_cmp, H5P_prp_close_func_t prp_close) { - H5P_genprop_t *new_prop = NULL; /* Temporary property pointer */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_genprop_t *new_prop = NULL; /* Temporary property pointer */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE @@ -2063,18 +2018,18 @@ H5P__register_real(H5P_genclass_t *pclass, const char *name, size_t size, HDassert((size > 0 && def_value != NULL) || (size == 0)); /* Check for duplicate named properties */ - if(NULL != H5SL_search(pclass->props, name)) + if (NULL != H5SL_search(pclass->props, name)) HGOTO_ERROR(H5E_PLIST, H5E_EXISTS, FAIL, "property already exists") /* Create property object from parameters */ - if(NULL == (new_prop = H5P__create_prop(name, size, H5P_PROP_WITHIN_CLASS, - def_value, prp_create, prp_set, prp_get, prp_encode, prp_decode, - prp_delete, prp_copy, prp_cmp, prp_close))) - HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL,"Can't create property") + if (NULL == (new_prop = H5P__create_prop(name, size, H5P_PROP_WITHIN_CLASS, def_value, prp_create, + prp_set, prp_get, prp_encode, prp_decode, prp_delete, prp_copy, + prp_cmp, prp_close))) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL, "Can't create property") /* Insert property into property list class */ - if(H5P__add_prop(pclass->props, new_prop) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL,"Can't insert property into class") + if (H5P__add_prop(pclass->props, new_prop) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "Can't insert property into class") /* Increment property count for class */ pclass->nprops++; @@ -2083,14 +2038,13 @@ H5P__register_real(H5P_genclass_t *pclass, const char *name, size_t size, pclass->revision = H5P_GET_NEXT_REV; done: - if(ret_value < 0) - if(new_prop && H5P__free_prop(new_prop) < 0) + if (ret_value < 0) + if (new_prop && H5P__free_prop(new_prop) < 0) HDONE_ERROR(H5E_PLIST, H5E_CANTRELEASE, FAIL, "unable to close property") FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__register_real() */ +} /* H5P__register_real() */ - /*-------------------------------------------------------------------------- NAME H5P__register @@ -2275,17 +2229,15 @@ done: REVISION LOG --------------------------------------------------------------------------*/ herr_t -H5P__register(H5P_genclass_t **ppclass, const char *name, size_t size, - const void *def_value, H5P_prp_create_func_t prp_create, - H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, - H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, - H5P_prp_delete_func_t prp_delete, - H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp, - H5P_prp_close_func_t prp_close) +H5P__register(H5P_genclass_t **ppclass, const char *name, size_t size, const void *def_value, + H5P_prp_create_func_t prp_create, H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, + H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, + H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp, + H5P_prp_close_func_t prp_close) { - H5P_genclass_t *pclass = *ppclass; /* Pointer to class to modify */ - H5P_genclass_t *new_class = NULL; /* New class pointer */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_genclass_t *pclass = *ppclass; /* Pointer to class to modify */ + H5P_genclass_t *new_class = NULL; /* New class pointer */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE @@ -2296,29 +2248,29 @@ H5P__register(H5P_genclass_t **ppclass, const char *name, size_t size, /* Check if class needs to be split because property lists or classes have * been created since the last modification was made to the class. */ - if(pclass->plists > 0 || pclass->classes > 0) { - if(NULL == (new_class = H5P__create_class(pclass->parent, pclass->name, - pclass->type, pclass->create_func, pclass->create_data, - pclass->copy_func, pclass->copy_data, - pclass->close_func, pclass->close_data))) + if (pclass->plists > 0 || pclass->classes > 0) { + if (NULL == (new_class = H5P__create_class( + pclass->parent, pclass->name, pclass->type, pclass->create_func, pclass->create_data, + pclass->copy_func, pclass->copy_data, pclass->close_func, pclass->close_data))) HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy class") /* Walk through the skip list of the old class and copy properties */ - if(pclass->nprops > 0) { - H5SL_node_t *curr_node; /* Current node in skip list */ + if (pclass->nprops > 0) { + H5SL_node_t *curr_node; /* Current node in skip list */ /* Walk through the properties in the old class */ curr_node = H5SL_first(pclass->props); - while(curr_node != NULL) { - H5P_genprop_t *pcopy; /* Property copy */ + while (curr_node != NULL) { + H5P_genprop_t *pcopy; /* Property copy */ /* Make a copy of the class's property */ - if(NULL == (pcopy = H5P__dup_prop((H5P_genprop_t *)H5SL_item(curr_node), H5P_PROP_WITHIN_CLASS))) + if (NULL == + (pcopy = H5P__dup_prop((H5P_genprop_t *)H5SL_item(curr_node), H5P_PROP_WITHIN_CLASS))) HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "Can't copy property") /* Insert the initialized property into the property class */ - if(H5P__add_prop(new_class->props, pcopy) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL,"Can't insert property into class") + if (H5P__add_prop(new_class->props, pcopy) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "Can't insert property into class") /* Increment property count for class */ new_class->nprops++; @@ -2326,30 +2278,29 @@ H5P__register(H5P_genclass_t **ppclass, const char *name, size_t size, /* Get the next property node in the skip list */ curr_node = H5SL_next(curr_node); } /* end while */ - } /* end if */ + } /* end if */ /* Use the new class instead of the old one */ pclass = new_class; } /* end if */ /* Really register the property in the class */ - if(H5P__register_real(pclass, name, size, def_value, prp_create, prp_set, prp_get, - prp_encode, prp_decode, prp_delete, prp_copy, prp_cmp, prp_close) < 0) + if (H5P__register_real(pclass, name, size, def_value, prp_create, prp_set, prp_get, prp_encode, + prp_decode, prp_delete, prp_copy, prp_cmp, prp_close) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL, "can't register property") /* Update pointer to pointer to class, if a new one was generated */ - if(new_class) + if (new_class) *ppclass = pclass; done: - if(ret_value < 0) - if(new_class && H5P__close_class(new_class) < 0) + if (ret_value < 0) + if (new_class && H5P__close_class(new_class) < 0) HDONE_ERROR(H5E_PLIST, H5E_CANTRELEASE, FAIL, "unable to close new property class") FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__register() */ +} /* H5P__register() */ - /*-------------------------------------------------------------------------- NAME H5P_insert @@ -2520,14 +2471,13 @@ done: REVISION LOG --------------------------------------------------------------------------*/ herr_t -H5P_insert(H5P_genplist_t *plist, const char *name, size_t size, - void *value, H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, - H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, - H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, - H5P_prp_compare_func_t prp_cmp, H5P_prp_close_func_t prp_close) +H5P_insert(H5P_genplist_t *plist, const char *name, size_t size, void *value, H5P_prp_set_func_t prp_set, + H5P_prp_get_func_t prp_get, H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, + H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp, + H5P_prp_close_func_t prp_close) { - H5P_genprop_t *new_prop = NULL; /* Temporary property pointer */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_genprop_t *new_prop = NULL; /* Temporary property pointer */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -2536,61 +2486,60 @@ H5P_insert(H5P_genplist_t *plist, const char *name, size_t size, HDassert((size > 0 && value != NULL) || (size == 0)); /* Check for duplicate named properties */ - if(NULL != H5SL_search(plist->props, name)) + if (NULL != H5SL_search(plist->props, name)) HGOTO_ERROR(H5E_PLIST, H5E_EXISTS, FAIL, "property already exists") /* Check if the property has been deleted */ - if(NULL != H5SL_search(plist->del, name)) { + if (NULL != H5SL_search(plist->del, name)) { char *temp_name = NULL; /* Remove the property name from the deleted property skip list */ - if(NULL == (temp_name = (char *)H5SL_remove(plist->del, name))) - HGOTO_ERROR(H5E_PLIST,H5E_CANTDELETE,FAIL,"can't remove property from deleted skip list") + if (NULL == (temp_name = (char *)H5SL_remove(plist->del, name))) + HGOTO_ERROR(H5E_PLIST, H5E_CANTDELETE, FAIL, "can't remove property from deleted skip list") /* free the name of the removed property */ H5MM_xfree(temp_name); } /* end if */ else { - H5P_genclass_t *tclass; /* Temporary class pointer */ + H5P_genclass_t *tclass; /* Temporary class pointer */ /* Check if the property is already in the class hierarchy */ tclass = plist->pclass; - while(tclass) { - if(tclass->nprops > 0) { + while (tclass) { + if (tclass->nprops > 0) { /* Find the property in the class */ - if(NULL != H5SL_search(tclass->props, name)) + if (NULL != H5SL_search(tclass->props, name)) HGOTO_ERROR(H5E_PLIST, H5E_EXISTS, FAIL, "property already exists") } /* end if */ /* Go up to parent class */ tclass = tclass->parent; } /* end while */ - } /* end else */ + } /* end else */ /* Ok to add to property list */ /* Create property object from parameters */ - if(NULL == (new_prop = H5P__create_prop(name, size, H5P_PROP_WITHIN_LIST, value, NULL, - prp_set, prp_get, prp_encode, prp_decode, prp_delete, prp_copy, - prp_cmp, prp_close))) + if (NULL == + (new_prop = H5P__create_prop(name, size, H5P_PROP_WITHIN_LIST, value, NULL, prp_set, prp_get, + prp_encode, prp_decode, prp_delete, prp_copy, prp_cmp, prp_close))) HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL, "Can't create property") /* Insert property into property list class */ - if(H5P__add_prop(plist->props, new_prop) < 0) + if (H5P__add_prop(plist->props, new_prop) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "Can't insert property into class") /* Increment property count for class */ plist->nprops++; done: - if(ret_value < 0) - if(new_prop && H5P__free_prop(new_prop) < 0) + if (ret_value < 0) + if (new_prop && H5P__free_prop(new_prop) < 0) HDONE_ERROR(H5E_PLIST, H5E_CANTRELEASE, FAIL, "unable to close property") FUNC_LEAVE_NOAPI(ret_value) } /* H5P_insert() */ - /*-------------------------------------------------------------------------- NAME H5P__do_prop @@ -2616,11 +2565,11 @@ done: --------------------------------------------------------------------------*/ static herr_t H5P__do_prop(H5P_genplist_t *plist, const char *name, H5P_do_plist_op_t plist_op, - H5P_do_pclass_op_t pclass_op, void *udata) + H5P_do_pclass_op_t pclass_op, void *udata) { - H5P_genclass_t *tclass; /* Temporary class pointer */ - H5P_genprop_t *prop; /* Temporary property pointer */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_genclass_t *tclass; /* Temporary class pointer */ + H5P_genprop_t * prop; /* Temporary property pointer */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -2631,13 +2580,13 @@ H5P__do_prop(H5P_genplist_t *plist, const char *name, H5P_do_plist_op_t plist_op HDassert(pclass_op); /* Check if the property has been deleted */ - if(NULL != H5SL_search(plist->del, name)) + if (NULL != H5SL_search(plist->del, name)) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "property doesn't exist") /* Find property in changed list */ - if(NULL != (prop = (H5P_genprop_t *)H5SL_search(plist->props, name))) { + if (NULL != (prop = (H5P_genprop_t *)H5SL_search(plist->props, name))) { /* Call the 'found in property list' callback */ - if((*plist_op)(plist, name, prop, udata) < 0) + if ((*plist_op)(plist, name, prop, udata) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on property") } /* end if */ else { @@ -2646,18 +2595,18 @@ H5P__do_prop(H5P_genplist_t *plist, const char *name, H5P_do_plist_op_t plist_op * & make property 'set' callback. */ tclass = plist->pclass; - while(NULL != tclass) { - if(tclass->nprops > 0) { + while (NULL != tclass) { + if (tclass->nprops > 0) { /* Find the property in the class */ - if(NULL != (prop = (H5P_genprop_t *)H5SL_search(tclass->props, name))) { + if (NULL != (prop = (H5P_genprop_t *)H5SL_search(tclass->props, name))) { /* Call the 'found in class' callback */ - if((*pclass_op)(plist, name, prop, udata) < 0) + if ((*pclass_op)(plist, name, prop, udata) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on property") /* Leave */ break; } /* end if */ - } /* end if */ + } /* end if */ /* Go up to parent class */ tclass = tclass->parent; @@ -2666,15 +2615,14 @@ H5P__do_prop(H5P_genplist_t *plist, const char *name, H5P_do_plist_op_t plist_op /* If we get this far, then it wasn't in the list of changed properties, * nor in the properties in the class hierarchy, indicate an error */ - if(NULL == tclass) + if (NULL == tclass) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "can't find property in skip list") } /* end else */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__do_prop() */ +} /* H5P__do_prop() */ - /*-------------------------------------------------------------------------- NAME H5P__poke_plist_cb @@ -2698,10 +2646,10 @@ done: --------------------------------------------------------------------------*/ static herr_t H5P__poke_plist_cb(H5P_genplist_t H5_ATTR_NDEBUG_UNUSED *plist, const char H5_ATTR_NDEBUG_UNUSED *name, - H5P_genprop_t *prop, void *_udata) + H5P_genprop_t *prop, void *_udata) { - H5P_prop_set_ud_t *udata = (H5P_prop_set_ud_t *)_udata; /* User data for callback */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_prop_set_ud_t *udata = (H5P_prop_set_ud_t *)_udata; /* User data for callback */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -2711,7 +2659,7 @@ H5P__poke_plist_cb(H5P_genplist_t H5_ATTR_NDEBUG_UNUSED *plist, const char H5_AT HDassert(prop); /* Check for property size >0 */ - if(0 == prop->size) + if (0 == prop->size) HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size") /* Overwrite value in property */ @@ -2719,9 +2667,8 @@ H5P__poke_plist_cb(H5P_genplist_t H5_ATTR_NDEBUG_UNUSED *plist, const char H5_AT done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__poke_plist_cb() */ +} /* H5P__poke_plist_cb() */ - /*-------------------------------------------------------------------------- NAME H5P__poke_pclass_cb @@ -2745,11 +2692,11 @@ done: --------------------------------------------------------------------------*/ static herr_t H5P__poke_pclass_cb(H5P_genplist_t *plist, const char H5_ATTR_NDEBUG_UNUSED *name, H5P_genprop_t *prop, - void *_udata) + void *_udata) { - H5P_prop_set_ud_t *udata = (H5P_prop_set_ud_t *)_udata; /* User data for callback */ - H5P_genprop_t *pcopy = NULL; /* Copy of property to insert into skip list */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_prop_set_ud_t *udata = (H5P_prop_set_ud_t *)_udata; /* User data for callback */ + H5P_genprop_t * pcopy = NULL; /* Copy of property to insert into skip list */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -2760,29 +2707,28 @@ H5P__poke_pclass_cb(H5P_genplist_t *plist, const char H5_ATTR_NDEBUG_UNUSED *nam HDassert(prop->cmp); /* Check for property size >0 */ - if(0 == prop->size) + if (0 == prop->size) HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size") /* Make a copy of the class's property */ - if(NULL == (pcopy = H5P__dup_prop(prop, H5P_PROP_WITHIN_LIST))) + if (NULL == (pcopy = H5P__dup_prop(prop, H5P_PROP_WITHIN_LIST))) HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "Can't copy property") H5MM_memcpy(pcopy->value, udata->value, pcopy->size); /* Insert the changed property into the property list */ - if(H5P__add_prop(plist->props, pcopy) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL,"Can't insert changed property into skip list") + if (H5P__add_prop(plist->props, pcopy) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "Can't insert changed property into skip list") done: /* Cleanup on failure */ - if(ret_value < 0) - if(pcopy) + if (ret_value < 0) + if (pcopy) H5P__free_prop(pcopy); FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__poke_pclass_cb() */ +} /* H5P__poke_pclass_cb() */ - /*-------------------------------------------------------------------------- NAME H5P_poke @@ -2810,8 +2756,8 @@ done: herr_t H5P_poke(H5P_genplist_t *plist, const char *name, const void *value) { - H5P_prop_set_ud_t udata; /* User data for callback */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_prop_set_ud_t udata; /* User data for callback */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -2822,14 +2768,13 @@ H5P_poke(H5P_genplist_t *plist, const char *name, const void *value) /* Find the property and set the value */ udata.value = value; - if(H5P__do_prop(plist, name, H5P__poke_plist_cb, H5P__poke_pclass_cb, &udata) < 0) + if (H5P__do_prop(plist, name, H5P__poke_plist_cb, H5P__poke_pclass_cb, &udata) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on plist to overwrite value") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_poke() */ +} /* H5P_poke() */ - /*-------------------------------------------------------------------------- NAME H5P__set_plist_cb @@ -2852,13 +2797,12 @@ done: REVISION LOG --------------------------------------------------------------------------*/ static herr_t -H5P__set_plist_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, - void *_udata) +H5P__set_plist_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, void *_udata) { - H5P_prop_set_ud_t *udata = (H5P_prop_set_ud_t *)_udata; /* User data for callback */ - void *tmp_value = NULL; /* Temporary value for property */ - const void *prp_value = NULL; /* Property value */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_prop_set_ud_t *udata = (H5P_prop_set_ud_t *)_udata; /* User data for callback */ + void * tmp_value = NULL; /* Temporary value for property */ + const void * prp_value = NULL; /* Property value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -2868,31 +2812,31 @@ H5P__set_plist_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, HDassert(prop); /* Check for property size >0 */ - if(0 == prop->size) + if (0 == prop->size) HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size") /* Make a copy of the value and pass to 'set' callback */ - if(NULL != prop->set) { + if (NULL != prop->set) { /* Make a copy of the current value, in case the callback fails */ - if(NULL == (tmp_value = H5MM_malloc(prop->size))) + if (NULL == (tmp_value = H5MM_malloc(prop->size))) HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed temporary property value") H5MM_memcpy(tmp_value, udata->value, prop->size); /* Call user's callback */ - if((*(prop->set))(plist->plist_id, name, prop->size, tmp_value) < 0) + if ((*(prop->set))(plist->plist_id, name, prop->size, tmp_value) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "can't set property value") - /* Set the pointer for copying */ - prp_value = tmp_value; + /* Set the pointer for copying */ + prp_value = tmp_value; } /* end if */ /* No 'set' callback, just copy value */ else prp_value = udata->value; /* Free any previous value for the property */ - if(NULL != prop->del) { + if (NULL != prop->del) { /* Call user's 'delete' callback */ - if((*(prop->del))(plist->plist_id, name, prop->size, prop->value) < 0) + if ((*(prop->del))(plist->plist_id, name, prop->size, prop->value) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTFREE, FAIL, "can't release property value") } /* end if */ @@ -2901,13 +2845,12 @@ H5P__set_plist_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, done: /* Free the temporary value buffer */ - if(tmp_value != NULL) + if (tmp_value != NULL) H5MM_xfree(tmp_value); FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__set_plist_cb() */ +} /* H5P__set_plist_cb() */ - /*-------------------------------------------------------------------------- NAME H5P__set_pclass_cb @@ -2930,14 +2873,13 @@ done: REVISION LOG --------------------------------------------------------------------------*/ static herr_t -H5P__set_pclass_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, - void *_udata) +H5P__set_pclass_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, void *_udata) { - H5P_prop_set_ud_t *udata = (H5P_prop_set_ud_t *)_udata; /* User data for callback */ - H5P_genprop_t *pcopy = NULL; /* Copy of property to insert into skip list */ - void *tmp_value = NULL; /* Temporary value for property */ - const void *prp_value = NULL; /* Property value */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_prop_set_ud_t *udata = (H5P_prop_set_ud_t *)_udata; /* User data for callback */ + H5P_genprop_t * pcopy = NULL; /* Copy of property to insert into skip list */ + void * tmp_value = NULL; /* Temporary value for property */ + const void * prp_value = NULL; /* Property value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -2948,51 +2890,50 @@ H5P__set_pclass_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, HDassert(prop->cmp); /* Check for property size >0 */ - if(0 == prop->size) + if (0 == prop->size) HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size") /* Make a copy of the value and pass to 'set' callback */ - if(NULL != prop->set) { + if (NULL != prop->set) { /* Make a copy of the current value, in case the callback fails */ - if(NULL == (tmp_value = H5MM_malloc(prop->size))) + if (NULL == (tmp_value = H5MM_malloc(prop->size))) HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed temporary property value") H5MM_memcpy(tmp_value, udata->value, prop->size); /* Call user's callback */ - if((*(prop->set))(plist->plist_id, name, prop->size, tmp_value) < 0) + if ((*(prop->set))(plist->plist_id, name, prop->size, tmp_value) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "can't set property value") - /* Set the pointer for copying */ - prp_value = tmp_value; + /* Set the pointer for copying */ + prp_value = tmp_value; } /* end if */ /* No 'set' callback, just copy value */ else prp_value = udata->value; /* Make a copy of the class's property */ - if(NULL == (pcopy = H5P__dup_prop(prop, H5P_PROP_WITHIN_LIST))) + if (NULL == (pcopy = H5P__dup_prop(prop, H5P_PROP_WITHIN_LIST))) HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "Can't copy property") H5MM_memcpy(pcopy->value, prp_value, pcopy->size); /* Insert the changed property into the property list */ - if(H5P__add_prop(plist->props, pcopy) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL,"Can't insert changed property into skip list") + if (H5P__add_prop(plist->props, pcopy) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "Can't insert changed property into skip list") done: /* Free the temporary value buffer */ - if(tmp_value != NULL) + if (tmp_value != NULL) H5MM_xfree(tmp_value); /* Cleanup on failure */ - if(ret_value < 0) - if(pcopy) + if (ret_value < 0) + if (pcopy) H5P__free_prop(pcopy); FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__set_pclass_cb() */ +} /* H5P__set_pclass_cb() */ - /*-------------------------------------------------------------------------- NAME H5P_set @@ -3027,8 +2968,8 @@ done: herr_t H5P_set(H5P_genplist_t *plist, const char *name, const void *value) { - H5P_prop_set_ud_t udata; /* User data for callback */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_prop_set_ud_t udata; /* User data for callback */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -3039,14 +2980,13 @@ H5P_set(H5P_genplist_t *plist, const char *name, const void *value) /* Find the property and set the value */ udata.value = value; - if(H5P__do_prop(plist, name, H5P__set_plist_cb, H5P__set_pclass_cb, &udata) < 0) + if (H5P__do_prop(plist, name, H5P__set_plist_cb, H5P__set_pclass_cb, &udata) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on plist to set value") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_set() */ +} /* H5P_set() */ - /*-------------------------------------------------------------------------- NAME H5P_exist_plist @@ -3071,7 +3011,7 @@ done: htri_t H5P_exist_plist(const H5P_genplist_t *plist, const char *name) { - htri_t ret_value = FAIL; /* return value */ + htri_t ret_value = FAIL; /* return value */ FUNC_ENTER_NOAPI_NOINIT_NOERR @@ -3079,18 +3019,18 @@ H5P_exist_plist(const H5P_genplist_t *plist, const char *name) HDassert(name); /* Check for property in deleted property list */ - if(H5SL_search(plist->del, name) != NULL) + if (H5SL_search(plist->del, name) != NULL) ret_value = FALSE; else { /* Check for property in changed property list */ - if(H5SL_search(plist->props, name) != NULL) + if (H5SL_search(plist->props, name) != NULL) ret_value = TRUE; else { - H5P_genclass_t *tclass; /* Temporary class pointer */ + H5P_genclass_t *tclass; /* Temporary class pointer */ tclass = plist->pclass; - while(tclass != NULL) { - if(H5SL_search(tclass->props, name) != NULL) + while (tclass != NULL) { + if (H5SL_search(tclass->props, name) != NULL) HGOTO_DONE(TRUE) /* Go up to parent class */ @@ -3100,13 +3040,12 @@ H5P_exist_plist(const H5P_genplist_t *plist, const char *name) /* If we've reached here, we couldn't find the property */ ret_value = FALSE; } /* end else */ - } /* end else */ + } /* end else */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_exist_plist() */ +} /* H5P_exist_plist() */ - /*-------------------------------------------------------------------------- NAME H5P__exist_pclass @@ -3131,7 +3070,7 @@ done: htri_t H5P__exist_pclass(H5P_genclass_t *pclass, const char *name) { - htri_t ret_value = FAIL; /* return value */ + htri_t ret_value = FAIL; /* return value */ FUNC_ENTER_PACKAGE_NOERR @@ -3139,14 +3078,14 @@ H5P__exist_pclass(H5P_genclass_t *pclass, const char *name) HDassert(name); /* Check for property in property list */ - if(H5SL_search(pclass->props, name) != NULL) + if (H5SL_search(pclass->props, name) != NULL) ret_value = TRUE; else { - H5P_genclass_t *tclass; /* Temporary class pointer */ + H5P_genclass_t *tclass; /* Temporary class pointer */ tclass = pclass->parent; - while(tclass != NULL) { - if(H5SL_search(tclass->props, name) != NULL) + while (tclass != NULL) { + if (H5SL_search(tclass->props, name) != NULL) HGOTO_DONE(TRUE) /* Go up to parent class */ @@ -3159,9 +3098,8 @@ H5P__exist_pclass(H5P_genclass_t *pclass, const char *name) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__exist_pclass() */ +} /* H5P__exist_pclass() */ - /*-------------------------------------------------------------------------- NAME H5P__get_size_plist @@ -3187,8 +3125,8 @@ done: herr_t H5P__get_size_plist(const H5P_genplist_t *plist, const char *name, size_t *size) { - H5P_genprop_t *prop; /* Temporary property pointer */ - herr_t ret_value=SUCCEED; /* return value */ + H5P_genprop_t *prop; /* Temporary property pointer */ + herr_t ret_value = SUCCEED; /* return value */ FUNC_ENTER_PACKAGE @@ -3197,7 +3135,7 @@ H5P__get_size_plist(const H5P_genplist_t *plist, const char *name, size_t *size) HDassert(size); /* Find property */ - if(NULL == (prop = H5P__find_prop_plist(plist, name))) + if (NULL == (prop = H5P__find_prop_plist(plist, name))) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "property doesn't exist") /* Get property size */ @@ -3205,9 +3143,8 @@ H5P__get_size_plist(const H5P_genplist_t *plist, const char *name, size_t *size) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__get_size_plist() */ +} /* H5P__get_size_plist() */ - /*-------------------------------------------------------------------------- NAME H5P__get_size_pclass @@ -3233,8 +3170,8 @@ done: herr_t H5P__get_size_pclass(H5P_genclass_t *pclass, const char *name, size_t *size) { - H5P_genprop_t *prop; /* Temporary property pointer */ - herr_t ret_value = SUCCEED; /* return value */ + H5P_genprop_t *prop; /* Temporary property pointer */ + herr_t ret_value = SUCCEED; /* return value */ FUNC_ENTER_PACKAGE @@ -3243,7 +3180,7 @@ H5P__get_size_pclass(H5P_genclass_t *pclass, const char *name, size_t *size) HDassert(size); /* Find property */ - if((prop = H5P__find_prop_pclass(pclass,name)) == NULL) + if ((prop = H5P__find_prop_pclass(pclass, name)) == NULL) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "property doesn't exist") /* Get property size */ @@ -3251,9 +3188,8 @@ H5P__get_size_pclass(H5P_genclass_t *pclass, const char *name, size_t *size) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__get_size_pclass() */ +} /* H5P__get_size_pclass() */ - /*-------------------------------------------------------------------------- NAME H5P__get_nprops_plist @@ -3286,9 +3222,8 @@ H5P__get_nprops_plist(const H5P_genplist_t *plist, size_t *nprops) *nprops = plist->nprops; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5P__get_nprops_plist() */ +} /* H5P__get_nprops_plist() */ - /*-------------------------------------------------------------------------- NAME H5P_get_nprops_pclass @@ -3313,7 +3248,7 @@ H5P__get_nprops_plist(const H5P_genplist_t *plist, size_t *nprops) herr_t H5P_get_nprops_pclass(const H5P_genclass_t *pclass, size_t *nprops, hbool_t recurse) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -3324,17 +3259,16 @@ H5P_get_nprops_pclass(const H5P_genclass_t *pclass, size_t *nprops, hbool_t recu *nprops = pclass->nprops; /* Check if the class is derived, and walk up the chain, if so */ - if(recurse) - while(pclass->parent != NULL) { - pclass = pclass->parent; - *nprops += pclass->nprops; - } /* end while */ + if (recurse) + while (pclass->parent != NULL) { + pclass = pclass->parent; + *nprops += pclass->nprops; + } /* end while */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_get_nprops_pclass() */ +} /* H5P_get_nprops_pclass() */ - /*-------------------------------------------------------------------------- NAME H5P__cmp_prop @@ -3360,8 +3294,8 @@ done: static int H5P__cmp_prop(const H5P_genprop_t *prop1, const H5P_genprop_t *prop2) { - int cmp_value; /* Value from comparison */ - int ret_value = 0; /* return value */ + int cmp_value; /* Value from comparison */ + int ret_value = 0; /* return value */ FUNC_ENTER_STATIC_NOERR @@ -3369,72 +3303,102 @@ H5P__cmp_prop(const H5P_genprop_t *prop1, const H5P_genprop_t *prop2) HDassert(prop2); /* Check the name */ - if((cmp_value = HDstrcmp(prop1->name, prop2->name)) != 0) + if ((cmp_value = HDstrcmp(prop1->name, prop2->name)) != 0) HGOTO_DONE(cmp_value); /* Check the size of properties */ - if(prop1->size < prop2->size) HGOTO_DONE(-1); - if(prop1->size > prop2->size) HGOTO_DONE(1); + if (prop1->size < prop2->size) + HGOTO_DONE(-1); + if (prop1->size > prop2->size) + HGOTO_DONE(1); /* Check if they both have the same 'create' callback */ - if(prop1->create == NULL && prop2->create != NULL) HGOTO_DONE(-1); - if(prop1->create != NULL && prop2->create == NULL) HGOTO_DONE(1); - if(prop1->create != prop2->create) HGOTO_DONE(-1); + if (prop1->create == NULL && prop2->create != NULL) + HGOTO_DONE(-1); + if (prop1->create != NULL && prop2->create == NULL) + HGOTO_DONE(1); + if (prop1->create != prop2->create) + HGOTO_DONE(-1); /* Check if they both have the same 'set' callback */ - if(prop1->set == NULL && prop2->set != NULL) HGOTO_DONE(-1); - if(prop1->set != NULL && prop2->set == NULL) HGOTO_DONE(1); - if(prop1->set != prop2->set) HGOTO_DONE(-1); + if (prop1->set == NULL && prop2->set != NULL) + HGOTO_DONE(-1); + if (prop1->set != NULL && prop2->set == NULL) + HGOTO_DONE(1); + if (prop1->set != prop2->set) + HGOTO_DONE(-1); /* Check if they both have the same 'get' callback */ - if(prop1->get == NULL && prop2->get != NULL) HGOTO_DONE(-1); - if(prop1->get != NULL && prop2->get == NULL) HGOTO_DONE(1); - if(prop1->get != prop2->get) HGOTO_DONE(-1); + if (prop1->get == NULL && prop2->get != NULL) + HGOTO_DONE(-1); + if (prop1->get != NULL && prop2->get == NULL) + HGOTO_DONE(1); + if (prop1->get != prop2->get) + HGOTO_DONE(-1); /* Check if they both have the same 'encode' callback */ - if(prop1->encode == NULL && prop2->encode != NULL) HGOTO_DONE(-1); - if(prop1->encode != NULL && prop2->encode == NULL) HGOTO_DONE(1); - if(prop1->encode != prop2->encode) HGOTO_DONE(-1); + if (prop1->encode == NULL && prop2->encode != NULL) + HGOTO_DONE(-1); + if (prop1->encode != NULL && prop2->encode == NULL) + HGOTO_DONE(1); + if (prop1->encode != prop2->encode) + HGOTO_DONE(-1); /* Check if they both have the same 'decode' callback */ - if(prop1->decode == NULL && prop2->decode != NULL) HGOTO_DONE(-1); - if(prop1->decode != NULL && prop2->decode == NULL) HGOTO_DONE(1); - if(prop1->decode != prop2->decode) HGOTO_DONE(-1); + if (prop1->decode == NULL && prop2->decode != NULL) + HGOTO_DONE(-1); + if (prop1->decode != NULL && prop2->decode == NULL) + HGOTO_DONE(1); + if (prop1->decode != prop2->decode) + HGOTO_DONE(-1); /* Check if they both have the same 'delete' callback */ - if(prop1->del == NULL && prop2->del != NULL) HGOTO_DONE(-1); - if(prop1->del != NULL && prop2->del == NULL) HGOTO_DONE(1); - if(prop1->del != prop2->del) HGOTO_DONE(-1); + if (prop1->del == NULL && prop2->del != NULL) + HGOTO_DONE(-1); + if (prop1->del != NULL && prop2->del == NULL) + HGOTO_DONE(1); + if (prop1->del != prop2->del) + HGOTO_DONE(-1); /* Check if they both have the same 'copy' callback */ - if(prop1->copy == NULL && prop2->copy != NULL) HGOTO_DONE(-1); - if(prop1->copy != NULL && prop2->copy == NULL) HGOTO_DONE(1); - if(prop1->copy != prop2->copy) HGOTO_DONE(-1); + if (prop1->copy == NULL && prop2->copy != NULL) + HGOTO_DONE(-1); + if (prop1->copy != NULL && prop2->copy == NULL) + HGOTO_DONE(1); + if (prop1->copy != prop2->copy) + HGOTO_DONE(-1); /* Check if they both have the same 'compare' callback */ - if(prop1->cmp == NULL && prop2->cmp != NULL) HGOTO_DONE(-1); - if(prop1->cmp != NULL && prop2->cmp == NULL) HGOTO_DONE(1); - if(prop1->cmp != prop2->cmp) HGOTO_DONE(-1); + if (prop1->cmp == NULL && prop2->cmp != NULL) + HGOTO_DONE(-1); + if (prop1->cmp != NULL && prop2->cmp == NULL) + HGOTO_DONE(1); + if (prop1->cmp != prop2->cmp) + HGOTO_DONE(-1); /* Check if they both have the same 'close' callback */ - if(prop1->close == NULL && prop2->close != NULL) HGOTO_DONE(-1); - if(prop1->close != NULL && prop2->close == NULL) HGOTO_DONE(1); - if(prop1->close != prop2->close) HGOTO_DONE(-1); + if (prop1->close == NULL && prop2->close != NULL) + HGOTO_DONE(-1); + if (prop1->close != NULL && prop2->close == NULL) + HGOTO_DONE(1); + if (prop1->close != prop2->close) + HGOTO_DONE(-1); /* Check if they both have values allocated (or not allocated) */ - if(prop1->value == NULL && prop2->value != NULL) HGOTO_DONE(-1); - if(prop1->value != NULL && prop2->value == NULL) HGOTO_DONE(1); - if(prop1->value != NULL) { + if (prop1->value == NULL && prop2->value != NULL) + HGOTO_DONE(-1); + if (prop1->value != NULL && prop2->value == NULL) + HGOTO_DONE(1); + if (prop1->value != NULL) { /* Call comparison routine */ - if((cmp_value = prop1->cmp(prop1->value, prop2->value, prop1->size)) != 0) + if ((cmp_value = prop1->cmp(prop1->value, prop2->value, prop1->size)) != 0) HGOTO_DONE(cmp_value); } /* end if */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__cmp_prop() */ +} /* H5P__cmp_prop() */ - /*-------------------------------------------------------------------------- NAME H5P__cmp_class @@ -3460,9 +3424,9 @@ done: int H5P__cmp_class(const H5P_genclass_t *pclass1, const H5P_genclass_t *pclass2) { - H5SL_node_t *tnode1, *tnode2; /* Temporary pointer to property nodes */ - int cmp_value; /* Value from comparison */ - int ret_value = 0; /* Return value */ + H5SL_node_t *tnode1, *tnode2; /* Temporary pointer to property nodes */ + int cmp_value; /* Value from comparison */ + int ret_value = 0; /* Return value */ FUNC_ENTER_PACKAGE_NOERR @@ -3470,65 +3434,89 @@ H5P__cmp_class(const H5P_genclass_t *pclass1, const H5P_genclass_t *pclass2) HDassert(pclass2); /* Use the revision number to quickly check for identical classes */ - if(pclass1->revision == pclass2->revision) + if (pclass1->revision == pclass2->revision) HGOTO_DONE(0); /* Check the name */ - if((cmp_value = HDstrcmp(pclass1->name, pclass2->name)) != 0) + if ((cmp_value = HDstrcmp(pclass1->name, pclass2->name)) != 0) HGOTO_DONE(cmp_value); /* Check the number of properties */ - if(pclass1->nprops < pclass2->nprops) HGOTO_DONE(-1); - if(pclass1->nprops > pclass2->nprops) HGOTO_DONE(1); + if (pclass1->nprops < pclass2->nprops) + HGOTO_DONE(-1); + if (pclass1->nprops > pclass2->nprops) + HGOTO_DONE(1); /* Check the number of property lists created from the class */ - if(pclass1->plists < pclass2->plists) HGOTO_DONE(-1); - if(pclass1->plists > pclass2->plists) HGOTO_DONE(1); + if (pclass1->plists < pclass2->plists) + HGOTO_DONE(-1); + if (pclass1->plists > pclass2->plists) + HGOTO_DONE(1); /* Check the number of classes derived from the class */ - if(pclass1->classes < pclass2->classes) HGOTO_DONE(-1); - if(pclass1->classes > pclass2->classes) HGOTO_DONE(1); + if (pclass1->classes < pclass2->classes) + HGOTO_DONE(-1); + if (pclass1->classes > pclass2->classes) + HGOTO_DONE(1); /* Check the number of ID references open on the class */ - if(pclass1->ref_count < pclass2->ref_count) HGOTO_DONE(-1); - if(pclass1->ref_count > pclass2->ref_count) HGOTO_DONE(1); + if (pclass1->ref_count < pclass2->ref_count) + HGOTO_DONE(-1); + if (pclass1->ref_count > pclass2->ref_count) + HGOTO_DONE(1); /* Check the property list types */ - if(pclass1->type < pclass2->type) HGOTO_DONE(-1); - if(pclass1->type > pclass2->type) HGOTO_DONE(1); + if (pclass1->type < pclass2->type) + HGOTO_DONE(-1); + if (pclass1->type > pclass2->type) + HGOTO_DONE(1); /* Check whether they are deleted or not */ - if(pclass1->deleted < pclass2->deleted) HGOTO_DONE(-1); - if(pclass1->deleted > pclass2->deleted) HGOTO_DONE(1); + if (pclass1->deleted < pclass2->deleted) + HGOTO_DONE(-1); + if (pclass1->deleted > pclass2->deleted) + HGOTO_DONE(1); /* Check whether they have creation callback functions & data */ - if(pclass1->create_func == NULL && pclass2->create_func != NULL) HGOTO_DONE(-1); - if(pclass1->create_func != NULL && pclass2->create_func == NULL) HGOTO_DONE(1); - if(pclass1->create_func != pclass2->create_func) HGOTO_DONE(-1); - if(pclass1->create_data < pclass2->create_data) HGOTO_DONE(-1); - if(pclass1->create_data > pclass2->create_data) HGOTO_DONE(1); + if (pclass1->create_func == NULL && pclass2->create_func != NULL) + HGOTO_DONE(-1); + if (pclass1->create_func != NULL && pclass2->create_func == NULL) + HGOTO_DONE(1); + if (pclass1->create_func != pclass2->create_func) + HGOTO_DONE(-1); + if (pclass1->create_data < pclass2->create_data) + HGOTO_DONE(-1); + if (pclass1->create_data > pclass2->create_data) + HGOTO_DONE(1); /* Check whether they have close callback functions & data */ - if(pclass1->close_func == NULL && pclass2->close_func != NULL) HGOTO_DONE(-1); - if(pclass1->close_func != NULL && pclass2->close_func == NULL) HGOTO_DONE(1); - if(pclass1->close_func != pclass2->close_func) HGOTO_DONE(-1); - if(pclass1->close_data < pclass2->close_data) HGOTO_DONE(-1); - if(pclass1->close_data > pclass2->close_data) HGOTO_DONE(1); + if (pclass1->close_func == NULL && pclass2->close_func != NULL) + HGOTO_DONE(-1); + if (pclass1->close_func != NULL && pclass2->close_func == NULL) + HGOTO_DONE(1); + if (pclass1->close_func != pclass2->close_func) + HGOTO_DONE(-1); + if (pclass1->close_data < pclass2->close_data) + HGOTO_DONE(-1); + if (pclass1->close_data > pclass2->close_data) + HGOTO_DONE(1); /* Cycle through the properties and compare them also */ tnode1 = H5SL_first(pclass1->props); tnode2 = H5SL_first(pclass2->props); - while(tnode1 || tnode2) { - H5P_genprop_t *prop1, *prop2; /* Property for node */ + while (tnode1 || tnode2) { + H5P_genprop_t *prop1, *prop2; /* Property for node */ /* Check if they both have properties in this skip list node */ - if(tnode1 == NULL && tnode2 != NULL) HGOTO_DONE(-1); - if(tnode1 != NULL && tnode2 == NULL) HGOTO_DONE(1); + if (tnode1 == NULL && tnode2 != NULL) + HGOTO_DONE(-1); + if (tnode1 != NULL && tnode2 == NULL) + HGOTO_DONE(1); /* Compare the two properties */ prop1 = (H5P_genprop_t *)H5SL_item(tnode1); prop2 = (H5P_genprop_t *)H5SL_item(tnode2); - if((cmp_value = H5P__cmp_prop(prop1, prop2)) != 0) + if ((cmp_value = H5P__cmp_prop(prop1, prop2)) != 0) HGOTO_DONE(cmp_value); /* Advance the pointers */ @@ -3538,9 +3526,8 @@ H5P__cmp_class(const H5P_genclass_t *pclass1, const H5P_genclass_t *pclass2) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__cmp_class() */ +} /* H5P__cmp_class() */ - /*-------------------------------------------------------------------------- NAME H5P__cmp_plist_cb @@ -3567,9 +3554,9 @@ done: static int H5P__cmp_plist_cb(H5P_genprop_t *prop, void *_udata) { - H5P_plist_cmp_ud_t *udata = (H5P_plist_cmp_ud_t *)_udata; /* Pointer to user data */ - htri_t prop2_exist; /* Whether the property exists in the second property list */ - int ret_value = H5_ITER_CONT; /* Return value */ + H5P_plist_cmp_ud_t *udata = (H5P_plist_cmp_ud_t *)_udata; /* Pointer to user data */ + htri_t prop2_exist; /* Whether the property exists in the second property list */ + int ret_value = H5_ITER_CONT; /* Return value */ FUNC_ENTER_STATIC @@ -3578,17 +3565,17 @@ H5P__cmp_plist_cb(H5P_genprop_t *prop, void *_udata) HDassert(udata); /* Check if the property exists in the second property list */ - if((prop2_exist = H5P_exist_plist(udata->plist2, prop->name)) < 0) + if ((prop2_exist = H5P_exist_plist(udata->plist2, prop->name)) < 0) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, H5_ITER_ERROR, "can't lookup existance of property?") - if(prop2_exist) { - const H5P_genprop_t *prop2; /* Pointer to property in second plist */ + if (prop2_exist) { + const H5P_genprop_t *prop2; /* Pointer to property in second plist */ /* Look up same property in second property list */ - if(NULL == (prop2 = H5P__find_prop_plist(udata->plist2, prop->name))) + if (NULL == (prop2 = H5P__find_prop_plist(udata->plist2, prop->name))) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, H5_ITER_ERROR, "property doesn't exist") /* Compare the two properties */ - if((udata->cmp_value = H5P__cmp_prop(prop, prop2)) != 0) + if ((udata->cmp_value = H5P__cmp_prop(prop, prop2)) != 0) HGOTO_DONE(H5_ITER_STOP); } /* end if */ else { @@ -3601,7 +3588,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5P__cmp_plist_cb() */ - /*-------------------------------------------------------------------------- NAME H5P__cmp_plist @@ -3627,12 +3613,11 @@ done: REVISION LOG --------------------------------------------------------------------------*/ herr_t -H5P__cmp_plist(const H5P_genplist_t *plist1, const H5P_genplist_t *plist2, - int *cmp_ret) +H5P__cmp_plist(const H5P_genplist_t *plist1, const H5P_genplist_t *plist2, int *cmp_ret) { - H5P_plist_cmp_ud_t udata; /* User data for callback */ - int idx = 0; /* Index of property to begin with */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_plist_cmp_ud_t udata; /* User data for callback */ + int idx = 0; /* Index of property to begin with */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE @@ -3641,39 +3626,39 @@ H5P__cmp_plist(const H5P_genplist_t *plist1, const H5P_genplist_t *plist2, HDassert(cmp_ret); /* Check the number of properties */ - if(plist1->nprops < plist2->nprops) { + if (plist1->nprops < plist2->nprops) { *cmp_ret = -1; HGOTO_DONE(SUCCEED); } /* end if */ - if(plist1->nprops > plist2->nprops) { + if (plist1->nprops > plist2->nprops) { *cmp_ret = 1; HGOTO_DONE(SUCCEED); } /* end if */ /* Check whether they've been initialized */ - if(plist1->class_init < plist2->class_init) { + if (plist1->class_init < plist2->class_init) { *cmp_ret = -1; HGOTO_DONE(SUCCEED); } /* end if */ - if(plist1->class_init > plist2->class_init) { + if (plist1->class_init > plist2->class_init) { *cmp_ret = 1; HGOTO_DONE(SUCCEED); } /* end if */ /* Set up iterator callback info */ udata.cmp_value = 0; - udata.plist2 = plist2; + udata.plist2 = plist2; /* Iterate over properties in first property list */ - if((ret_value = H5P__iterate_plist(plist1, TRUE, &idx, H5P__cmp_plist_cb, &udata)) < 0) + if ((ret_value = H5P__iterate_plist(plist1, TRUE, &idx, H5P__cmp_plist_cb, &udata)) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to iterate over list") - if(ret_value != 0) { + if (ret_value != 0) { *cmp_ret = udata.cmp_value; HGOTO_DONE(SUCCEED); } /* end if */ /* Check the parent classes */ - if((*cmp_ret = H5P__cmp_class(plist1->pclass, plist2->pclass)) != 0) + if ((*cmp_ret = H5P__cmp_class(plist1->pclass, plist2->pclass)) != 0) HGOTO_DONE(SUCCEED); /* Property lists must be equal, set comparison value to 0 */ @@ -3681,9 +3666,8 @@ H5P__cmp_plist(const H5P_genplist_t *plist1, const H5P_genplist_t *plist2, done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__cmp_plist() */ +} /* H5P__cmp_plist() */ - /*-------------------------------------------------------------------------- NAME H5P_class_isa @@ -3710,7 +3694,7 @@ done: htri_t H5P_class_isa(const H5P_genclass_t *pclass1, const H5P_genclass_t *pclass2) { - htri_t ret_value = FAIL; /* Return value */ + htri_t ret_value = FAIL; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -3718,11 +3702,12 @@ H5P_class_isa(const H5P_genclass_t *pclass1, const H5P_genclass_t *pclass2) HDassert(pclass2); /* Compare property classes */ - if(H5P__cmp_class(pclass1, pclass2) == 0) { + if (H5P__cmp_class(pclass1, pclass2) == 0) { HGOTO_DONE(TRUE); - } else { + } + else { /* Check if the class is derived, and walk up the chain, if so */ - if(pclass1->parent != NULL) + if (pclass1->parent != NULL) ret_value = H5P_class_isa(pclass1->parent, pclass2); else HGOTO_DONE(FALSE); @@ -3730,9 +3715,8 @@ H5P_class_isa(const H5P_genclass_t *pclass1, const H5P_genclass_t *pclass2) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_class_isa() */ +} /* H5P_class_isa() */ - /*-------------------------------------------------------------------------- NAME H5P_isa_class @@ -3761,27 +3745,26 @@ done: htri_t H5P_isa_class(hid_t plist_id, hid_t pclass_id) { - H5P_genplist_t *plist; /* Property list to query */ - H5P_genclass_t *pclass; /* Property list class */ - htri_t ret_value = FAIL; /* Return value */ + H5P_genplist_t *plist; /* Property list to query */ + H5P_genclass_t *pclass; /* Property list class */ + htri_t ret_value = FAIL; /* Return value */ FUNC_ENTER_NOAPI(FAIL) /* Check arguments. */ - if(NULL == (plist = (H5P_genplist_t *)H5I_object_verify(plist_id, H5I_GENPROP_LST))) + if (NULL == (plist = (H5P_genplist_t *)H5I_object_verify(plist_id, H5I_GENPROP_LST))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list") - if(NULL == (pclass = (H5P_genclass_t *)H5I_object_verify(pclass_id, H5I_GENPROP_CLS))) + if (NULL == (pclass = (H5P_genclass_t *)H5I_object_verify(pclass_id, H5I_GENPROP_CLS))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property class") /* Compare the property list's class against the other class */ - if((ret_value = H5P_class_isa(plist->pclass, pclass)) < 0) + if ((ret_value = H5P_class_isa(plist->pclass, pclass)) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to compare property list classes") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_isa_class() */ +} /* H5P_isa_class() */ - /*-------------------------------------------------------------------------- NAME H5P_object_verify @@ -3813,23 +3796,22 @@ done: H5P_genplist_t * H5P_object_verify(hid_t plist_id, hid_t pclass_id) { - H5P_genplist_t *ret_value = NULL; /* Return value */ + H5P_genplist_t *ret_value = NULL; /* Return value */ FUNC_ENTER_NOAPI(NULL) /* Compare the property list's class against the other class */ - if(H5P_isa_class(plist_id, pclass_id) != TRUE) + if (H5P_isa_class(plist_id, pclass_id) != TRUE) HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, NULL, "property list is not a member of the class") /* Get the plist structure */ - if(NULL == (ret_value = (H5P_genplist_t *)H5I_object(plist_id))) + if (NULL == (ret_value = (H5P_genplist_t *)H5I_object(plist_id))) HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, NULL, "can't find object for ID") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_object_verify() */ +} /* H5P_object_verify() */ - /*-------------------------------------------------------------------------- NAME H5P__iterate_plist_cb @@ -3853,10 +3835,10 @@ property list. static int H5P__iterate_plist_cb(void *_item, void *_key, void *_udata) { - H5P_genprop_t *item = (H5P_genprop_t *)_item; /* Pointer to the property */ - char *key = (char *)_key; /* Pointer to the property's name */ - H5P_iter_plist_ud_t *udata = (H5P_iter_plist_ud_t *)_udata; /* Pointer to user data */ - int ret_value = H5_ITER_CONT; /* Return value */ + H5P_genprop_t * item = (H5P_genprop_t *)_item; /* Pointer to the property */ + char * key = (char *)_key; /* Pointer to the property's name */ + H5P_iter_plist_ud_t *udata = (H5P_iter_plist_ud_t *)_udata; /* Pointer to user data */ + int ret_value = H5_ITER_CONT; /* Return value */ FUNC_ENTER_STATIC @@ -3865,10 +3847,10 @@ H5P__iterate_plist_cb(void *_item, void *_key, void *_udata) HDassert(key); /* Check if we've found the correctly indexed property */ - if(*udata->curr_idx_ptr >= udata->prev_idx) { + if (*udata->curr_idx_ptr >= udata->prev_idx) { /* Call the callback function */ ret_value = (*udata->cb_func)(item, udata->udata); - if(ret_value != 0) + if (ret_value != 0) HGOTO_DONE(ret_value); } /* end if */ @@ -3876,14 +3858,13 @@ H5P__iterate_plist_cb(void *_item, void *_key, void *_udata) (*udata->curr_idx_ptr)++; /* Add property name to 'seen' list */ - if(H5SL_insert(udata->seen, key, key) < 0) + if (H5SL_insert(udata->seen, key, key) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5_ITER_ERROR, "can't insert property into 'seen' skip list") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5P__iterate_plist_cb() */ - /*-------------------------------------------------------------------------- NAME H5P__iterate_plist_pclass_cb @@ -3907,10 +3888,10 @@ deleted, and then chains to the property list callback. static int H5P__iterate_plist_pclass_cb(void *_item, void *_key, void *_udata) { - H5P_genprop_t *item = (H5P_genprop_t *)_item; /* Pointer to the property */ - char *key = (char *)_key; /* Pointer to the property's name */ - H5P_iter_plist_ud_t *udata = (H5P_iter_plist_ud_t *)_udata; /* Pointer to user data */ - int ret_value = H5_ITER_CONT; /* Return value */ + H5P_genprop_t * item = (H5P_genprop_t *)_item; /* Pointer to the property */ + char * key = (char *)_key; /* Pointer to the property's name */ + H5P_iter_plist_ud_t *udata = (H5P_iter_plist_ud_t *)_udata; /* Pointer to user data */ + int ret_value = H5_ITER_CONT; /* Return value */ FUNC_ENTER_STATIC_NOERR @@ -3921,14 +3902,12 @@ H5P__iterate_plist_pclass_cb(void *_item, void *_key, void *_udata) /* Only call iterator callback for properties we haven't seen * before and that haven't been deleted. */ - if(NULL == H5SL_search(udata->seen, key) && - NULL == H5SL_search(udata->plist->del, key)) + if (NULL == H5SL_search(udata->seen, key) && NULL == H5SL_search(udata->plist->del, key)) ret_value = H5P__iterate_plist_cb(item, key, udata); FUNC_LEAVE_NOAPI(ret_value) } /* end H5P__iterate_plist_pclass_cb() */ - /*-------------------------------------------------------------------------- NAME H5P__iterate_plist @@ -3984,14 +3963,14 @@ iteration, the function's behavior is undefined. REVISION LOG --------------------------------------------------------------------------*/ int -H5P__iterate_plist(const H5P_genplist_t *plist, hbool_t iter_all_prop, int *idx, - H5P_iterate_int_t cb_func, void *udata) +H5P__iterate_plist(const H5P_genplist_t *plist, hbool_t iter_all_prop, int *idx, H5P_iterate_int_t cb_func, + void *udata) { - H5P_genclass_t *tclass; /* Temporary class pointer */ + H5P_genclass_t * tclass; /* Temporary class pointer */ H5P_iter_plist_ud_t udata_int; /* User data for skip list iterator */ - H5SL_t *seen = NULL; /* Skip list to hold names of properties already seen */ - int curr_idx = 0; /* Current iteration index */ - int ret_value = 0; /* Return value */ + H5SL_t * seen = NULL; /* Skip list to hold names of properties already seen */ + int curr_idx = 0; /* Current iteration index */ + int ret_value = 0; /* Return value */ FUNC_ENTER_PACKAGE @@ -4001,50 +3980,49 @@ H5P__iterate_plist(const H5P_genplist_t *plist, hbool_t iter_all_prop, int *idx, HDassert(cb_func); /* Create the skip list to hold names of properties already seen */ - if(NULL == (seen = H5SL_create(H5SL_TYPE_STR, NULL))) + if (NULL == (seen = H5SL_create(H5SL_TYPE_STR, NULL))) HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL, "can't create skip list for seen properties") /* Set up iterator callback info */ - udata_int.plist = plist; - udata_int.cb_func = cb_func; - udata_int.udata = udata; - udata_int.seen = seen; + udata_int.plist = plist; + udata_int.cb_func = cb_func; + udata_int.udata = udata; + udata_int.seen = seen; udata_int.curr_idx_ptr = &curr_idx; - udata_int.prev_idx = *idx; + udata_int.prev_idx = *idx; /* Iterate over properties in property list proper */ /* (Will be only the non-default (i.e. changed) properties) */ ret_value = H5SL_iterate(plist->props, H5P__iterate_plist_cb, &udata_int); - if(ret_value != 0) + if (ret_value != 0) HGOTO_DONE(ret_value); /* Check for iterating over all properties, or just non-default ones */ - if(iter_all_prop) { + if (iter_all_prop) { /* Walk up the class hierarchy */ tclass = plist->pclass; - while(tclass != NULL) { + while (tclass != NULL) { /* Iterate over properties in property list class */ ret_value = H5SL_iterate(tclass->props, H5P__iterate_plist_pclass_cb, &udata_int); - if(ret_value != 0) + if (ret_value != 0) HGOTO_DONE(ret_value); /* Go up to parent class */ tclass = tclass->parent; } /* end while */ - } /* end if */ + } /* end if */ done: /* Set the index we stopped at */ *idx = curr_idx; /* Release the skip list of 'seen' properties */ - if(seen != NULL) + if (seen != NULL) H5SL_close(seen); FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__iterate_plist() */ +} /* H5P__iterate_plist() */ - /*-------------------------------------------------------------------------- NAME H5P__iterate_pclass_cb @@ -4069,9 +4047,9 @@ property list class. static int H5P__iterate_pclass_cb(void *_item, void H5_ATTR_NDEBUG_UNUSED *_key, void *_udata) { - H5P_genprop_t *item = (H5P_genprop_t *)_item; /* Pointer to the property */ - H5P_iter_pclass_ud_t *udata = (H5P_iter_pclass_ud_t *)_udata; /* Pointer to user data */ - int ret_value = 0; /* Return value */ + H5P_genprop_t * item = (H5P_genprop_t *)_item; /* Pointer to the property */ + H5P_iter_pclass_ud_t *udata = (H5P_iter_pclass_ud_t *)_udata; /* Pointer to user data */ + int ret_value = 0; /* Return value */ FUNC_ENTER_STATIC_NOERR @@ -4080,10 +4058,10 @@ H5P__iterate_pclass_cb(void *_item, void H5_ATTR_NDEBUG_UNUSED *_key, void *_uda HDassert((char *)_key); /* Check if we've found the correctly indexed property */ - if(*udata->curr_idx_ptr >= udata->prev_idx) { + if (*udata->curr_idx_ptr >= udata->prev_idx) { /* Call the callback function */ ret_value = (*udata->cb_func)(item, udata->udata); - if(ret_value != 0) + if (ret_value != 0) HGOTO_DONE(ret_value); } /* end if */ @@ -4094,7 +4072,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5P__iterate_pclass_cb() */ - /*-------------------------------------------------------------------------- NAME H5P__iterate_pclass @@ -4147,12 +4124,11 @@ iteration, the function's behavior is undefined. REVISION LOG --------------------------------------------------------------------------*/ int -H5P__iterate_pclass(const H5P_genclass_t *pclass, int *idx, - H5P_iterate_int_t cb_func, void *udata) +H5P__iterate_pclass(const H5P_genclass_t *pclass, int *idx, H5P_iterate_int_t cb_func, void *udata) { - H5P_iter_pclass_ud_t udata_int; /* User data for skip list iterator */ - int curr_idx = 0; /* Current iteration index */ - int ret_value = 0; /* Return value */ + H5P_iter_pclass_ud_t udata_int; /* User data for skip list iterator */ + int curr_idx = 0; /* Current iteration index */ + int ret_value = 0; /* Return value */ FUNC_ENTER_PACKAGE_NOERR @@ -4162,14 +4138,14 @@ H5P__iterate_pclass(const H5P_genclass_t *pclass, int *idx, HDassert(cb_func); /* Set up iterator callback info */ - udata_int.cb_func = cb_func; - udata_int.udata = udata; + udata_int.cb_func = cb_func; + udata_int.udata = udata; udata_int.curr_idx_ptr = &curr_idx; - udata_int.prev_idx = *idx; + udata_int.prev_idx = *idx; /* Iterate over properties in property list class proper */ ret_value = H5SL_iterate(pclass->props, H5P__iterate_pclass_cb, &udata_int); - if(ret_value != 0) + if (ret_value != 0) HGOTO_DONE(ret_value); done: @@ -4177,9 +4153,8 @@ done: *idx = curr_idx; FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__iterate_pclass() */ +} /* H5P__iterate_pclass() */ - /*-------------------------------------------------------------------------- NAME H5P__peek_cb @@ -4204,10 +4179,10 @@ done: --------------------------------------------------------------------------*/ static herr_t H5P__peek_cb(H5P_genplist_t H5_ATTR_NDEBUG_UNUSED *plist, const char H5_ATTR_NDEBUG_UNUSED *name, - H5P_genprop_t *prop, void *_udata) + H5P_genprop_t *prop, void *_udata) { - H5P_prop_get_ud_t *udata = (H5P_prop_get_ud_t *)_udata; /* User data for callback */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_prop_get_ud_t *udata = (H5P_prop_get_ud_t *)_udata; /* User data for callback */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -4217,7 +4192,7 @@ H5P__peek_cb(H5P_genplist_t H5_ATTR_NDEBUG_UNUSED *plist, const char H5_ATTR_NDE HDassert(prop); /* Check for property size >0 */ - if(0 == prop->size) + if (0 == prop->size) HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size") /* Make a (shallow) copy of the value */ @@ -4225,9 +4200,8 @@ H5P__peek_cb(H5P_genplist_t H5_ATTR_NDEBUG_UNUSED *plist, const char H5_ATTR_NDE done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__peek_cb() */ +} /* H5P__peek_cb() */ - /*-------------------------------------------------------------------------- NAME H5P_peek @@ -4255,8 +4229,8 @@ done: herr_t H5P_peek(H5P_genplist_t *plist, const char *name, void *value) { - H5P_prop_get_ud_t udata; /* User data for callback */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_prop_get_ud_t udata; /* User data for callback */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -4267,14 +4241,13 @@ H5P_peek(H5P_genplist_t *plist, const char *name, void *value) /* Find the property and peek at the value */ udata.value = value; - if(H5P__do_prop(plist, name, H5P__peek_cb, H5P__peek_cb, &udata) < 0) + if (H5P__do_prop(plist, name, H5P__peek_cb, H5P__peek_cb, &udata) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on plist to peek at value") done: FUNC_LEAVE_NOAPI(ret_value) } /* H5P_peek() */ - /*-------------------------------------------------------------------------- NAME H5P__get_cb @@ -4298,12 +4271,11 @@ done: REVISION LOG --------------------------------------------------------------------------*/ static herr_t -H5P__get_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, - void *_udata) +H5P__get_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, void *_udata) { - H5P_prop_get_ud_t *udata = (H5P_prop_get_ud_t *)_udata; /* User data for callback */ - void *tmp_value = NULL; /* Temporary value for property */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_prop_get_ud_t *udata = (H5P_prop_get_ud_t *)_udata; /* User data for callback */ + void * tmp_value = NULL; /* Temporary value for property */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -4313,18 +4285,18 @@ H5P__get_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, HDassert(prop); /* Check for property size >0 */ - if(0 == prop->size) + if (0 == prop->size) HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size") /* Call the 'get' callback, if there is one */ - if(NULL != prop->get) { + if (NULL != prop->get) { /* Make a copy of the current value, in case the callback fails */ - if(NULL == (tmp_value = H5MM_malloc(prop->size))) + if (NULL == (tmp_value = H5MM_malloc(prop->size))) HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed temporary property value") H5MM_memcpy(tmp_value, prop->value, prop->size); /* Call user's callback */ - if((*(prop->get))(plist->plist_id, name, prop->size, tmp_value) < 0) + if ((*(prop->get))(plist->plist_id, name, prop->size, tmp_value) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "can't set property value") /* Copy new [possibly unchanged] value into return value */ @@ -4336,13 +4308,12 @@ H5P__get_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, done: /* Free the temporary value buffer */ - if(tmp_value) + if (tmp_value) H5MM_xfree(tmp_value); FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__get_cb() */ +} /* H5P__get_cb() */ - /*-------------------------------------------------------------------------- NAME H5P_get @@ -4374,8 +4345,8 @@ done: herr_t H5P_get(H5P_genplist_t *plist, const char *name, void *value) { - H5P_prop_get_ud_t udata; /* User data for callback */ - herr_t ret_value = SUCCEED; /* Return value */ + H5P_prop_get_ud_t udata; /* User data for callback */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -4386,14 +4357,13 @@ H5P_get(H5P_genplist_t *plist, const char *name, void *value) /* Find the property and get the value */ udata.value = value; - if(H5P__do_prop(plist, name, H5P__get_cb, H5P__get_cb, &udata) < 0) + if (H5P__do_prop(plist, name, H5P__get_cb, H5P__get_cb, &udata) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on plist to get value") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_get() */ +} /* H5P_get() */ - /*-------------------------------------------------------------------------- NAME H5P__del_plist_cb @@ -4416,10 +4386,9 @@ done: REVISION LOG --------------------------------------------------------------------------*/ static herr_t -H5P__del_plist_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, - void H5_ATTR_UNUSED *_udata) +H5P__del_plist_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, void H5_ATTR_UNUSED *_udata) { - char *del_name = NULL; /* Pointer to deleted name */ + char * del_name = NULL; /* Pointer to deleted name */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -4430,22 +4399,22 @@ H5P__del_plist_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, HDassert(prop); /* Pass value to 'close' callback, if it exists */ - if(NULL != prop->del) { + if (NULL != prop->del) { /* Call user's callback */ - if((*(prop->del))(plist->plist_id, name, prop->size, prop->value) < 0) + if ((*(prop->del))(plist->plist_id, name, prop->size, prop->value) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTFREE, FAIL, "can't release property value") } /* end if */ /* Duplicate string for insertion into new deleted property skip list */ - if(NULL == (del_name = H5MM_xstrdup(name))) + if (NULL == (del_name = H5MM_xstrdup(name))) HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed") /* Insert property name into deleted list */ - if(H5SL_insert(plist->del, del_name, del_name) < 0) + if (H5SL_insert(plist->del, del_name, del_name) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into deleted skip list") /* Remove the property from the skip list */ - if(NULL == H5SL_remove(plist->props, prop->name)) + if (NULL == H5SL_remove(plist->props, prop->name)) HGOTO_ERROR(H5E_PLIST, H5E_CANTDELETE, FAIL, "can't remove property from skip list") /* Free the property, ignoring return value, nothing we can do */ @@ -4456,14 +4425,13 @@ H5P__del_plist_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, done: /* Error cleanup */ - if(ret_value < 0) - if(del_name) + if (ret_value < 0) + if (del_name) H5MM_xfree(del_name); FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__del_plist_cb() */ +} /* H5P__del_plist_cb() */ - /*-------------------------------------------------------------------------- NAME H5P__del_pclass_cb @@ -4486,11 +4454,10 @@ done: REVISION LOG --------------------------------------------------------------------------*/ static herr_t -H5P__del_pclass_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, - void H5_ATTR_UNUSED *_udata) +H5P__del_pclass_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, void H5_ATTR_UNUSED *_udata) { - char *del_name = NULL; /* Pointer to deleted name */ - void *tmp_value = NULL; /* Temporary value for property */ + char * del_name = NULL; /* Pointer to deleted name */ + void * tmp_value = NULL; /* Temporary value for property */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -4501,23 +4468,24 @@ H5P__del_pclass_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, HDassert(prop); /* Pass value to 'del' callback, if it exists */ - if(NULL != prop->del) { + if (NULL != prop->del) { /* Allocate space for a temporary copy of the property value */ - if(NULL == (tmp_value = H5MM_malloc(prop->size))) - HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed for temporary property value") + if (NULL == (tmp_value = H5MM_malloc(prop->size))) + HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, + "memory allocation failed for temporary property value") H5MM_memcpy(tmp_value, prop->value, prop->size); /* Call user's callback */ - if((*(prop->del))(plist->plist_id, name, prop->size, tmp_value) < 0) + if ((*(prop->del))(plist->plist_id, name, prop->size, tmp_value) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "can't close property value") } /* end if */ /* Duplicate string for insertion into new deleted property skip list */ - if(NULL == (del_name = H5MM_xstrdup(name))) + if (NULL == (del_name = H5MM_xstrdup(name))) HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed") /* Insert property name into deleted list */ - if(H5SL_insert(plist->del, del_name, del_name) < 0) + if (H5SL_insert(plist->del, del_name, del_name) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into deleted skip list") /* Decrement the number of properties in list */ @@ -4525,18 +4493,17 @@ H5P__del_pclass_cb(H5P_genplist_t *plist, const char *name, H5P_genprop_t *prop, done: /* Free the temporary value buffer */ - if(tmp_value) + if (tmp_value) H5MM_xfree(tmp_value); /* Error cleanup */ - if(ret_value < 0) - if(del_name) + if (ret_value < 0) + if (del_name) H5MM_xfree(del_name); FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__del_pclass_cb() */ +} /* H5P__del_pclass_cb() */ - /*-------------------------------------------------------------------------- NAME H5P_remove @@ -4566,7 +4533,7 @@ done: herr_t H5P_remove(H5P_genplist_t *plist, const char *name) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -4575,14 +4542,13 @@ H5P_remove(H5P_genplist_t *plist, const char *name) HDassert(name); /* Find the property and get the value */ - if(H5P__do_prop(plist, name, H5P__del_plist_cb, H5P__del_pclass_cb, NULL) < 0) + if (H5P__do_prop(plist, name, H5P__del_plist_cb, H5P__del_pclass_cb, NULL) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on plist to remove value") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_remove() */ +} /* H5P_remove() */ - /*-------------------------------------------------------------------------- NAME H5P__copy_prop_plist @@ -4617,42 +4583,43 @@ done: herr_t H5P__copy_prop_plist(hid_t dst_id, hid_t src_id, const char *name) { - H5P_genplist_t *dst_plist; /* Pointer to destination property list */ - H5P_genplist_t *src_plist; /* Pointer to source property list */ - H5P_genprop_t *prop; /* Temporary property pointer */ - H5P_genprop_t *new_prop=NULL; /* Pointer to new property */ - herr_t ret_value=SUCCEED; /* return value */ + H5P_genplist_t *dst_plist; /* Pointer to destination property list */ + H5P_genplist_t *src_plist; /* Pointer to source property list */ + H5P_genprop_t * prop; /* Temporary property pointer */ + H5P_genprop_t * new_prop = NULL; /* Pointer to new property */ + herr_t ret_value = SUCCEED; /* return value */ FUNC_ENTER_PACKAGE HDassert(name); /* Get the objects to operate on */ - if(NULL == (src_plist = (H5P_genplist_t *)H5I_object(src_id)) || NULL == (dst_plist = (H5P_genplist_t *)H5I_object(dst_id))) + if (NULL == (src_plist = (H5P_genplist_t *)H5I_object(src_id)) || + NULL == (dst_plist = (H5P_genplist_t *)H5I_object(dst_id))) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "property object doesn't exist") /* If the property exists in the destination alread */ - if(NULL != H5P__find_prop_plist(dst_plist, name)) { + if (NULL != H5P__find_prop_plist(dst_plist, name)) { /* Delete the property from the destination list, calling the 'close' callback if necessary */ - if(H5P_remove(dst_plist, name) < 0) + if (H5P_remove(dst_plist, name) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTDELETE, FAIL, "unable to remove property") /* Get the pointer to the source property */ prop = H5P__find_prop_plist(src_plist, name); /* Make a copy of the source property */ - if((new_prop = H5P__dup_prop(prop,H5P_PROP_WITHIN_LIST)) == NULL) - HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL,"Can't copy property") + if ((new_prop = H5P__dup_prop(prop, H5P_PROP_WITHIN_LIST)) == NULL) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "Can't copy property") /* Call property copy callback, if it exists */ - if(new_prop->copy) { - if((new_prop->copy)(new_prop->name,new_prop->size,new_prop->value) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL,"Can't copy property") + if (new_prop->copy) { + if ((new_prop->copy)(new_prop->name, new_prop->size, new_prop->value) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "Can't copy property") } /* end if */ /* Insert the initialized property into the property list */ - if(H5P__add_prop(dst_plist->props,new_prop) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL,"Can't insert property into list") + if (H5P__add_prop(dst_plist->props, new_prop) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "Can't insert property into list") /* Increment the number of properties in list */ dst_plist->nprops++; @@ -4663,20 +4630,21 @@ H5P__copy_prop_plist(hid_t dst_id, hid_t src_id, const char *name) prop = H5P__find_prop_plist(src_plist, name); /* Create property object from parameters */ - if(NULL == (new_prop = H5P__create_prop(prop->name, prop->size, H5P_PROP_WITHIN_LIST, prop->value, - prop->create, prop->set, prop->get, prop->encode, prop->decode, - prop->del, prop->copy, prop->cmp, prop->close))) - HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL,"Can't create property") + if (NULL == + (new_prop = H5P__create_prop(prop->name, prop->size, H5P_PROP_WITHIN_LIST, prop->value, + prop->create, prop->set, prop->get, prop->encode, prop->decode, + prop->del, prop->copy, prop->cmp, prop->close))) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL, "Can't create property") /* Call property creation callback, if it exists */ - if(new_prop->create) { - if((new_prop->create)(new_prop->name, new_prop->size, new_prop->value) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL,"Can't initialize property") + if (new_prop->create) { + if ((new_prop->create)(new_prop->name, new_prop->size, new_prop->value) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "Can't initialize property") } /* end if */ /* Insert property into property list class */ - if(H5P__add_prop(dst_plist->props, new_prop) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL,"Can't insert property into class") + if (H5P__add_prop(dst_plist->props, new_prop) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "Can't insert property into class") /* Increment property count for class */ dst_plist->nprops++; @@ -4684,15 +4652,14 @@ H5P__copy_prop_plist(hid_t dst_id, hid_t src_id, const char *name) done: /* Cleanup, if necessary */ - if(ret_value < 0) { - if(new_prop != NULL) + if (ret_value < 0) { + if (new_prop != NULL) H5P__free_prop(new_prop); } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__copy_prop_plist() */ +} /* H5P__copy_prop_plist() */ - /*-------------------------------------------------------------------------- NAME H5P__copy_prop_pclass @@ -4725,11 +4692,11 @@ done: herr_t H5P__copy_prop_pclass(hid_t dst_id, hid_t src_id, const char *name) { - H5P_genclass_t *src_pclass; /* Source property class, containing property to copy */ - H5P_genclass_t *dst_pclass; /* Destination property class */ - H5P_genclass_t *orig_dst_pclass; /* Original destination property class */ - H5P_genprop_t *prop; /* Temporary property pointer */ - herr_t ret_value = SUCCEED; /* return value */ + H5P_genclass_t *src_pclass; /* Source property class, containing property to copy */ + H5P_genclass_t *dst_pclass; /* Destination property class */ + H5P_genclass_t *orig_dst_pclass; /* Original destination property class */ + H5P_genprop_t * prop; /* Temporary property pointer */ + herr_t ret_value = SUCCEED; /* return value */ FUNC_ENTER_PACKAGE @@ -4737,49 +4704,49 @@ H5P__copy_prop_pclass(hid_t dst_id, hid_t src_id, const char *name) HDassert(name); /* Get property list classes */ - if(NULL == (src_pclass = (H5P_genclass_t *)H5I_object(src_id))) + if (NULL == (src_pclass = (H5P_genclass_t *)H5I_object(src_id))) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "source property class object doesn't exist") - if(NULL == (dst_pclass = (H5P_genclass_t *)H5I_object(dst_id))) + if (NULL == (dst_pclass = (H5P_genclass_t *)H5I_object(dst_id))) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "destination property class object doesn't exist") /* Get the property from the source */ - if(NULL == (prop = H5P__find_prop_pclass(src_pclass, name))) + if (NULL == (prop = H5P__find_prop_pclass(src_pclass, name))) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "unable to locate property") /* If the property exists in the destination already */ - if(H5P__exist_pclass(dst_pclass, name)) { + if (H5P__exist_pclass(dst_pclass, name)) { /* Delete the old property from the destination class */ - if(H5P__unregister(dst_pclass, name) < 0) + if (H5P__unregister(dst_pclass, name) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTDELETE, FAIL, "unable to remove property") } /* end if */ /* Register the property into the destination */ orig_dst_pclass = dst_pclass; - if(H5P__register(&dst_pclass, name, prop->size, prop->value, prop->create, prop->set, prop->get, - prop->encode, prop->decode, prop->del, prop->copy, prop->cmp, prop->close) < 0) + if (H5P__register(&dst_pclass, name, prop->size, prop->value, prop->create, prop->set, prop->get, + prop->encode, prop->decode, prop->del, prop->copy, prop->cmp, prop->close) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTDELETE, FAIL, "unable to remove property") /* Check if the property class changed and needs to be substituted in the ID */ - if(dst_pclass != orig_dst_pclass) { - H5P_genclass_t *old_dst_pclass; /* Old destination property class */ + if (dst_pclass != orig_dst_pclass) { + H5P_genclass_t *old_dst_pclass; /* Old destination property class */ /* Substitute the new destination property class in the ID */ - if(NULL == (old_dst_pclass = (H5P_genclass_t *)H5I_subst(dst_id, dst_pclass))) + if (NULL == (old_dst_pclass = (H5P_genclass_t *)H5I_subst(dst_id, dst_pclass))) HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "unable to substitute property class in ID") HDassert(old_dst_pclass == orig_dst_pclass); /* Close the previous class */ - if(H5P__close_class(old_dst_pclass) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTCLOSEOBJ, FAIL, "unable to close original property class after substitution") + if (H5P__close_class(old_dst_pclass) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCLOSEOBJ, FAIL, + "unable to close original property class after substitution") } /* end if */ done: /* Cleanup, if necessary */ FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__copy_prop_pclass() */ +} /* H5P__copy_prop_pclass() */ - /*-------------------------------------------------------------------------- NAME H5P__unregister @@ -4804,8 +4771,8 @@ done: herr_t H5P__unregister(H5P_genclass_t *pclass, const char *name) { - H5P_genprop_t *prop; /* Temporary property pointer */ - herr_t ret_value=SUCCEED; /* Return value */ + H5P_genprop_t *prop; /* Temporary property pointer */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE @@ -4813,12 +4780,12 @@ H5P__unregister(H5P_genclass_t *pclass, const char *name) HDassert(name); /* Get the property node from the skip list */ - if((prop = (H5P_genprop_t *)H5SL_search(pclass->props,name)) == NULL) - HGOTO_ERROR(H5E_PLIST,H5E_NOTFOUND,FAIL,"can't find property in skip list") + if ((prop = (H5P_genprop_t *)H5SL_search(pclass->props, name)) == NULL) + HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "can't find property in skip list") /* Remove the property from the skip list */ - if(H5SL_remove(pclass->props,prop->name) == NULL) - HGOTO_ERROR(H5E_PLIST,H5E_CANTDELETE,FAIL,"can't remove property from skip list") + if (H5SL_remove(pclass->props, prop->name) == NULL) + HGOTO_ERROR(H5E_PLIST, H5E_CANTDELETE, FAIL, "can't remove property from skip list") /* Free the property, ignoring return value, nothing we can do */ H5P__free_prop(prop); @@ -4831,9 +4798,8 @@ H5P__unregister(H5P_genclass_t *pclass, const char *name) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__unregister() */ +} /* H5P__unregister() */ - /*-------------------------------------------------------------------------- NAME H5P_close @@ -4861,16 +4827,16 @@ done: herr_t H5P_close(void *_plist) { - H5P_genclass_t *tclass; /* Temporary class pointer */ - H5P_genplist_t *plist=(H5P_genplist_t *)_plist; - H5SL_t *seen=NULL; /* Skip list to hold names of properties already seen */ - size_t nseen; /* Number of items 'seen' */ - hbool_t has_parent_class; /* Flag to indicate that this property list's class has a parent */ - size_t ndel; /* Number of items deleted */ - H5SL_node_t *curr_node; /* Current node in skip list */ - H5P_genprop_t *tmp; /* Temporary pointer to properties */ - unsigned make_cb=0; /* Operator data for property free callback */ - herr_t ret_value=SUCCEED; /* return value */ + H5P_genclass_t *tclass; /* Temporary class pointer */ + H5P_genplist_t *plist = (H5P_genplist_t *)_plist; + H5SL_t * seen = NULL; /* Skip list to hold names of properties already seen */ + size_t nseen; /* Number of items 'seen' */ + hbool_t has_parent_class; /* Flag to indicate that this property list's class has a parent */ + size_t ndel; /* Number of items deleted */ + H5SL_node_t * curr_node; /* Current node in skip list */ + H5P_genprop_t * tmp; /* Temporary pointer to properties */ + unsigned make_cb = 0; /* Operator data for property free callback */ + herr_t ret_value = SUCCEED; /* return value */ FUNC_ENTER_NOAPI_NOINIT @@ -4879,10 +4845,10 @@ H5P_close(void *_plist) /* Make call to property list class close callback, if needed * (up through chain of parent classes also) */ - if(plist->class_init) { + if (plist->class_init) { tclass = plist->pclass; - while(NULL != tclass) { - if(NULL != tclass->close_func) { + while (NULL != tclass) { + if (NULL != tclass->close_func) { /* Call user's "close" callback function, ignoring return value */ (tclass->close_func)(plist->plist_id, tclass->close_data); } /* end if */ @@ -4890,98 +4856,100 @@ H5P_close(void *_plist) /* Go up to parent class */ tclass = tclass->parent; } /* end while */ - } /* end if */ + } /* end if */ /* Create the skip list to hold names of properties already seen * (This prevents a property in the class hierarchy from having it's * 'close' callback called, if a property in the class hierarchy has * already been seen) */ - if((seen = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) - HGOTO_ERROR(H5E_PLIST,H5E_CANTCREATE,FAIL,"can't create skip list for seen properties") + if ((seen = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL) + HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL, "can't create skip list for seen properties") nseen = 0; /* Walk through the changed properties in the list */ - if(H5SL_count(plist->props)>0) { - curr_node=H5SL_first(plist->props); - while(curr_node!=NULL) { + if (H5SL_count(plist->props) > 0) { + curr_node = H5SL_first(plist->props); + while (curr_node != NULL) { /* Get pointer to property from node */ tmp = (H5P_genprop_t *)H5SL_item(curr_node); /* Call property close callback, if it exists */ - if(tmp->close) { + if (tmp->close) { /* Call the 'close' callback */ - (tmp->close)(tmp->name,tmp->size,tmp->value); + (tmp->close)(tmp->name, tmp->size, tmp->value); } /* end if */ /* Add property name to "seen" list */ - if(H5SL_insert(seen,tmp->name,tmp->name) < 0) - HGOTO_ERROR(H5E_PLIST,H5E_CANTINSERT,FAIL,"can't insert property into seen skip list") + if (H5SL_insert(seen, tmp->name, tmp->name) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into seen skip list") nseen++; /* Get the next property node in the skip list */ - curr_node=H5SL_next(curr_node); + curr_node = H5SL_next(curr_node); } /* end while */ - } /* end if */ + } /* end if */ /* Determine number of deleted items from property list */ - ndel=H5SL_count(plist->del); + ndel = H5SL_count(plist->del); /* * Check if we should remove class properties (up through list of parent classes also), * initialize each with default value & make property 'remove' callback. */ - tclass=plist->pclass; + tclass = plist->pclass; has_parent_class = (hbool_t)(tclass != NULL && tclass->parent != NULL && tclass->parent->nprops > 0); - while(tclass!=NULL) { - if(tclass->nprops>0) { + while (tclass != NULL) { + if (tclass->nprops > 0) { /* Walk through the properties in the class */ - curr_node=H5SL_first(tclass->props); - while(curr_node!=NULL) { + curr_node = H5SL_first(tclass->props); + while (curr_node != NULL) { /* Get pointer to property from node */ tmp = (H5P_genprop_t *)H5SL_item(curr_node); /* Only "delete" properties we haven't seen before * and that haven't already been deleted */ - if((nseen==0 || H5SL_search(seen,tmp->name) == NULL) && - (ndel==0 || H5SL_search(plist->del,tmp->name) == NULL)) { + if ((nseen == 0 || H5SL_search(seen, tmp->name) == NULL) && + (ndel == 0 || H5SL_search(plist->del, tmp->name) == NULL)) { /* Call property close callback, if it exists */ - if(tmp->close) { - void *tmp_value; /* Temporary value buffer */ + if (tmp->close) { + void *tmp_value; /* Temporary value buffer */ /* Allocate space for a temporary copy of the property value */ - if(NULL==(tmp_value=H5MM_malloc(tmp->size))) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for temporary property value") - H5MM_memcpy(tmp_value,tmp->value,tmp->size); + if (NULL == (tmp_value = H5MM_malloc(tmp->size))) + HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, + "memory allocation failed for temporary property value") + H5MM_memcpy(tmp_value, tmp->value, tmp->size); /* Call the 'close' callback */ - (tmp->close)(tmp->name,tmp->size,tmp_value); + (tmp->close)(tmp->name, tmp->size, tmp_value); /* Release the temporary value buffer */ H5MM_xfree(tmp_value); } /* end if */ /* Add property name to "seen" list, if we have other classes to work on */ - if(has_parent_class) { - if(H5SL_insert(seen,tmp->name,tmp->name) < 0) - HGOTO_ERROR(H5E_PLIST,H5E_CANTINSERT,FAIL,"can't insert property into seen skip list") + if (has_parent_class) { + if (H5SL_insert(seen, tmp->name, tmp->name) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, + "can't insert property into seen skip list") nseen++; } /* end if */ - } /* end if */ + } /* end if */ /* Get the next property node in the skip list */ - curr_node=H5SL_next(curr_node); + curr_node = H5SL_next(curr_node); } /* end while */ - } /* end if */ + } /* end if */ /* Go up to parent class */ - tclass=tclass->parent; + tclass = tclass->parent; } /* end while */ /* Decrement class's dependent property list value! */ - if(H5P__access_class(plist->pclass,H5P_MOD_DEC_LST) < 0) + if (H5P__access_class(plist->pclass, H5P_MOD_DEC_LST) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "Can't decrement class ref count") /* Free the list of 'seen' properties */ @@ -4999,13 +4967,12 @@ H5P_close(void *_plist) done: /* Release the skip list of 'seen' properties */ - if(seen != NULL) + if (seen != NULL) H5SL_close(seen); FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_close() */ +} /* H5P_close() */ - /*-------------------------------------------------------------------------- NAME H5P_get_class_name @@ -5029,20 +4996,19 @@ done: char * H5P_get_class_name(H5P_genclass_t *pclass) { - char *ret_value = NULL; /* Return value */ + char *ret_value = NULL; /* Return value */ FUNC_ENTER_NOAPI(NULL) HDassert(pclass); /* Get class name */ - ret_value=H5MM_xstrdup(pclass->name); + ret_value = H5MM_xstrdup(pclass->name); done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P_get_class_name() */ +} /* H5P_get_class_name() */ - /*-------------------------------------------------------------------------- NAME H5P__get_class_path @@ -5067,26 +5033,27 @@ done: char * H5P__get_class_path(H5P_genclass_t *pclass) { - char *ret_value = NULL; /* Return value */ + char *ret_value = NULL; /* Return value */ FUNC_ENTER_PACKAGE HDassert(pclass); /* Recursively build the full path */ - if(pclass->parent != NULL) { - char *par_path; /* Parent class's full path */ + if (pclass->parent != NULL) { + char *par_path; /* Parent class's full path */ /* Get the parent class's path */ par_path = H5P__get_class_path(pclass->parent); - if(par_path != NULL) { + if (par_path != NULL) { size_t ret_str_len; /* Allocate enough space for the parent class's path, plus the '/' * separator, this class's name and the string terminator */ - ret_str_len = HDstrlen(par_path) + HDstrlen(pclass->name) + 1 + 3; /* Extra "+3" to quiet GCC warning - 2019/07/05, QAK */ - if(NULL == (ret_value = (char *)H5MM_malloc(ret_str_len))) + ret_str_len = HDstrlen(par_path) + HDstrlen(pclass->name) + 1 + + 3; /* Extra "+3" to quiet GCC warning - 2019/07/05, QAK */ + if (NULL == (ret_value = (char *)H5MM_malloc(ret_str_len))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for class name") /* Build the full path for this class */ @@ -5103,9 +5070,8 @@ H5P__get_class_path(H5P_genclass_t *pclass) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__get_class_path() */ +} /* H5P__get_class_path() */ - /*-------------------------------------------------------------------------- NAME H5P__open_class_path @@ -5128,12 +5094,12 @@ done: H5P_genclass_t * H5P__open_class_path(const char *path) { - char *tmp_path = NULL; /* Temporary copy of the path */ - char *curr_name; /* Pointer to current component of path name */ - char *delimit; /* Pointer to path delimiter during traversal */ - H5P_genclass_t *curr_class; /* Pointer to class during path traversal */ - H5P_check_class_t check_info; /* Structure to hold the information for checking duplicate names */ - H5P_genclass_t *ret_value = NULL; /* Return value */ + char * tmp_path = NULL; /* Temporary copy of the path */ + char * curr_name; /* Pointer to current component of path name */ + char * delimit; /* Pointer to path delimiter during traversal */ + H5P_genclass_t * curr_class; /* Pointer to class during path traversal */ + H5P_check_class_t check_info; /* Structure to hold the information for checking duplicate names */ + H5P_genclass_t * ret_value = NULL; /* Return value */ FUNC_ENTER_PACKAGE @@ -5144,43 +5110,43 @@ H5P__open_class_path(const char *path) HDassert(tmp_path); /* Find the generic property class with this full path */ - curr_name = tmp_path; + curr_name = tmp_path; curr_class = NULL; - while(NULL != (delimit = HDstrchr(curr_name, '/'))) { + while (NULL != (delimit = HDstrchr(curr_name, '/'))) { /* Change the delimiter to terminate the string */ *delimit = '\0'; /* Set up the search structure */ - check_info.parent = curr_class; - check_info.name = curr_name; + check_info.parent = curr_class; + check_info.name = curr_name; check_info.new_class = NULL; /* Find the class with this name & parent by iterating over the open classes */ - if(H5I_iterate(H5I_GENPROP_CLS, H5P__open_class_path_cb, &check_info, FALSE) < 0) + if (H5I_iterate(H5I_GENPROP_CLS, H5P__open_class_path_cb, &check_info, FALSE) < 0) HGOTO_ERROR(H5E_PLIST, H5E_BADITER, NULL, "can't iterate over classes") - else if(NULL == check_info.new_class) - HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, NULL, "can't locate class") + else if (NULL == check_info.new_class) + HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, NULL, "can't locate class") /* Advance the pointer in the path to the start of the next component */ curr_class = check_info.new_class; - curr_name = delimit + 1; + curr_name = delimit + 1; } /* end while */ /* Should be pointing to the last component in the path name now... */ /* Set up the search structure */ - check_info.parent = curr_class; - check_info.name = curr_name; + check_info.parent = curr_class; + check_info.name = curr_name; check_info.new_class = NULL; /* Find the class with this name & parent by iterating over the open classes */ - if(H5I_iterate(H5I_GENPROP_CLS, H5P__open_class_path_cb, &check_info, FALSE) < 0) + if (H5I_iterate(H5I_GENPROP_CLS, H5P__open_class_path_cb, &check_info, FALSE) < 0) HGOTO_ERROR(H5E_PLIST, H5E_BADITER, NULL, "can't iterate over classes") - else if(NULL == check_info.new_class) + else if (NULL == check_info.new_class) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, NULL, "can't locate class") /* Copy it */ - if(NULL == (ret_value = H5P__copy_pclass(check_info.new_class))) + if (NULL == (ret_value = H5P__copy_pclass(check_info.new_class))) HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, NULL, "can't copy property class") done: @@ -5190,7 +5156,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* H5P__open_class_path() */ - /*-------------------------------------------------------------------------- NAME H5P__get_class_parent @@ -5213,7 +5178,7 @@ done: H5P_genclass_t * H5P__get_class_parent(const H5P_genclass_t *pclass) { - H5P_genclass_t *ret_value = NULL; /* Return value */ + H5P_genclass_t *ret_value = NULL; /* Return value */ FUNC_ENTER_PACKAGE_NOERR @@ -5223,9 +5188,8 @@ H5P__get_class_parent(const H5P_genclass_t *pclass) ret_value = pclass->parent; FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__get_class_parent() */ +} /* H5P__get_class_parent() */ - /*-------------------------------------------------------------------------- NAME H5P__close_class @@ -5246,22 +5210,21 @@ H5P__get_class_parent(const H5P_genclass_t *pclass) herr_t H5P__close_class(void *_pclass) { - H5P_genclass_t *pclass = (H5P_genclass_t *)_pclass; - herr_t ret_value = SUCCEED; /* Return value */ + H5P_genclass_t *pclass = (H5P_genclass_t *)_pclass; + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT HDassert(pclass); /* Decrement the reference count & check if the object should go away */ - if(H5P__access_class(pclass, H5P_MOD_DEC_REF) < 0) + if (H5P__access_class(pclass, H5P_MOD_DEC_REF) < 0) HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "can't decrement ID ref count") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5P__close_class() */ +} /* H5P__close_class() */ - /*------------------------------------------------------------------------- * Function: H5P__new_plist_of_type * @@ -5278,9 +5241,9 @@ done: hid_t H5P__new_plist_of_type(H5P_plist_type_t type) { - H5P_genclass_t *pclass; /* Class of property list to create */ - hid_t class_id; /* ID of class to create */ - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + H5P_genclass_t *pclass; /* Class of property list to create */ + hid_t class_id; /* ID of class to create */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_PACKAGE @@ -5289,13 +5252,14 @@ H5P__new_plist_of_type(H5P_plist_type_t type) HDassert(type >= H5P_TYPE_USER && type <= H5P_TYPE_LINK_ACCESS); /* Check arguments */ - if(type == H5P_TYPE_USER) + if (type == H5P_TYPE_USER) HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, H5I_INVALID_HID, "can't create user property list"); - if(type == H5P_TYPE_ROOT) - HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, H5I_INVALID_HID, "shouldn't be creating root class property list"); + if (type == H5P_TYPE_ROOT) + HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, H5I_INVALID_HID, + "shouldn't be creating root class property list"); /* Instantiate a property list of the proper type */ - switch(type) { + switch (type) { case H5P_TYPE_OBJECT_CREATE: class_id = H5P_CLS_OBJECT_CREATE_ID_g; break; @@ -5364,7 +5328,7 @@ H5P__new_plist_of_type(H5P_plist_type_t type) class_id = H5P_CLS_LINK_ACCESS_ID_g; break; - case H5P_TYPE_USER: /* shut compiler warnings up */ + case H5P_TYPE_USER: /* shut compiler warnings up */ case H5P_TYPE_ROOT: case H5P_TYPE_MAX_TYPE: default: @@ -5372,18 +5336,17 @@ H5P__new_plist_of_type(H5P_plist_type_t type) } /* end switch */ /* Get the class object */ - if(NULL == (pclass = (H5P_genclass_t *)H5I_object(class_id))) + if (NULL == (pclass = (H5P_genclass_t *)H5I_object(class_id))) HGOTO_ERROR(H5E_PLIST, H5E_BADTYPE, H5I_INVALID_HID, "not a property class") /* Create the new property list */ - if((ret_value = H5P_create_id(pclass, TRUE)) < 0) + if ((ret_value = H5P_create_id(pclass, TRUE)) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID, "unable to create property list") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5P__new_plist_of_type() */ - /*------------------------------------------------------------------------- * Function: H5P_get_plist_id * @@ -5411,7 +5374,6 @@ H5P_get_plist_id(const H5P_genplist_t *plist) FUNC_LEAVE_NOAPI(plist->plist_id) } /* end H5P_get_plist_id() */ - /*------------------------------------------------------------------------- * Function: H5P_get_class * @@ -5439,7 +5401,6 @@ H5P_get_class(const H5P_genplist_t *plist) FUNC_LEAVE_NOAPI(plist->pclass) } /* end H5P_get_class() */ - /*------------------------------------------------------------------------- * Function: H5P_get_default * @@ -5456,7 +5417,7 @@ H5P_get_class(const H5P_genplist_t *plist) hid_t H5P_get_default(const H5P_libclass_t *libclass) { - hid_t ret_value = H5I_INVALID_HID; /* Return value */ + hid_t ret_value = H5I_INVALID_HID; /* Return value */ FUNC_ENTER_NOAPI(H5I_INVALID_HID) @@ -5467,4 +5428,3 @@ H5P_get_default(const H5P_libclass_t *libclass) done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5P_get_default() */ - |