summaryrefslogtreecommitdiffstats
path: root/src/H5Pint.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Pint.c')
-rw-r--r--src/H5Pint.c2238
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() */
-