summaryrefslogtreecommitdiffstats
path: root/tools/lib
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lib')
-rw-r--r--tools/lib/h5diff.c1223
-rw-r--r--tools/lib/h5diff.h155
-rw-r--r--tools/lib/h5diff_array.c2365
-rw-r--r--tools/lib/h5diff_attr.c334
-rw-r--r--tools/lib/h5diff_dset.c608
-rw-r--r--tools/lib/h5diff_util.c327
-rw-r--r--tools/lib/h5tools.c836
-rw-r--r--tools/lib/h5tools.h416
-rw-r--r--tools/lib/h5tools_dump.c3116
-rw-r--r--tools/lib/h5tools_dump.h100
-rw-r--r--tools/lib/h5tools_error.h262
-rw-r--r--tools/lib/h5tools_filters.c182
-rw-r--r--tools/lib/h5tools_ref.c99
-rw-r--r--tools/lib/h5tools_ref.h1
-rw-r--r--tools/lib/h5tools_str.c1024
-rw-r--r--tools/lib/h5tools_str.h45
-rw-r--r--tools/lib/h5tools_type.c10
-rw-r--r--tools/lib/h5tools_utils.c411
-rw-r--r--tools/lib/h5tools_utils.h96
-rw-r--r--tools/lib/h5trav.c542
-rw-r--r--tools/lib/h5trav.h94
-rw-r--r--tools/lib/io_timer.c116
-rw-r--r--tools/lib/io_timer.h46
-rw-r--r--tools/lib/ph5diff.h33
24 files changed, 6286 insertions, 6155 deletions
diff --git a/tools/lib/h5diff.c b/tools/lib/h5diff.c
index 87a3b11..ec83d91 100644
--- a/tools/lib/h5diff.c
+++ b/tools/lib/h5diff.c
@@ -17,7 +17,6 @@
#include "h5diff.h"
#include "ph5diff.h"
-
/*-------------------------------------------------------------------------
* Function: print_objname
*
@@ -27,7 +26,7 @@
*-------------------------------------------------------------------------
*/
H5_ATTR_PURE int
-print_objname (diff_opt_t * opts, hsize_t nfound)
+print_objname(diff_opt_t *opts, hsize_t nfound)
{
return ((opts->mode_verbose || nfound) && !opts->mode_quiet) ? 1 : 0;
}
@@ -39,7 +38,7 @@ print_objname (diff_opt_t * opts, hsize_t nfound)
*-------------------------------------------------------------------------
*/
void
-do_print_objname (const char *OBJ, const char *path1, const char *path2, diff_opt_t * opts)
+do_print_objname(const char *OBJ, const char *path1, const char *path2, diff_opt_t *opts)
{
/* if verbose level is higher than 0, put space line before
* displaying any object or symbolic links. This improves
@@ -57,7 +56,7 @@ do_print_objname (const char *OBJ, const char *path1, const char *path2, diff_op
*-------------------------------------------------------------------------
*/
void
-do_print_attrname (const char *attr, const char *path1, const char *path2)
+do_print_attrname(const char *attr, const char *path1, const char *path2)
{
parallel_print("%-7s: <%s> and <%s>\n", attr, path1, path2);
}
@@ -74,10 +73,9 @@ do_print_attrname (const char *attr, const char *path1, const char *path2)
static int
print_warn(diff_opt_t *opts)
{
- return ((opts->mode_verbose)) ? 1: 0;
+ return ((opts->mode_verbose)) ? 1 : 0;
}
-
#ifdef H5_HAVE_PARALLEL
/*-------------------------------------------------------------------------
* Function: phdiff_dismiss_workers
@@ -95,7 +93,6 @@ phdiff_dismiss_workers(void)
MPI_Send(NULL, 0, MPI_BYTE, i, MPI_TAG_END, MPI_COMM_WORLD);
}
-
/*-------------------------------------------------------------------------
* Function: print_incoming_data
*
@@ -109,19 +106,20 @@ phdiff_dismiss_workers(void)
static void
print_incoming_data(void)
{
- char data[PRINT_DATA_MAX_SIZE + 1];
- int incomingMessage;
+ char data[PRINT_DATA_MAX_SIZE + 1];
+ int incomingMessage;
MPI_Status Status;
do {
MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_PRINT_DATA, MPI_COMM_WORLD, &incomingMessage, &Status);
- if(incomingMessage) {
- HDmemset(data, 0, PRINT_DATA_MAX_SIZE+1);
- MPI_Recv(data, PRINT_DATA_MAX_SIZE, MPI_CHAR, Status.MPI_SOURCE, MPI_TAG_PRINT_DATA, MPI_COMM_WORLD, &Status);
+ if (incomingMessage) {
+ HDmemset(data, 0, PRINT_DATA_MAX_SIZE + 1);
+ MPI_Recv(data, PRINT_DATA_MAX_SIZE, MPI_CHAR, Status.MPI_SOURCE, MPI_TAG_PRINT_DATA,
+ MPI_COMM_WORLD, &Status);
HDprintf("%s", data);
}
- } while(incomingMessage);
+ } while (incomingMessage);
}
#endif
@@ -141,7 +139,7 @@ is_valid_options(diff_opt_t *opts)
/*-----------------------------------------------
* no -q(quiet) with -v (verbose) or -r (report) */
- if(opts->mode_quiet && (opts->mode_verbose || opts->mode_report)) {
+ if (opts->mode_quiet && (opts->mode_verbose || opts->mode_report)) {
parallel_print("Error: -q (quiet mode) cannot be added to verbose or report modes\n");
opts->err_stat = H5DIFF_ERR;
H5TOOLS_GOTO_DONE(0);
@@ -149,7 +147,7 @@ is_valid_options(diff_opt_t *opts)
/* -------------------------------------------------------
* only allow --no-dangling-links along with --follow-symlinks */
- if(opts->no_dangle_links && !opts->follow_links) {
+ if (opts->no_dangle_links && !opts->follow_links) {
parallel_print("Error: --no-dangling-links must be used along with --follow-symlinks option.\n");
opts->err_stat = H5DIFF_ERR;
H5TOOLS_GOTO_DONE(0);
@@ -169,11 +167,11 @@ done:
* 0 - not excluded path
*------------------------------------------------------------------------*/
static int
-is_exclude_path (char *path, h5trav_type_t type, diff_opt_t *opts)
+is_exclude_path(char *path, h5trav_type_t type, diff_opt_t *opts)
{
struct exclude_path_list *exclude_path_ptr;
- int ret_cmp;
- int ret_value = 0;
+ int ret_cmp;
+ int ret_value = 0;
/* check if exclude path option is given */
if (!opts->exclude_path)
@@ -186,9 +184,8 @@ is_exclude_path (char *path, h5trav_type_t type, diff_opt_t *opts)
while (NULL != exclude_path_ptr) {
/* if exclude path is is group, exclude its members as well */
if (exclude_path_ptr->obj_type == H5TRAV_TYPE_GROUP) {
- ret_cmp = HDstrncmp(exclude_path_ptr->obj_path, path,
- HDstrlen(exclude_path_ptr->obj_path));
- if (ret_cmp == 0) { /* found matching members */
+ ret_cmp = HDstrncmp(exclude_path_ptr->obj_path, path, HDstrlen(exclude_path_ptr->obj_path));
+ if (ret_cmp == 0) { /* found matching members */
size_t len_grp;
/* check if given path belong to an excluding group, if so
@@ -200,14 +197,14 @@ is_exclude_path (char *path, h5trav_type_t type, diff_opt_t *opts)
if (path[len_grp] == '/') {
/* belong to excluded group! */
ret_value = 1;
- break; /* while */
+ break; /* while */
}
}
}
/* exclude target is not group, just exclude the object */
else {
ret_cmp = HDstrcmp(exclude_path_ptr->obj_path, path);
- if (ret_cmp == 0) { /* found matching object */
+ if (ret_cmp == 0) { /* found matching object */
/* excluded non-group object */
ret_value = 1;
/* remember the type of this matching object.
@@ -221,7 +218,7 @@ is_exclude_path (char *path, h5trav_type_t type, diff_opt_t *opts)
}
done:
- return ret_value;
+ return ret_value;
}
/*-------------------------------------------------------------------------
@@ -234,11 +231,11 @@ done:
* 0 - not excluded path
*------------------------------------------------------------------------*/
static int
-is_exclude_attr (const char *path, h5trav_type_t type, diff_opt_t *opts)
+is_exclude_attr(const char *path, h5trav_type_t type, diff_opt_t *opts)
{
struct exclude_path_list *exclude_ptr;
- int ret_cmp;
- int ret_value = 0;
+ int ret_cmp;
+ int ret_value = 0;
/* check if exclude attr option is given */
if (!opts->exclude_attr_path)
@@ -251,9 +248,8 @@ is_exclude_attr (const char *path, h5trav_type_t type, diff_opt_t *opts)
while (NULL != exclude_ptr) {
/* if exclude path is is group, exclude its members as well */
if (exclude_ptr->obj_type == H5TRAV_TYPE_GROUP) {
- ret_cmp = HDstrncmp(exclude_ptr->obj_path, path,
- HDstrlen(exclude_ptr->obj_path));
- if (ret_cmp == 0) { /* found matching members */
+ ret_cmp = HDstrncmp(exclude_ptr->obj_path, path, HDstrlen(exclude_ptr->obj_path));
+ if (ret_cmp == 0) { /* found matching members */
size_t len_grp;
/* check if given path belong to an excluding group, if so
@@ -265,14 +261,14 @@ is_exclude_attr (const char *path, h5trav_type_t type, diff_opt_t *opts)
if (path[len_grp] == '/') {
/* belong to excluded group! */
ret_value = 1;
- break; /* while */
+ break; /* while */
}
}
}
/* exclude target is not group, just exclude the object */
else {
ret_cmp = HDstrcmp(exclude_ptr->obj_path, path);
- if (ret_cmp == 0) { /* found matching object */
+ if (ret_cmp == 0) { /* found matching object */
/* excluded non-group object */
ret_value = 1;
/* remember the type of this matching object.
@@ -286,10 +282,9 @@ is_exclude_attr (const char *path, h5trav_type_t type, diff_opt_t *opts)
}
done:
- return ret_value;
+ return ret_value;
}
-
/*-------------------------------------------------------------------------
* Function: free_exclude_path_list
*
@@ -308,7 +303,6 @@ free_exclude_path_list(diff_opt_t *opts)
}
}
-
/*-------------------------------------------------------------------------
* Function: free_exclude_attr_list
*
@@ -342,21 +336,21 @@ free_exclude_attr_list(diff_opt_t *opts)
* table_out [OUT] : return the list
*------------------------------------------------------------------------*/
static void
-build_match_list (const char *objname1, trav_info_t *info1, const char *objname2, trav_info_t *info2,
- trav_table_t ** table_out, diff_opt_t *opts)
+build_match_list(const char *objname1, trav_info_t *info1, const char *objname2, trav_info_t *info2,
+ trav_table_t **table_out, diff_opt_t *opts)
{
- size_t curr1 = 0;
- size_t curr2 = 0;
- unsigned infile[2];
- char *path1_lp = NULL;
- char *path2_lp = NULL;
+ size_t curr1 = 0;
+ size_t curr2 = 0;
+ unsigned infile[2];
+ char * path1_lp = NULL;
+ char * path2_lp = NULL;
h5trav_type_t type1_l;
h5trav_type_t type2_l;
- size_t path1_offset = 0;
- size_t path2_offset = 0;
- int cmp;
+ size_t path1_offset = 0;
+ size_t path2_offset = 0;
+ int cmp;
trav_table_t *table = NULL;
- size_t idx;
+ size_t idx;
H5TOOLS_START_DEBUG(" - errstat:%d", opts->err_stat);
/* init */
@@ -375,42 +369,42 @@ build_match_list (const char *objname1, trav_info_t *info1, const char *objname2
H5TOOLS_DEBUG("objname1 = %s objname2 = %s ", objname1, objname2);
/* if obj1 is not root */
- if (HDstrcmp (objname1,"/") != 0)
+ if (HDstrcmp(objname1, "/") != 0)
path1_offset = HDstrlen(objname1);
/* if obj2 is not root */
- if (HDstrcmp (objname2,"/") != 0)
+ if (HDstrcmp(objname2, "/") != 0)
path2_offset = HDstrlen(objname2);
/*--------------------------------------------------
- * build the list
- */
- while(curr1 < info1->nused && curr2 < info2->nused) {
+ * build the list
+ */
+ while (curr1 < info1->nused && curr2 < info2->nused) {
path1_lp = (info1->paths[curr1].path) + path1_offset;
path2_lp = (info2->paths[curr2].path) + path2_offset;
- type1_l = info1->paths[curr1].type;
- type2_l = info2->paths[curr2].type;
+ type1_l = info1->paths[curr1].type;
+ type2_l = info2->paths[curr2].type;
/* criteria is string compare */
cmp = HDstrcmp(path1_lp, path2_lp);
- if(cmp == 0) {
- if(!is_exclude_path(path1_lp, type1_l, opts)) {
+ if (cmp == 0) {
+ if (!is_exclude_path(path1_lp, type1_l, opts)) {
infile[0] = 1;
infile[1] = 1;
trav_table_addflags(infile, path1_lp, info1->paths[curr1].type, table);
/* if the two point to the same target object,
* mark that in table */
- if(info1->paths[curr1].fileno == info2->paths[curr2].fileno) {
+ if (info1->paths[curr1].fileno == info2->paths[curr2].fileno) {
int token_cmp;
- if(H5Otoken_cmp(info1->fid, &info1->paths[curr1].obj_token,
- &info2->paths[curr2].obj_token, &token_cmp) < 0) {
+ if (H5Otoken_cmp(info1->fid, &info1->paths[curr1].obj_token,
+ &info2->paths[curr2].obj_token, &token_cmp) < 0) {
H5TOOLS_INFO("Failed to compare object tokens");
opts->err_stat = H5DIFF_ERR;
H5TOOLS_GOTO_DONE_NO_RET();
}
- if(!token_cmp) {
- idx = table->nobjs - 1;
+ if (!token_cmp) {
+ idx = table->nobjs - 1;
table->objs[idx].is_same_trgobj = 1;
}
}
@@ -418,8 +412,8 @@ build_match_list (const char *objname1, trav_info_t *info1, const char *objname2
curr1++;
curr2++;
} /* end if */
- else if(cmp < 0) {
- if(!is_exclude_path(path1_lp, type1_l, opts)) {
+ else if (cmp < 0) {
+ if (!is_exclude_path(path1_lp, type1_l, opts)) {
infile[0] = 1;
infile[1] = 0;
trav_table_addflags(infile, path1_lp, info1->paths[curr1].type, table);
@@ -434,16 +428,16 @@ build_match_list (const char *objname1, trav_info_t *info1, const char *objname2
}
curr2++;
} /* end else */
- } /* end while */
+ } /* end while */
/* list1 did not end */
infile[0] = 1;
infile[1] = 0;
- while(curr1 < info1->nused) {
+ while (curr1 < info1->nused) {
path1_lp = (info1->paths[curr1].path) + path1_offset;
- type1_l = info1->paths[curr1].type;
+ type1_l = info1->paths[curr1].type;
- if(!is_exclude_path(path1_lp, type1_l, opts)) {
+ if (!is_exclude_path(path1_lp, type1_l, opts)) {
trav_table_addflags(infile, path1_lp, info1->paths[curr1].type, table);
}
curr1++;
@@ -452,9 +446,9 @@ build_match_list (const char *objname1, trav_info_t *info1, const char *objname2
/* list2 did not end */
infile[0] = 0;
infile[1] = 1;
- while(curr2 < info2->nused) {
+ while (curr2 < info2->nused) {
path2_lp = (info2->paths[curr2].path) + path2_offset;
- type2_l = info2->paths[curr2].type;
+ type2_l = info2->paths[curr2].type;
if (!is_exclude_path(path2_lp, type2_l, opts)) {
trav_table_addflags(infile, path2_lp, info2->paths[curr2].type, table);
@@ -462,7 +456,7 @@ build_match_list (const char *objname1, trav_info_t *info1, const char *objname2
curr2++;
} /* end while */
- free_exclude_path_list (opts);
+ free_exclude_path_list(opts);
done:
*table_out = table;
@@ -470,15 +464,13 @@ done:
H5TOOLS_ENDDEBUG("");
}
-
/*-------------------------------------------------------------------------
* Function: trav_grp_objs
*
* Purpose: Call back function from h5trav_visit().
*------------------------------------------------------------------------*/
static herr_t
-trav_grp_objs(const char *path, const H5O_info2_t *oinfo,
- const char *already_visited, void *udata)
+trav_grp_objs(const char *path, const H5O_info2_t *oinfo, const char *already_visited, void *udata)
{
trav_info_visit_obj(path, oinfo, already_visited, udata);
@@ -494,12 +486,12 @@ trav_grp_objs(const char *path, const H5O_info2_t *oinfo,
static herr_t
trav_grp_symlinks(const char *path, const H5L_info2_t *linfo, void *udata)
{
- trav_info_t *tinfo = (trav_info_t *)udata;
- diff_opt_t *opts = (diff_opt_t *)tinfo->opts;
+ trav_info_t * tinfo = (trav_info_t *)udata;
+ diff_opt_t * opts = (diff_opt_t *)tinfo->opts;
h5tool_link_info_t lnk_info;
- const char *ext_fname;
- const char *ext_path;
- herr_t ret_value = SUCCEED;
+ const char * ext_fname;
+ const char * ext_path;
+ herr_t ret_value = SUCCEED;
H5TOOLS_START_DEBUG("");
/* init linkinfo struct */
@@ -510,9 +502,9 @@ trav_grp_symlinks(const char *path, const H5L_info2_t *linfo, void *udata)
H5TOOLS_GOTO_DONE(SUCCEED);
}
- switch(linfo->type) {
+ switch (linfo->type) {
case H5L_TYPE_SOFT:
- if((ret_value = H5tools_get_symlink_info(tinfo->fid, path, &lnk_info, opts->follow_links)) < 0) {
+ if ((ret_value = H5tools_get_symlink_info(tinfo->fid, path, &lnk_info, opts->follow_links)) < 0) {
H5TOOLS_GOTO_DONE(FAIL);
}
else if (ret_value == 0) {
@@ -525,15 +517,15 @@ trav_grp_symlinks(const char *path, const H5L_info2_t *linfo, void *udata)
}
/* check if already visit the target object */
- if(symlink_is_visited( &(tinfo->symlink_visited), linfo->type, NULL, lnk_info.trg_path))
+ if (symlink_is_visited(&(tinfo->symlink_visited), linfo->type, NULL, lnk_info.trg_path))
H5TOOLS_GOTO_DONE(SUCCEED);
/* add this link as visited link */
- if(symlink_visit_add( &(tinfo->symlink_visited), linfo->type, NULL, lnk_info.trg_path) < 0)
+ if (symlink_visit_add(&(tinfo->symlink_visited), linfo->type, NULL, lnk_info.trg_path) < 0)
H5TOOLS_GOTO_DONE(SUCCEED);
- if(h5trav_visit(tinfo->fid, path, TRUE, TRUE,
- trav_grp_objs,trav_grp_symlinks, tinfo, H5O_INFO_BASIC) < 0) {
+ if (h5trav_visit(tinfo->fid, path, TRUE, TRUE, trav_grp_objs, trav_grp_symlinks, tinfo,
+ H5O_INFO_BASIC) < 0) {
parallel_print("Error: Could not get file contents\n");
opts->err_stat = H5DIFF_ERR;
H5TOOLS_GOTO_ERROR(FAIL, "Error: Could not get file contents");
@@ -545,7 +537,7 @@ trav_grp_symlinks(const char *path, const H5L_info2_t *linfo, void *udata)
H5TOOLS_GOTO_DONE(FAIL);
}
else if (ret_value == 0) {
- /* no dangling link option given and detect dangling link */
+ /* no dangling link option given and detect dangling link */
tinfo->symlink_visited.dangle_link = TRUE;
trav_info_visit_lnk(path, linfo, tinfo);
if (opts->no_dangle_links)
@@ -553,19 +545,19 @@ trav_grp_symlinks(const char *path, const H5L_info2_t *linfo, void *udata)
H5TOOLS_GOTO_DONE(SUCCEED);
}
- if(H5Lunpack_elink_val(lnk_info.trg_path, linfo->u.val_size, NULL, &ext_fname, &ext_path) < 0)
+ if (H5Lunpack_elink_val(lnk_info.trg_path, linfo->u.val_size, NULL, &ext_fname, &ext_path) < 0)
H5TOOLS_GOTO_DONE(SUCCEED);
/* check if already visit the target object */
- if(symlink_is_visited( &(tinfo->symlink_visited), linfo->type, ext_fname, ext_path))
+ if (symlink_is_visited(&(tinfo->symlink_visited), linfo->type, ext_fname, ext_path))
H5TOOLS_GOTO_DONE(SUCCEED);
/* add this link as visited link */
- if(symlink_visit_add( &(tinfo->symlink_visited), linfo->type, ext_fname, ext_path) < 0)
+ if (symlink_visit_add(&(tinfo->symlink_visited), linfo->type, ext_fname, ext_path) < 0)
H5TOOLS_GOTO_DONE(SUCCEED);
- if(h5trav_visit(tinfo->fid, path, TRUE, TRUE,
- trav_grp_objs,trav_grp_symlinks, tinfo, H5O_INFO_BASIC) < 0) {
+ if (h5trav_visit(tinfo->fid, path, TRUE, TRUE, trav_grp_objs, trav_grp_symlinks, tinfo,
+ H5O_INFO_BASIC) < 0) {
parallel_print("Error: Could not get file contents\n");
opts->err_stat = H5DIFF_ERR;
H5TOOLS_GOTO_ERROR(FAIL, "Error: Could not get file contents\n");
@@ -589,7 +581,6 @@ done:
return ret_value;
}
-
/*-------------------------------------------------------------------------
* Function: h5diff
*
@@ -602,39 +593,39 @@ done:
hsize_t
h5diff(const char *fname1, const char *fname2, const char *objname1, const char *objname2, diff_opt_t *opts)
{
- hid_t file1_id = H5I_INVALID_HID;
- hid_t file2_id = H5I_INVALID_HID;
- hid_t fapl1_id = H5P_DEFAULT;
- hid_t fapl2_id = H5P_DEFAULT;
- char filenames[2][MAX_FILENAME];
- hsize_t nfound = 0;
- int l_ret1 = -1;
- int l_ret2 = -1;
- char *obj1fullname = NULL;
- char *obj2fullname = NULL;
- int both_objs_grp = 0;
+ hid_t file1_id = H5I_INVALID_HID;
+ hid_t file2_id = H5I_INVALID_HID;
+ hid_t fapl1_id = H5P_DEFAULT;
+ hid_t fapl2_id = H5P_DEFAULT;
+ char filenames[2][MAX_FILENAME];
+ hsize_t nfound = 0;
+ int l_ret1 = -1;
+ int l_ret2 = -1;
+ char * obj1fullname = NULL;
+ char * obj2fullname = NULL;
+ int both_objs_grp = 0;
/* init to group type */
h5trav_type_t obj1type = H5TRAV_TYPE_GROUP;
h5trav_type_t obj2type = H5TRAV_TYPE_GROUP;
/* for single object */
- H5O_info2_t oinfo1, oinfo2; /* object info */
- trav_info_t *info1_obj = NULL;
- trav_info_t *info2_obj = NULL;
+ H5O_info2_t oinfo1, oinfo2; /* object info */
+ trav_info_t *info1_obj = NULL;
+ trav_info_t *info2_obj = NULL;
/* for group object */
- trav_info_t *info1_grp = NULL;
- trav_info_t *info2_grp = NULL;
+ trav_info_t *info1_grp = NULL;
+ trav_info_t *info2_grp = NULL;
/* local pointer */
- trav_info_t *info1_lp = NULL;
- trav_info_t *info2_lp = NULL;
+ trav_info_t *info1_lp = NULL;
+ trav_info_t *info2_lp = NULL;
/* link info from specified object */
- H5L_info2_t src_linfo1;
- H5L_info2_t src_linfo2;
+ H5L_info2_t src_linfo1;
+ H5L_info2_t src_linfo2;
/* link info from member object */
h5tool_link_info_t trg_linfo1;
h5tool_link_info_t trg_linfo2;
/* list for common objects */
trav_table_t *match_list = NULL;
- diff_err_t ret_value = H5DIFF_NO_ERR;
+ diff_err_t ret_value = H5DIFF_NO_ERR;
H5TOOLS_START_DEBUG("");
/* init filenames */
@@ -643,28 +634,28 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
HDmemset(&trg_linfo1, 0, sizeof(h5tool_link_info_t));
HDmemset(&trg_linfo2, 0, sizeof(h5tool_link_info_t));
- /*-------------------------------------------------------------------------
- * check invalid combination of options
- *-----------------------------------------------------------------------*/
- if(!is_valid_options(opts))
+ /*-------------------------------------------------------------------------
+ * check invalid combination of options
+ *-----------------------------------------------------------------------*/
+ if (!is_valid_options(opts))
H5TOOLS_GOTO_DONE(0);
- opts->cmn_objs = 1; /* eliminate warning */
+ opts->cmn_objs = 1; /* eliminate warning */
opts->err_stat = H5DIFF_NO_ERR; /* initialize error status */
/*-------------------------------------------------------------------------
- * open the files first; if they are not valid, no point in continuing
- *-------------------------------------------------------------------------
- */
+ * open the files first; if they are not valid, no point in continuing
+ *-------------------------------------------------------------------------
+ */
/* open file 1 */
if (opts->custom_vol[0]) {
- if((fapl1_id = h5tools_get_fapl(H5P_DEFAULT, &(opts->vol_info[0]), NULL)) < 0 ) {
+ if ((fapl1_id = h5tools_get_fapl(H5P_DEFAULT, &(opts->vol_info[0]), NULL)) < 0) {
parallel_print("h5diff: unable to create fapl for input file\n");
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "unable to create input fapl\n");
}
}
- if((file1_id = h5tools_fopen(fname1, H5F_ACC_RDONLY, fapl1_id, FALSE, NULL, (size_t)0)) < 0) {
+ if ((file1_id = h5tools_fopen(fname1, H5F_ACC_RDONLY, fapl1_id, FALSE, NULL, (size_t)0)) < 0) {
parallel_print("h5diff: <%s>: unable to open file\n", fname1);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "<%s>: unable to open file\n", fname1);
}
@@ -673,22 +664,22 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
/* open file 2 */
if (opts->custom_vol[1]) {
- if((fapl2_id = h5tools_get_fapl(H5P_DEFAULT, &(opts->vol_info[1]), NULL)) < 0 ) {
+ if ((fapl2_id = h5tools_get_fapl(H5P_DEFAULT, &(opts->vol_info[1]), NULL)) < 0) {
parallel_print("h5diff: unable to create fapl for output file\n");
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "unable to create output fapl\n");
}
}
- if((file2_id = h5tools_fopen(fname2, H5F_ACC_RDONLY, fapl2_id, FALSE, NULL, (size_t)0)) < 0) {
+ if ((file2_id = h5tools_fopen(fname2, H5F_ACC_RDONLY, fapl2_id, FALSE, NULL, (size_t)0)) < 0) {
parallel_print("h5diff: <%s>: unable to open file\n", fname2);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "<%s>: unable to open file\n", fname2);
}
H5TOOLS_DEBUG("file2_id = %s", fname2);
/*-------------------------------------------------------------------------
- * Initialize the info structs
- *-------------------------------------------------------------------------
- */
+ * Initialize the info structs
+ *-------------------------------------------------------------------------
+ */
trav_info_init(fname1, file1_id, &info1_obj);
trav_info_init(fname2, file2_id, &info2_obj);
@@ -699,11 +690,11 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
if (HDstrncmp(objname1, "/", 1)) {
#ifdef H5_HAVE_ASPRINTF
/* Use the asprintf() routine, since it does what we're trying to do below */
- if(HDasprintf(&obj1fullname, "/%s", objname1) < 0)
+ if (HDasprintf(&obj1fullname, "/%s", objname1) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "name buffer allocation failed");
-#else /* H5_HAVE_ASPRINTF */
+#else /* H5_HAVE_ASPRINTF */
/* (malloc 2 more for "/" and end-of-line) */
- if ((obj1fullname = (char*)HDmalloc(HDstrlen(objname1) + 2)) == NULL)
+ if ((obj1fullname = (char *)HDmalloc(HDstrlen(objname1) + 2)) == NULL)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "name buffer allocation failed");
HDstrcpy(obj1fullname, "/");
@@ -718,11 +709,11 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
if (HDstrncmp(objname2, "/", 1)) {
#ifdef H5_HAVE_ASPRINTF
/* Use the asprintf() routine, since it does what we're trying to do below */
- if(HDasprintf(&obj2fullname, "/%s", objname2) < 0)
+ if (HDasprintf(&obj2fullname, "/%s", objname2) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "name buffer allocation failed");
-#else /* H5_HAVE_ASPRINTF */
+#else /* H5_HAVE_ASPRINTF */
/* (malloc 2 more for "/" and end-of-line) */
- if ((obj2fullname = (char*)HDmalloc(HDstrlen(objname2) + 2)) == NULL)
+ if ((obj2fullname = (char *)HDmalloc(HDstrlen(objname2) + 2)) == NULL)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "name buffer allocation failed");
HDstrcpy(obj2fullname, "/");
HDstrcat(obj2fullname, objname2);
@@ -736,17 +727,17 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
* check if obj1 is root, group, single object or symlink
*/
H5TOOLS_DEBUG("h5diff check if obj1=%s is root, group, single object or symlink", obj1fullname);
- if(!HDstrcmp(obj1fullname, "/")) {
+ if (!HDstrcmp(obj1fullname, "/")) {
obj1type = H5TRAV_TYPE_GROUP;
}
else {
/* check if link itself exist */
- if(H5Lexists(file1_id, obj1fullname, H5P_DEFAULT) <= 0) {
- parallel_print ("Object <%s> could not be found in <%s>\n", obj1fullname, fname1);
+ if (H5Lexists(file1_id, obj1fullname, H5P_DEFAULT) <= 0) {
+ parallel_print("Object <%s> could not be found in <%s>\n", obj1fullname, fname1);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Error: Object could not be found");
}
/* get info from link */
- if(H5Lget_info2(file1_id, obj1fullname, &src_linfo1, H5P_DEFAULT) < 0) {
+ if (H5Lget_info2(file1_id, obj1fullname, &src_linfo1, H5P_DEFAULT) < 0) {
parallel_print("Unable to get link info from <%s>\n", obj1fullname);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Lget_info failed");
}
@@ -756,13 +747,13 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
/*
* check the type of specified path for hard and symbolic links
*/
- if(src_linfo1.type == H5L_TYPE_HARD) {
+ if (src_linfo1.type == H5L_TYPE_HARD) {
size_t idx;
/* optional data pass */
- info1_obj->opts = (diff_opt_t*)opts;
+ info1_obj->opts = (diff_opt_t *)opts;
- if(H5Oget_info_by_name3(file1_id, obj1fullname, &oinfo1, H5O_INFO_BASIC, H5P_DEFAULT) < 0) {
+ if (H5Oget_info_by_name3(file1_id, obj1fullname, &oinfo1, H5O_INFO_BASIC, H5P_DEFAULT) < 0) {
parallel_print("Error: Could not get file contents\n");
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Error: Could not get file contents");
}
@@ -786,17 +777,17 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
* check if obj2 is root, group, single object or symlink
*/
H5TOOLS_DEBUG("h5diff check if obj2=%s is root, group, single object or symlink", obj2fullname);
- if(!HDstrcmp(obj2fullname, "/")) {
+ if (!HDstrcmp(obj2fullname, "/")) {
obj2type = H5TRAV_TYPE_GROUP;
}
else {
/* check if link itself exist */
- if(H5Lexists(file2_id, obj2fullname, H5P_DEFAULT) <= 0) {
- parallel_print ("Object <%s> could not be found in <%s>\n", obj2fullname, fname2);
+ if (H5Lexists(file2_id, obj2fullname, H5P_DEFAULT) <= 0) {
+ parallel_print("Object <%s> could not be found in <%s>\n", obj2fullname, fname2);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Error: Object could not be found");
}
/* get info from link */
- if(H5Lget_info2(file2_id, obj2fullname, &src_linfo2, H5P_DEFAULT) < 0) {
+ if (H5Lget_info2(file2_id, obj2fullname, &src_linfo2, H5P_DEFAULT) < 0) {
parallel_print("Unable to get link info from <%s>\n", obj2fullname);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Lget_info failed");
}
@@ -806,13 +797,13 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
/*
* check the type of specified path for hard and symbolic links
*/
- if(src_linfo2.type == H5L_TYPE_HARD) {
+ if (src_linfo2.type == H5L_TYPE_HARD) {
size_t idx;
/* optional data pass */
- info2_obj->opts = (diff_opt_t*)opts;
+ info2_obj->opts = (diff_opt_t *)opts;
- if(H5Oget_info_by_name3(file2_id, obj2fullname, &oinfo2, H5O_INFO_BASIC, H5P_DEFAULT) < 0) {
+ if (H5Oget_info_by_name3(file2_id, obj2fullname, &oinfo2, H5O_INFO_BASIC, H5P_DEFAULT) < 0) {
parallel_print("Error: Could not get file contents\n");
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Error: Could not get file contents");
}
@@ -836,10 +827,10 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
else {
H5TOOLS_DEBUG("h5diff no object specified");
/* set root group */
- obj1fullname = (char*)HDstrdup("/");
- obj1type = H5TRAV_TYPE_GROUP;
- obj2fullname = (char*)HDstrdup("/");
- obj2type = H5TRAV_TYPE_GROUP;
+ obj1fullname = (char *)HDstrdup("/");
+ obj1type = H5TRAV_TYPE_GROUP;
+ obj2fullname = (char *)HDstrdup("/");
+ obj2type = H5TRAV_TYPE_GROUP;
}
H5TOOLS_DEBUG("get any symbolic links info - errstat:%d", opts->err_stat);
@@ -852,7 +843,7 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
*/
if (opts->follow_links) {
/* pass how to handle printing warning to linkinfo option */
- if(print_warn(opts))
+ if (print_warn(opts))
trg_linfo1.opt.msg_mode = trg_linfo2.opt.msg_mode = 1;
/*-------------------------------
@@ -864,25 +855,25 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
H5TOOLS_DEBUG("h5diff ... dangling link");
if (opts->no_dangle_links) {
/* treat dangling link as error */
- if(opts->mode_verbose)
+ if (opts->mode_verbose)
parallel_print("Warning: <%s> is a dangling link.\n", obj1fullname);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "treat dangling link as error");
}
else {
- if(opts->mode_verbose)
+ if (opts->mode_verbose)
parallel_print("obj1 <%s> is a dangling link.\n", obj1fullname);
- if (l_ret1 != 0 || l_ret2 != 0) {
+ if (l_ret1 != 0 || l_ret2 != 0) {
nfound++;
print_found(nfound);
H5TOOLS_GOTO_DONE(H5DIFF_NO_ERR);
}
}
}
- else if(l_ret1 < 0) { /* fail */
- parallel_print ("Object <%s> could not be found in <%s>\n", obj1fullname, fname1);
+ else if (l_ret1 < 0) { /* fail */
+ parallel_print("Object <%s> could not be found in <%s>\n", obj1fullname, fname1);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Object could not be found");
}
- else if(l_ret1 != 2) { /* symbolic link */
+ else if (l_ret1 != 2) { /* symbolic link */
obj1type = (h5trav_type_t)trg_linfo1.trg_type;
H5TOOLS_DEBUG("h5diff ... ... trg_linfo1.trg_type == H5L_TYPE_HARD");
if (info1_lp != NULL) {
@@ -890,7 +881,7 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
H5TOOLS_DEBUG("h5diff ... ... ... info1_obj not null");
HDmemcpy(&info1_lp->paths[idx].obj_token, &trg_linfo1.obj_token, sizeof(H5O_token_t));
- info1_lp->paths[idx].type = (h5trav_type_t)trg_linfo1.trg_type;
+ info1_lp->paths[idx].type = (h5trav_type_t)trg_linfo1.trg_type;
info1_lp->paths[idx].fileno = trg_linfo1.fileno;
}
H5TOOLS_DEBUG("h5diff check symbolic link (object1) finished");
@@ -905,12 +896,12 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
H5TOOLS_DEBUG("h5diff ... dangling link");
if (opts->no_dangle_links) {
/* treat dangling link as error */
- if(opts->mode_verbose)
+ if (opts->mode_verbose)
parallel_print("Warning: <%s> is a dangling link.\n", obj2fullname);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "treat dangling link as error");
}
else {
- if(opts->mode_verbose)
+ if (opts->mode_verbose)
parallel_print("obj2 <%s> is a dangling link.\n", obj2fullname);
if (l_ret1 != 0 || l_ret2 != 0) {
nfound++;
@@ -919,32 +910,32 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
}
}
}
- else if(l_ret2 < 0) { /* fail */
- parallel_print ("Object <%s> could not be found in <%s>\n", obj2fullname, fname2);
+ else if (l_ret2 < 0) { /* fail */
+ parallel_print("Object <%s> could not be found in <%s>\n", obj2fullname, fname2);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Object could not be found");
}
- else if(l_ret2 != 2) { /* symbolic link */
+ else if (l_ret2 != 2) { /* symbolic link */
obj2type = (h5trav_type_t)trg_linfo2.trg_type;
if (info2_lp != NULL) {
size_t idx = info2_lp->nused - 1;
H5TOOLS_DEBUG("h5diff ... ... ... info2_obj not null");
HDmemcpy(&info2_lp->paths[idx].obj_token, &trg_linfo2.obj_token, sizeof(H5O_token_t));
- info2_lp->paths[idx].type = (h5trav_type_t)trg_linfo2.trg_type;
+ info2_lp->paths[idx].type = (h5trav_type_t)trg_linfo2.trg_type;
info2_lp->paths[idx].fileno = trg_linfo2.fileno;
}
H5TOOLS_DEBUG("h5diff check symbolic link (object1) finished");
}
} /* end of if follow symlinks */
- /*
- * If verbose options is not used, don't need to traverse through the list
- * of objects in the group to display objects information,
- * So use h5tools_is_obj_same() to improve performance by skipping
- * comparing details of same objects.
- */
+ /*
+ * If verbose options is not used, don't need to traverse through the list
+ * of objects in the group to display objects information,
+ * So use h5tools_is_obj_same() to improve performance by skipping
+ * comparing details of same objects.
+ */
- if(!(opts->mode_verbose || opts->mode_report)) {
+ if (!(opts->mode_verbose || opts->mode_report)) {
H5TOOLS_DEBUG("h5diff NOT (opts->mode_verbose || opts->mode_report)");
/* if no danglink links */
if (l_ret1 > 0 && l_ret2 > 0)
@@ -960,10 +951,10 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
*/
trav_info_init(fname1, file1_id, &info1_grp);
/* optional data pass */
- info1_grp->opts = (diff_opt_t*)opts;
+ info1_grp->opts = (diff_opt_t *)opts;
- if(h5trav_visit(file1_id, obj1fullname, TRUE, TRUE,
- trav_grp_objs, trav_grp_symlinks, info1_grp, H5O_INFO_BASIC) < 0) {
+ if (h5trav_visit(file1_id, obj1fullname, TRUE, TRUE, trav_grp_objs, trav_grp_symlinks, info1_grp,
+ H5O_INFO_BASIC) < 0) {
parallel_print("Error: Could not get file contents\n");
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Could not get file contents");
}
@@ -974,23 +965,24 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
*/
trav_info_init(fname2, file2_id, &info2_grp);
/* optional data pass */
- info2_grp->opts = (diff_opt_t*)opts;
+ info2_grp->opts = (diff_opt_t *)opts;
- if(h5trav_visit(file2_id, obj2fullname, TRUE, TRUE,
- trav_grp_objs, trav_grp_symlinks, info2_grp, H5O_INFO_BASIC) < 0) {
+ if (h5trav_visit(file2_id, obj2fullname, TRUE, TRUE, trav_grp_objs, trav_grp_symlinks, info2_grp,
+ H5O_INFO_BASIC) < 0) {
parallel_print("Error: Could not get file contents\n");
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Could not get file contents");
- } /* end if */
+ } /* end if */
info2_lp = info2_grp;
}
H5TOOLS_DEBUG("groups traversed - errstat:%d", opts->err_stat);
#ifdef H5_HAVE_PARALLEL
- if(g_Parallel) {
+ if (g_Parallel) {
int i;
- if((HDstrlen(fname1) > MAX_FILENAME) || (HDstrlen(fname2) > MAX_FILENAME)) {
- HDfprintf(stderr, "The parallel diff only supports path names up to %d characters\n", MAX_FILENAME);
+ if ((HDstrlen(fname1) > MAX_FILENAME) || (HDstrlen(fname2) > MAX_FILENAME)) {
+ HDfprintf(stderr, "The parallel diff only supports path names up to %d characters\n",
+ MAX_FILENAME);
MPI_Abort(MPI_COMM_WORLD, 0);
} /* end if */
@@ -998,54 +990,52 @@ h5diff(const char *fname1, const char *fname2, const char *objname1, const char
HDstrcpy(filenames[1], fname2);
/* Alert the worker tasks that there's going to be work. */
- for(i = 1; i < g_nTasks; i++)
+ for (i = 1; i < g_nTasks; i++)
MPI_Send(filenames, (MAX_FILENAME * 2), MPI_CHAR, i, MPI_TAG_PARALLEL, MPI_COMM_WORLD);
} /* end if */
#endif
H5TOOLS_DEBUG("build_match_list next - errstat:%d", opts->err_stat);
/* process the objects */
- build_match_list (obj1fullname, info1_lp, obj2fullname, info2_lp, &match_list, opts);
+ build_match_list(obj1fullname, info1_lp, obj2fullname, info2_lp, &match_list, opts);
H5TOOLS_DEBUG("build_match_list finished - errstat:%d", opts->err_stat);
if (both_objs_grp) {
/*------------------------------------------------------
* print the list
*/
- if(opts->mode_verbose) {
- unsigned u;
+ if (opts->mode_verbose) {
+ unsigned u;
- if(opts->mode_verbose_level > 2) {
+ if (opts->mode_verbose_level > 2) {
parallel_print("file1: %s\n", fname1);
parallel_print("file2: %s\n", fname2);
- }
-
- parallel_print("\n");
- /* if given objects is group under root */
- if (HDstrcmp (obj1fullname,"/") || HDstrcmp (obj2fullname,"/"))
- parallel_print("group1 group2\n");
- else
- parallel_print("file1 file2\n");
- parallel_print("---------------------------------------\n");
- for(u = 0; u < match_list->nobjs; u++) {
- int c1, c2;
- c1 = (match_list->objs[u].flags[0]) ? 'x' : ' ';
- c2 = (match_list->objs[u].flags[1]) ? 'x' : ' ';
- parallel_print("%5c %6c %-15s\n", c1, c2, match_list->objs[u].name);
- } /* end for */
- parallel_print ("\n");
- } /* end if */
+ }
+
+ parallel_print("\n");
+ /* if given objects is group under root */
+ if (HDstrcmp(obj1fullname, "/") || HDstrcmp(obj2fullname, "/"))
+ parallel_print("group1 group2\n");
+ else
+ parallel_print("file1 file2\n");
+ parallel_print("---------------------------------------\n");
+ for (u = 0; u < match_list->nobjs; u++) {
+ int c1, c2;
+ c1 = (match_list->objs[u].flags[0]) ? 'x' : ' ';
+ c2 = (match_list->objs[u].flags[1]) ? 'x' : ' ';
+ parallel_print("%5c %6c %-15s\n", c1, c2, match_list->objs[u].name);
+ } /* end for */
+ parallel_print("\n");
+ } /* end if */
}
H5TOOLS_DEBUG("diff_match next - errstat:%d", opts->err_stat);
- nfound = diff_match(file1_id, obj1fullname, info1_lp,
- file2_id, obj2fullname, info2_lp,
- match_list, opts);
+ nfound = diff_match(file1_id, obj1fullname, info1_lp, file2_id, obj2fullname, info2_lp, match_list, opts);
H5TOOLS_DEBUG("diff_match nfound: %d - errstat:%d", nfound, opts->err_stat);
done:
opts->err_stat = opts->err_stat | ret_value;
#ifdef H5_HAVE_PARALLEL
- if(g_Parallel)
+ if (g_Parallel)
/* All done at this point, let tasks know that they won't be needed */
phdiff_dismiss_workers();
#endif
@@ -1081,15 +1071,14 @@ done:
H5Pclose(fapl1_id);
if (fapl2_id != H5P_DEFAULT)
H5Pclose(fapl2_id);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
H5TOOLS_ENDDEBUG(" - errstat:%d", opts->err_stat);
return nfound;
}
-
-
/*-------------------------------------------------------------------------
* Function: diff_match
*
@@ -1107,29 +1096,28 @@ done:
*-------------------------------------------------------------------------
*/
hsize_t
-diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1,
- hid_t file2_id, const char *grp2, trav_info_t *info2,
- trav_table_t *table, diff_opt_t *opts)
+diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1, hid_t file2_id, const char *grp2,
+ trav_info_t *info2, trav_table_t *table, diff_opt_t *opts)
{
- hsize_t nfound = 0;
- unsigned i;
- const char *grp1_path = "";
- const char *grp2_path = "";
- char *obj1_fullpath = NULL;
- char *obj2_fullpath = NULL;
- diff_args_t argdata;
- size_t idx1 = 0;
- size_t idx2 = 0;
- diff_err_t ret_value = opts->err_stat;
+ hsize_t nfound = 0;
+ unsigned i;
+ const char *grp1_path = "";
+ const char *grp2_path = "";
+ char * obj1_fullpath = NULL;
+ char * obj2_fullpath = NULL;
+ diff_args_t argdata;
+ size_t idx1 = 0;
+ size_t idx2 = 0;
+ diff_err_t ret_value = opts->err_stat;
H5TOOLS_START_DEBUG(" - errstat:%d", opts->err_stat);
/*
* if not root, prepare object name to be pre-appended to group path to
* make full path
*/
- if(HDstrcmp(grp1, "/"))
+ if (HDstrcmp(grp1, "/"))
grp1_path = grp1;
- if(HDstrcmp(grp2, "/"))
+ if (HDstrcmp(grp2, "/"))
grp2_path = grp2;
/*-------------------------------------------------------------------------
@@ -1151,8 +1139,8 @@ diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1,
}
/* objects in one file and not the other */
- for(i = 0; i < table->nobjs; i++) {
- if(table->objs[i].flags[0] != table->objs[i].flags[1]) {
+ for (i = 0; i < table->nobjs; i++) {
+ if (table->objs[i].flags[0] != table->objs[i].flags[1]) {
opts->contents = 0;
break;
}
@@ -1165,29 +1153,30 @@ diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1,
*/
#ifdef H5_HAVE_PARALLEL
{
- char *workerTasks = (char*)HDmalloc((size_t)(g_nTasks - 1) * sizeof(char));
- int n;
- int busyTasks = 0;
- struct diffs_found nFoundbyWorker;
+ char * workerTasks = (char *)HDmalloc((size_t)(g_nTasks - 1) * sizeof(char));
+ int n;
+ int busyTasks = 0;
+ struct diffs_found nFoundbyWorker;
struct diff_mpi_args args;
- int havePrintToken = 1;
- MPI_Status Status;
+ int havePrintToken = 1;
+ MPI_Status Status;
/*set all tasks as free */
HDmemset(workerTasks, 1, (size_t)(g_nTasks - 1) * sizeof(char));
#endif
- for(i = 0; i < table->nobjs; i++) {
- H5TOOLS_DEBUG("diff for common objects[%d] - errstat:%d", i, opts->err_stat);
- if(table->objs[i].flags[0] && table->objs[i].flags[1]) {
- /* make full path for obj1 */
+ for (i = 0; i < table->nobjs; i++) {
+ H5TOOLS_DEBUG("diff for common objects[%d] - errstat:%d", i, opts->err_stat);
+ if (table->objs[i].flags[0] && table->objs[i].flags[1]) {
+ /* make full path for obj1 */
#ifdef H5_HAVE_ASPRINTF
- /* Use the asprintf() routine, since it does what we're trying to do below */
- if(HDasprintf(&obj1_fullpath, "%s%s", grp1_path, table->objs[i].name) < 0) {
- H5TOOLS_ERROR(H5DIFF_ERR, "name buffer allocation failed");
- }
-#else /* H5_HAVE_ASPRINTF */
- if((obj1_fullpath = (char*)HDmalloc(HDstrlen(grp1_path) + HDstrlen(table->objs[i].name) + 1)) == NULL) {
+ /* Use the asprintf() routine, since it does what we're trying to do below */
+ if (HDasprintf(&obj1_fullpath, "%s%s", grp1_path, table->objs[i].name) < 0) {
+ H5TOOLS_ERROR(H5DIFF_ERR, "name buffer allocation failed");
+ }
+#else /* H5_HAVE_ASPRINTF */
+ if ((obj1_fullpath = (char *)HDmalloc(HDstrlen(grp1_path) + HDstrlen(table->objs[i].name) + 1)) ==
+ NULL) {
H5TOOLS_ERROR(H5DIFF_ERR, "name buffer allocation failed");
}
else {
@@ -1195,16 +1184,17 @@ diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1,
HDstrcat(obj1_fullpath, table->objs[i].name);
}
#endif /* H5_HAVE_ASPRINTF */
- H5TOOLS_DEBUG("diff_match path1 - %s", obj1_fullpath);
+ H5TOOLS_DEBUG("diff_match path1 - %s", obj1_fullpath);
- /* make full path for obj2 */
+ /* make full path for obj2 */
#ifdef H5_HAVE_ASPRINTF
- /* Use the asprintf() routine, since it does what we're trying to do below */
- if(HDasprintf(&obj2_fullpath, "%s%s", grp2_path, table->objs[i].name) < 0) {
- H5TOOLS_ERROR(H5DIFF_ERR, "name buffer allocation failed");
- }
-#else /* H5_HAVE_ASPRINTF */
- if((obj2_fullpath = (char*)HDmalloc(HDstrlen(grp2_path) + HDstrlen(table->objs[i].name) + 1)) == NULL) {
+ /* Use the asprintf() routine, since it does what we're trying to do below */
+ if (HDasprintf(&obj2_fullpath, "%s%s", grp2_path, table->objs[i].name) < 0) {
+ H5TOOLS_ERROR(H5DIFF_ERR, "name buffer allocation failed");
+ }
+#else /* H5_HAVE_ASPRINTF */
+ if ((obj2_fullpath = (char *)HDmalloc(HDstrlen(grp2_path) + HDstrlen(table->objs[i].name) + 1)) ==
+ NULL) {
H5TOOLS_ERROR(H5DIFF_ERR, "name buffer allocation failed");
}
else {
@@ -1212,269 +1202,293 @@ diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1,
HDstrcat(obj2_fullpath, table->objs[i].name);
}
#endif /* H5_HAVE_ASPRINTF */
- H5TOOLS_DEBUG("diff_match path2 - %s", obj2_fullpath);
-
- /* get index to figure out type of the object in file1 */
- while(info1->paths[idx1].path && (HDstrcmp(obj1_fullpath, info1->paths[idx1].path) != 0))
- idx1++;
- /* get index to figure out type of the object in file2 */
- while(info2->paths[idx2].path && (HDstrcmp(obj2_fullpath, info2->paths[idx2].path) != 0))
- idx2++;
-
- /* Set argdata to pass other args into diff() */
- argdata.type[0] = info1->paths[idx1].type;
- argdata.type[1] = info2->paths[idx2].type;
- argdata.is_same_trgobj = table->objs[i].is_same_trgobj;
-
- opts->cmn_objs = 1;
- if(!g_Parallel) {
- H5TOOLS_DEBUG("diff paths - errstat:%d", opts->err_stat);
- nfound += diff(file1_id, obj1_fullpath, file2_id, obj2_fullpath, opts, &argdata);
- } /* end if */
-#ifdef H5_HAVE_PARALLEL
- else {
- int workerFound = 0;
-
- H5TOOLS_DEBUG("Beginning of big else block");
- /* We're in parallel mode */
- /* Since the data type of diff value is hsize_t which can
- * be arbitary large such that there is no MPI type that
- * matches it, the value is passed between processes as
- * an array of bytes in order to be portable. But this
- * may not work in non-homogeneous MPI environments.
- */
-
- /*Set up args to pass to worker task. */
- if(HDstrlen(obj1_fullpath) > 255 ||
- HDstrlen(obj2_fullpath) > 255) {
- HDprintf("The parallel diff only supports object names up to 255 characters\n");
- MPI_Abort(MPI_COMM_WORLD, 0);
+ H5TOOLS_DEBUG("diff_match path2 - %s", obj2_fullpath);
+
+ /* get index to figure out type of the object in file1 */
+ while (info1->paths[idx1].path && (HDstrcmp(obj1_fullpath, info1->paths[idx1].path) != 0))
+ idx1++;
+ /* get index to figure out type of the object in file2 */
+ while (info2->paths[idx2].path && (HDstrcmp(obj2_fullpath, info2->paths[idx2].path) != 0))
+ idx2++;
+
+ /* Set argdata to pass other args into diff() */
+ argdata.type[0] = info1->paths[idx1].type;
+ argdata.type[1] = info2->paths[idx2].type;
+ argdata.is_same_trgobj = table->objs[i].is_same_trgobj;
+
+ opts->cmn_objs = 1;
+ if (!g_Parallel) {
+ H5TOOLS_DEBUG("diff paths - errstat:%d", opts->err_stat);
+ nfound += diff(file1_id, obj1_fullpath, file2_id, obj2_fullpath, opts, &argdata);
} /* end if */
+#ifdef H5_HAVE_PARALLEL
+ else {
+ int workerFound = 0;
+
+ H5TOOLS_DEBUG("Beginning of big else block");
+ /* We're in parallel mode */
+ /* Since the data type of diff value is hsize_t which can
+ * be arbitary large such that there is no MPI type that
+ * matches it, the value is passed between processes as
+ * an array of bytes in order to be portable. But this
+ * may not work in non-homogeneous MPI environments.
+ */
- /* set args struct to pass */
- HDstrcpy(args.name1, obj1_fullpath);
- HDstrcpy(args.name2, obj2_fullpath);
- args.opts = *opts;
- args.argdata.type[0] = info1->paths[idx1].type;
- args.argdata.type[1] = info2->paths[idx2].type;
- args.argdata.is_same_trgobj = table->objs[i].is_same_trgobj;
-
- /* if there are any outstanding print requests, let's handle one. */
- if(busyTasks > 0) {
- int incomingMessage;
-
- /* check if any tasks freed up, and didn't need to print. */
- MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_DONE, MPI_COMM_WORLD, &incomingMessage, &Status);
-
- /* first block*/
- if(incomingMessage) {
- workerTasks[Status.MPI_SOURCE - 1] = 1;
- MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_DONE, MPI_COMM_WORLD, &Status);
- nfound += nFoundbyWorker.nfound;
- opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
- busyTasks--;
+ /*Set up args to pass to worker task. */
+ if (HDstrlen(obj1_fullpath) > 255 || HDstrlen(obj2_fullpath) > 255) {
+ HDprintf("The parallel diff only supports object names up to 255 characters\n");
+ MPI_Abort(MPI_COMM_WORLD, 0);
} /* end if */
- /* check to see if the print token was returned. */
- if(!havePrintToken) {
- /* If we don't have the token, someone is probably sending us output */
- print_incoming_data();
+ /* set args struct to pass */
+ HDstrcpy(args.name1, obj1_fullpath);
+ HDstrcpy(args.name2, obj2_fullpath);
+ args.opts = *opts;
+ args.argdata.type[0] = info1->paths[idx1].type;
+ args.argdata.type[1] = info2->paths[idx2].type;
+ args.argdata.is_same_trgobj = table->objs[i].is_same_trgobj;
+
+ /* if there are any outstanding print requests, let's handle one. */
+ if (busyTasks > 0) {
+ int incomingMessage;
- /* check incoming queue for token */
- MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &incomingMessage, &Status);
+ /* check if any tasks freed up, and didn't need to print. */
+ MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_DONE, MPI_COMM_WORLD, &incomingMessage, &Status);
- /* incoming token implies free task. */
- if(incomingMessage) {
+ /* first block*/
+ if (incomingMessage) {
workerTasks[Status.MPI_SOURCE - 1] = 1;
- MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
+ MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE,
+ MPI_TAG_DONE, MPI_COMM_WORLD, &Status);
nfound += nFoundbyWorker.nfound;
opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
busyTasks--;
- havePrintToken = 1;
} /* end if */
- } /* end if */
-
- /* check to see if anyone needs the print token. */
- if(havePrintToken) {
- /* check incoming queue for print token requests */
- MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_REQUEST, MPI_COMM_WORLD, &incomingMessage, &Status);
- if(incomingMessage) {
- MPI_Recv(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_TOK_REQUEST, MPI_COMM_WORLD, &Status);
- MPI_Send(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_PRINT_TOK, MPI_COMM_WORLD);
- havePrintToken = 0;
- } /* end if */
- } /* end if */
- } /* end if */
-
- /* check array of tasks to see which ones are free.
- * Manager task never does work, so freeTasks[0] is really
- * worker task 0. */
- for(n = 1; (n < g_nTasks) && !workerFound; n++) {
- if(workerTasks[n-1]) {
- /* send file id's and names to first free worker */
- MPI_Send(&args, sizeof(args), MPI_BYTE, n, MPI_TAG_ARGS, MPI_COMM_WORLD);
- /* increment counter for total number of prints. */
- busyTasks++;
-
- /* mark worker as busy */
- workerTasks[n - 1] = 0;
- workerFound = 1;
- } /* end if */
- } /* end for */
-
- if(!workerFound) {
- /* if they were all busy, we've got to wait for one free up
- * before we can move on. If we don't have the token, some
- * task is currently printing so we'll wait for that task to
- * return it.
- */
+ /* check to see if the print token was returned. */
+ if (!havePrintToken) {
+ /* If we don't have the token, someone is probably sending us output */
+ print_incoming_data();
- if(!havePrintToken) {
- while(!havePrintToken) {
- int incomingMessage;
+ /* check incoming queue for token */
+ MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &incomingMessage,
+ &Status);
- print_incoming_data();
- MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &incomingMessage, &Status);
- if(incomingMessage) {
- MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
- havePrintToken = 1;
+ /* incoming token implies free task. */
+ if (incomingMessage) {
+ workerTasks[Status.MPI_SOURCE - 1] = 1;
+ MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE,
+ MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
nfound += nFoundbyWorker.nfound;
opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
- /* send this task the work unit. */
- MPI_Send(&args, sizeof(args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS, MPI_COMM_WORLD);
+ busyTasks--;
+ havePrintToken = 1;
} /* end if */
- } /* end while */
- } /* end if */
- /* if we do have the token, check for task to free up, or wait for a task to request it */
- else {
- /* But first print all the data in our incoming queue */
- print_incoming_data();
- MPI_Probe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &Status);
- if(Status.MPI_TAG == MPI_TAG_DONE) {
- MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_DONE, MPI_COMM_WORLD, &Status);
- nfound += nFoundbyWorker.nfound;
- opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
- MPI_Send(&args, sizeof(args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS, MPI_COMM_WORLD);
+ } /* end if */
+
+ /* check to see if anyone needs the print token. */
+ if (havePrintToken) {
+ /* check incoming queue for print token requests */
+ MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_REQUEST, MPI_COMM_WORLD, &incomingMessage,
+ &Status);
+ if (incomingMessage) {
+ MPI_Recv(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_TOK_REQUEST,
+ MPI_COMM_WORLD, &Status);
+ MPI_Send(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_PRINT_TOK,
+ MPI_COMM_WORLD);
+ havePrintToken = 0;
+ } /* end if */
+ } /* end if */
+ } /* end if */
+
+ /* check array of tasks to see which ones are free.
+ * Manager task never does work, so freeTasks[0] is really
+ * worker task 0. */
+ for (n = 1; (n < g_nTasks) && !workerFound; n++) {
+ if (workerTasks[n - 1]) {
+ /* send file id's and names to first free worker */
+ MPI_Send(&args, sizeof(args), MPI_BYTE, n, MPI_TAG_ARGS, MPI_COMM_WORLD);
+
+ /* increment counter for total number of prints. */
+ busyTasks++;
+
+ /* mark worker as busy */
+ workerTasks[n - 1] = 0;
+ workerFound = 1;
} /* end if */
- else if(Status.MPI_TAG == MPI_TAG_TOK_REQUEST) {
- int incomingMessage;
+ } /* end for */
- MPI_Recv(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_TOK_REQUEST, MPI_COMM_WORLD, &Status);
- MPI_Send(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_PRINT_TOK, MPI_COMM_WORLD);
+ if (!workerFound) {
+ /* if they were all busy, we've got to wait for one free up
+ * before we can move on. If we don't have the token, some
+ * task is currently printing so we'll wait for that task to
+ * return it.
+ */
- do {
- MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &incomingMessage, &Status);
+ if (!havePrintToken) {
+ while (!havePrintToken) {
+ int incomingMessage;
print_incoming_data();
- } while(!incomingMessage);
-
- MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
- nfound += nFoundbyWorker.nfound;
- opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
- MPI_Send(&args, sizeof(args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS, MPI_COMM_WORLD);
- } /* end else-if */
+ MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD,
+ &incomingMessage, &Status);
+ if (incomingMessage) {
+ MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE,
+ MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
+ havePrintToken = 1;
+ nfound += nFoundbyWorker.nfound;
+ opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
+ /* send this task the work unit. */
+ MPI_Send(&args, sizeof(args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS,
+ MPI_COMM_WORLD);
+ } /* end if */
+ } /* end while */
+ } /* end if */
+ /* if we do have the token, check for task to free up, or wait for a task to request
+ * it */
else {
- HDprintf("ERROR: Invalid tag (%d) received \n", Status.MPI_TAG);
- MPI_Abort(MPI_COMM_WORLD, 0);
- MPI_Finalize();
- } /* end else */
- } /* end else */
- } /* end if */
- } /* end else */
-#endif /* H5_HAVE_PARALLEL */
- if(obj1_fullpath)
- HDfree(obj1_fullpath);
- if(obj2_fullpath)
- HDfree(obj2_fullpath);
- } /* end if */
- } /* end for */
- H5TOOLS_DEBUG("done with for loop - errstat:%d", opts->err_stat);
+ /* But first print all the data in our incoming queue */
+ print_incoming_data();
+ MPI_Probe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &Status);
+ if (Status.MPI_TAG == MPI_TAG_DONE) {
+ MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE,
+ MPI_TAG_DONE, MPI_COMM_WORLD, &Status);
+ nfound += nFoundbyWorker.nfound;
+ opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
+ MPI_Send(&args, sizeof(args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS,
+ MPI_COMM_WORLD);
+ } /* end if */
+ else if (Status.MPI_TAG == MPI_TAG_TOK_REQUEST) {
+ int incomingMessage;
-#ifdef H5_HAVE_PARALLEL
- if(g_Parallel) {
- /* make sure all tasks are done */
- while(busyTasks > 0) {
- MPI_Probe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &Status);
- if(Status.MPI_TAG == MPI_TAG_DONE) {
- MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_DONE, MPI_COMM_WORLD, &Status);
- nfound += nFoundbyWorker.nfound;
- opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
- busyTasks--;
- } /* end if */
- else if(Status.MPI_TAG == MPI_TAG_TOK_REQUEST) {
- MPI_Recv(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_TOK_REQUEST, MPI_COMM_WORLD, &Status);
- if(havePrintToken) {
- int incomingMessage;
+ MPI_Recv(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_TOK_REQUEST,
+ MPI_COMM_WORLD, &Status);
+ MPI_Send(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_PRINT_TOK,
+ MPI_COMM_WORLD);
- MPI_Send(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_PRINT_TOK, MPI_COMM_WORLD);
+ do {
+ MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD,
+ &incomingMessage, &Status);
- do {
- MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &incomingMessage, &Status);
+ print_incoming_data();
+ } while (!incomingMessage);
- print_incoming_data();
- } while(!incomingMessage);
+ MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE,
+ MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
+ nfound += nFoundbyWorker.nfound;
+ opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
+ MPI_Send(&args, sizeof(args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS,
+ MPI_COMM_WORLD);
+ } /* end else-if */
+ else {
+ HDprintf("ERROR: Invalid tag (%d) received \n", Status.MPI_TAG);
+ MPI_Abort(MPI_COMM_WORLD, 0);
+ MPI_Finalize();
+ } /* end else */
+ } /* end else */
+ } /* end if */
+ } /* end else */
+#endif /* H5_HAVE_PARALLEL */
+ if (obj1_fullpath)
+ HDfree(obj1_fullpath);
+ if (obj2_fullpath)
+ HDfree(obj2_fullpath);
+ } /* end if */
+ } /* end for */
+ H5TOOLS_DEBUG("done with for loop - errstat:%d", opts->err_stat);
- MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
+#ifdef H5_HAVE_PARALLEL
+ if (g_Parallel) {
+ /* make sure all tasks are done */
+ while (busyTasks > 0) {
+ MPI_Probe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &Status);
+ if (Status.MPI_TAG == MPI_TAG_DONE) {
+ MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE,
+ MPI_TAG_DONE, MPI_COMM_WORLD, &Status);
nfound += nFoundbyWorker.nfound;
opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
busyTasks--;
} /* end if */
- /* someone else must have it...wait for them to return it, then give it to the task that just asked for it. */
- else {
- int source = Status.MPI_SOURCE;
- int incomingMessage;
+ else if (Status.MPI_TAG == MPI_TAG_TOK_REQUEST) {
+ MPI_Recv(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_TOK_REQUEST, MPI_COMM_WORLD,
+ &Status);
+ if (havePrintToken) {
+ int incomingMessage;
+
+ MPI_Send(NULL, 0, MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_PRINT_TOK, MPI_COMM_WORLD);
+
+ do {
+ MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &incomingMessage,
+ &Status);
+
+ print_incoming_data();
+ } while (!incomingMessage);
- do {
- MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &incomingMessage, &Status);
+ MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE,
+ MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
+ nfound += nFoundbyWorker.nfound;
+ opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
+ busyTasks--;
+ } /* end if */
+ /* someone else must have it...wait for them to return it, then give it to the task that
+ * just asked for it. */
+ else {
+ int source = Status.MPI_SOURCE;
+ int incomingMessage;
- print_incoming_data();
- } while(!incomingMessage);
+ do {
+ MPI_Iprobe(MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &incomingMessage,
+ &Status);
+ print_incoming_data();
+ } while (!incomingMessage);
- MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, MPI_ANY_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
+ MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, MPI_ANY_SOURCE,
+ MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
+ nfound += nFoundbyWorker.nfound;
+ opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
+ busyTasks--;
+ MPI_Send(NULL, 0, MPI_BYTE, source, MPI_TAG_PRINT_TOK, MPI_COMM_WORLD);
+ } /* end else */
+ } /* end else-if */
+ else if (Status.MPI_TAG == MPI_TAG_TOK_RETURN) {
+ MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE,
+ MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
nfound += nFoundbyWorker.nfound;
opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
busyTasks--;
- MPI_Send(NULL, 0, MPI_BYTE, source, MPI_TAG_PRINT_TOK, MPI_COMM_WORLD);
+ havePrintToken = 1;
+ } /* end else-if */
+ else if (Status.MPI_TAG == MPI_TAG_PRINT_DATA) {
+ char data[PRINT_DATA_MAX_SIZE + 1];
+ HDmemset(data, 0, PRINT_DATA_MAX_SIZE + 1);
+
+ MPI_Recv(data, PRINT_DATA_MAX_SIZE, MPI_CHAR, Status.MPI_SOURCE, MPI_TAG_PRINT_DATA,
+ MPI_COMM_WORLD, &Status);
+
+ HDprintf("%s", data);
+ } /* end else-if */
+ else {
+ HDprintf("ph5diff-manager: ERROR!! Invalid tag (%d) received \n", Status.MPI_TAG);
+ MPI_Abort(MPI_COMM_WORLD, 0);
} /* end else */
- } /* end else-if */
- else if(Status.MPI_TAG == MPI_TAG_TOK_RETURN) {
- MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status);
- nfound += nFoundbyWorker.nfound;
- opts->not_cmp = opts->not_cmp | nFoundbyWorker.not_cmp;
- busyTasks--;
- havePrintToken = 1;
- } /* end else-if */
- else if(Status.MPI_TAG == MPI_TAG_PRINT_DATA) {
- char data[PRINT_DATA_MAX_SIZE + 1];
- HDmemset(data, 0, PRINT_DATA_MAX_SIZE + 1);
-
- MPI_Recv(data, PRINT_DATA_MAX_SIZE, MPI_CHAR, Status.MPI_SOURCE, MPI_TAG_PRINT_DATA, MPI_COMM_WORLD, &Status);
-
- HDprintf("%s", data);
- } /* end else-if */
- else {
- HDprintf("ph5diff-manager: ERROR!! Invalid tag (%d) received \n", Status.MPI_TAG);
- MPI_Abort(MPI_COMM_WORLD, 0);
- } /* end else */
- } /* end while */
+ } /* end while */
- for(i = 1; (int)i < g_nTasks; i++)
- MPI_Send(NULL, 0, MPI_BYTE, (int)i, MPI_TAG_END, MPI_COMM_WORLD);
+ for (i = 1; (int)i < g_nTasks; i++)
+ MPI_Send(NULL, 0, MPI_BYTE, (int)i, MPI_TAG_END, MPI_COMM_WORLD);
- /* Print any final data waiting in our queue */
- print_incoming_data();
- } /* end if */
- H5TOOLS_DEBUG("done with if block");
+ /* Print any final data waiting in our queue */
+ print_incoming_data();
+ } /* end if */
+ H5TOOLS_DEBUG("done with if block");
- HDfree(workerTasks);
+ HDfree(workerTasks);
}
#endif /* H5_HAVE_PARALLEL */
opts->err_stat = opts->err_stat | ret_value;
- free_exclude_attr_list (opts);
+ free_exclude_attr_list(opts);
/* free table */
if (table)
@@ -1485,7 +1499,6 @@ diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1,
return nfound;
}
-
/*-------------------------------------------------------------------------
* Function: diff
*
@@ -1500,19 +1513,20 @@ diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1,
*-------------------------------------------------------------------------
*/
hsize_t
-diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_opt_t *opts, diff_args_t *argdata)
+diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_opt_t *opts,
+ diff_args_t *argdata)
{
- int status = -1;
- hid_t dset1_id = H5I_INVALID_HID;
- hid_t dset2_id = H5I_INVALID_HID;
- hid_t type1_id = H5I_INVALID_HID;
- hid_t type2_id = H5I_INVALID_HID;
- hid_t grp1_id = H5I_INVALID_HID;
- hid_t grp2_id = H5I_INVALID_HID;
+ int status = -1;
+ hid_t dset1_id = H5I_INVALID_HID;
+ hid_t dset2_id = H5I_INVALID_HID;
+ hid_t type1_id = H5I_INVALID_HID;
+ hid_t type2_id = H5I_INVALID_HID;
+ hid_t grp1_id = H5I_INVALID_HID;
+ hid_t grp2_id = H5I_INVALID_HID;
hbool_t is_dangle_link1 = FALSE;
hbool_t is_dangle_link2 = FALSE;
- hbool_t is_hard_link = FALSE;
- hsize_t nfound = 0;
+ hbool_t is_hard_link = FALSE;
+ hsize_t nfound = 0;
h5trav_type_t object_type;
diff_err_t ret_value = opts->err_stat;
@@ -1527,15 +1541,13 @@ diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_
HDmemset(&linkinfo2, 0, sizeof(h5tool_link_info_t));
/* pass how to handle printing warnings to linkinfo option */
- if(print_warn(opts))
+ if (print_warn(opts))
linkinfo1.opt.msg_mode = linkinfo2.opt.msg_mode = 1;
/* for symbolic links, take care follow symlink and no dangling link
* options */
- if (argdata->type[0] == H5TRAV_TYPE_LINK ||
- argdata->type[0] == H5TRAV_TYPE_UDLINK ||
- argdata->type[1] == H5TRAV_TYPE_LINK ||
- argdata->type[1] == H5TRAV_TYPE_UDLINK) {
+ if (argdata->type[0] == H5TRAV_TYPE_LINK || argdata->type[0] == H5TRAV_TYPE_UDLINK ||
+ argdata->type[1] == H5TRAV_TYPE_LINK || argdata->type[1] == H5TRAV_TYPE_UDLINK) {
/*
* check dangling links for path1 and path2
*/
@@ -1549,7 +1561,7 @@ diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_
if (status == 0) {
if (opts->no_dangle_links) {
/* dangling link is error */
- if(opts->mode_verbose)
+ if (opts->mode_verbose)
parallel_print("Warning: <%s> is a dangling link.\n", path1);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "dangling link is error");
}
@@ -1564,7 +1576,7 @@ diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_
if (status == 0) {
if (opts->no_dangle_links) {
/* dangling link is error */
- if(opts->mode_verbose)
+ if (opts->mode_verbose)
parallel_print("Warning: <%s> is a dangling link.\n", path2);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "dangling link is error");
}
@@ -1579,8 +1591,7 @@ diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_
/* follow symbolic link option */
if (opts->follow_links) {
- if (linkinfo1.linfo.type == H5L_TYPE_SOFT ||
- linkinfo1.linfo.type == H5L_TYPE_EXTERNAL)
+ if (linkinfo1.linfo.type == H5L_TYPE_SOFT || linkinfo1.linfo.type == H5L_TYPE_EXTERNAL)
argdata->type[0] = (h5trav_type_t)linkinfo1.trg_type;
if (linkinfo2.linfo.type == H5L_TYPE_SOFT || linkinfo2.linfo.type == H5L_TYPE_EXTERNAL)
@@ -1590,9 +1601,9 @@ diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_
/* if objects are not the same type */
if (argdata->type[0] != argdata->type[1]) {
H5TOOLS_DEBUG("diff objects are not the same");
- if (opts->mode_verbose||opts->mode_list_not_cmp) {
- parallel_print("Not comparable: <%s> is of type %s and <%s> is of type %s\n",
- path1, get_type(argdata->type[0]), path2, get_type(argdata->type[1]));
+ if (opts->mode_verbose || opts->mode_list_not_cmp) {
+ parallel_print("Not comparable: <%s> is of type %s and <%s> is of type %s\n", path1,
+ get_type(argdata->type[0]), path2, get_type(argdata->type[1]));
}
opts->not_cmp = 1;
@@ -1612,15 +1623,14 @@ diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_
*
* Perform this to match the outputs as bypassing.
*/
- if (argdata->is_same_trgobj) {
+ if (argdata->is_same_trgobj) {
H5TOOLS_DEBUG("argdata->is_same_trgobj");
- is_hard_link = (object_type == H5TRAV_TYPE_DATASET ||
- object_type == H5TRAV_TYPE_NAMED_DATATYPE ||
+ is_hard_link = (object_type == H5TRAV_TYPE_DATASET || object_type == H5TRAV_TYPE_NAMED_DATATYPE ||
object_type == H5TRAV_TYPE_GROUP);
if (opts->follow_links || is_hard_link) {
/* print information is only verbose option is used */
- if(opts->mode_verbose || opts->mode_report) {
- switch(object_type) {
+ if (opts->mode_verbose || opts->mode_report) {
+ switch (object_type) {
case H5TRAV_TYPE_DATASET:
do_print_objname("dataset", path1, path2, opts);
break;
@@ -1634,15 +1644,16 @@ diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_
do_print_objname("link", path1, path2, opts);
break;
case H5TRAV_TYPE_UDLINK:
- if(linkinfo1.linfo.type == H5L_TYPE_EXTERNAL && linkinfo2.linfo.type == H5L_TYPE_EXTERNAL)
+ if (linkinfo1.linfo.type == H5L_TYPE_EXTERNAL &&
+ linkinfo2.linfo.type == H5L_TYPE_EXTERNAL)
do_print_objname("external link", path1, path2, opts);
else
- do_print_objname ("user defined link", path1, path2, opts);
+ do_print_objname("user defined link", path1, path2, opts);
break;
case H5TRAV_TYPE_UNKNOWN:
default:
- parallel_print("Comparison not supported: <%s> and <%s> are of type %s\n",
- path1, path2, get_type(object_type) );
+ parallel_print("Comparison not supported: <%s> and <%s> are of type %s\n", path1,
+ path2, get_type(object_type));
opts->not_cmp = 1;
break;
} /* switch(type)*/
@@ -1655,27 +1666,27 @@ diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_
}
}
- switch(object_type) {
- /*----------------------------------------------------------------------
- * H5TRAV_TYPE_DATASET
- *----------------------------------------------------------------------
- */
+ switch (object_type) {
+ /*----------------------------------------------------------------------
+ * H5TRAV_TYPE_DATASET
+ *----------------------------------------------------------------------
+ */
case H5TRAV_TYPE_DATASET:
H5TOOLS_DEBUG("diff object type H5TRAV_TYPE_DATASET - errstat:%d", opts->err_stat);
- if((dset1_id = H5Dopen2(file1_id, path1, H5P_DEFAULT)) < 0)
+ if ((dset1_id = H5Dopen2(file1_id, path1, H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dopen2 failed");
- if((dset2_id = H5Dopen2(file2_id, path2, H5P_DEFAULT)) < 0)
+ if ((dset2_id = H5Dopen2(file2_id, path2, H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dopen2 failed");
H5TOOLS_DEBUG("paths: %s - %s", path1, path2);
/* verbose (-v) and report (-r) mode */
- if(opts->mode_verbose || opts->mode_report) {
+ if (opts->mode_verbose || opts->mode_report) {
do_print_objname("dataset", path1, path2, opts);
H5TOOLS_DEBUG("call diff_dataset 1:%s 2:%s ", path1, path2);
nfound = diff_dataset(file1_id, file2_id, path1, path2, opts);
print_found(nfound);
}
/* quiet mode (-q), just count differences */
- else if(opts->mode_quiet) {
+ else if (opts->mode_quiet) {
nfound = diff_dataset(file1_id, file2_id, path1, path2, opts);
}
/* the rest (-c, none, ...) */
@@ -1695,39 +1706,39 @@ diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_
* referenced object
*---------------------------------------------------------
*/
- if(path1 && !is_exclude_attr(path1, object_type, opts)) {
- H5TOOLS_DEBUG( "call diff_attr 1:%s 2:%s ", path1, path2);
+ if (path1 && !is_exclude_attr(path1, object_type, opts)) {
+ H5TOOLS_DEBUG("call diff_attr 1:%s 2:%s ", path1, path2);
nfound += diff_attr(dset1_id, dset2_id, path1, path2, opts);
}
- if(H5Dclose(dset1_id) < 0)
+ if (H5Dclose(dset1_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dclose failed");
- if(H5Dclose(dset2_id) < 0)
+ if (H5Dclose(dset2_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dclose failed");
break;
- /*----------------------------------------------------------------------
- * H5TRAV_TYPE_NAMED_DATATYPE
- *----------------------------------------------------------------------
- */
+ /*----------------------------------------------------------------------
+ * H5TRAV_TYPE_NAMED_DATATYPE
+ *----------------------------------------------------------------------
+ */
case H5TRAV_TYPE_NAMED_DATATYPE:
H5TOOLS_DEBUG("H5TRAV_TYPE_NAMED_DATATYPE 1:%s 2:%s ", path1, path2);
- if((type1_id = H5Topen2(file1_id, path1, H5P_DEFAULT)) < 0)
+ if ((type1_id = H5Topen2(file1_id, path1, H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Topen2 failed");
- if((type2_id = H5Topen2(file2_id, path2, H5P_DEFAULT)) < 0)
+ if ((type2_id = H5Topen2(file2_id, path2, H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Topen2 failed");
- if((status = H5Tequal(type1_id, type2_id)) < 0)
+ if ((status = H5Tequal(type1_id, type2_id)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tequal failed");
/* if H5Tequal is > 0 then the datatypes refer to the same datatype */
nfound = (status > 0) ? 0 : 1;
- if(print_objname(opts, nfound))
+ if (print_objname(opts, nfound))
do_print_objname("datatype", path1, path2, opts);
/* always print the number of differences found in verbose mode */
- if(opts->mode_verbose)
+ if (opts->mode_verbose)
print_found(nfound);
/*-----------------------------------------------------------------
@@ -1736,33 +1747,33 @@ diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_
* referenced object
*-----------------------------------------------------------------
*/
- if(path1 && !is_exclude_attr(path1, object_type, opts)) {
+ if (path1 && !is_exclude_attr(path1, object_type, opts)) {
H5TOOLS_DEBUG("call diff_attr 1:%s 2:%s ", path1, path2);
nfound += diff_attr(type1_id, type2_id, path1, path2, opts);
}
- if(H5Tclose(type1_id) < 0)
+ if (H5Tclose(type1_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tclose failed");
- if(H5Tclose(type2_id) < 0)
+ if (H5Tclose(type2_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tclose failed");
break;
- /*----------------------------------------------------------------------
- * H5TRAV_TYPE_GROUP
- *----------------------------------------------------------------------
- */
+ /*----------------------------------------------------------------------
+ * H5TRAV_TYPE_GROUP
+ *----------------------------------------------------------------------
+ */
case H5TRAV_TYPE_GROUP:
H5TOOLS_DEBUG("H5TRAV_TYPE_GROUP 1:%s 2:%s ", path1, path2);
- if(print_objname(opts, nfound))
+ if (print_objname(opts, nfound))
do_print_objname("group", path1, path2, opts);
/* always print the number of differences found in verbose mode */
- if(opts->mode_verbose)
+ if (opts->mode_verbose)
print_found(nfound);
- if((grp1_id = H5Gopen2(file1_id, path1, H5P_DEFAULT)) < 0)
+ if ((grp1_id = H5Gopen2(file1_id, path1, H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Gclose failed");
- if((grp2_id = H5Gopen2(file2_id, path2, H5P_DEFAULT)) < 0)
+ if ((grp2_id = H5Gopen2(file2_id, path2, H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Gclose failed");
/*-----------------------------------------------------------------
@@ -1771,97 +1782,92 @@ diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_
* referenced object
*-----------------------------------------------------------------
*/
- if(path1 && !is_exclude_attr(path1, object_type, opts)) {
+ if (path1 && !is_exclude_attr(path1, object_type, opts)) {
H5TOOLS_DEBUG("call diff_attr 1:%s 2:%s ", path1, path2);
nfound += diff_attr(grp1_id, grp2_id, path1, path2, opts);
}
- if(H5Gclose(grp1_id) < 0)
+ if (H5Gclose(grp1_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Gclose failed");
- if(H5Gclose(grp2_id) < 0)
+ if (H5Gclose(grp2_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Gclose failed");
break;
+ /*----------------------------------------------------------------------
+ * H5TRAV_TYPE_LINK
+ *----------------------------------------------------------------------
+ */
+ case H5TRAV_TYPE_LINK: {
+ H5TOOLS_DEBUG("H5TRAV_TYPE_LINK 1:%s 2:%s ", path1, path2);
+ status = HDstrcmp(linkinfo1.trg_path, linkinfo2.trg_path);
- /*----------------------------------------------------------------------
- * H5TRAV_TYPE_LINK
- *----------------------------------------------------------------------
- */
- case H5TRAV_TYPE_LINK:
- {
- H5TOOLS_DEBUG("H5TRAV_TYPE_LINK 1:%s 2:%s ", path1, path2);
- status = HDstrcmp(linkinfo1.trg_path, linkinfo2.trg_path);
+ /* if the target link name is not same then the links are "different" */
+ nfound = (status != 0) ? 1 : 0;
- /* if the target link name is not same then the links are "different" */
- nfound = (status != 0) ? 1 : 0;
+ if (print_objname(opts, nfound))
+ do_print_objname("link", path1, path2, opts);
- if(print_objname(opts, nfound))
- do_print_objname("link", path1, path2, opts);
+ /* always print the number of differences found in verbose mode */
+ if (opts->mode_verbose)
+ print_found(nfound);
+ } break;
- /* always print the number of differences found in verbose mode */
- if(opts->mode_verbose)
- print_found(nfound);
+ /*----------------------------------------------------------------------
+ * H5TRAV_TYPE_UDLINK
+ *----------------------------------------------------------------------
+ */
+ case H5TRAV_TYPE_UDLINK: {
+ H5TOOLS_DEBUG("H5TRAV_TYPE_UDLINK 1:%s 2:%s ", path1, path2);
+ /* Only external links will have a query function registered */
+ if (linkinfo1.linfo.type == H5L_TYPE_EXTERNAL && linkinfo2.linfo.type == H5L_TYPE_EXTERNAL) {
+ /* If the buffers are the same size, compare them */
+ if (linkinfo1.linfo.u.val_size == linkinfo2.linfo.u.val_size) {
+ status = HDmemcmp(linkinfo1.trg_path, linkinfo2.trg_path, linkinfo1.linfo.u.val_size);
}
- break;
-
- /*----------------------------------------------------------------------
- * H5TRAV_TYPE_UDLINK
- *----------------------------------------------------------------------
- */
- case H5TRAV_TYPE_UDLINK:
- {
- H5TOOLS_DEBUG("H5TRAV_TYPE_UDLINK 1:%s 2:%s ", path1, path2);
- /* Only external links will have a query function registered */
- if(linkinfo1.linfo.type == H5L_TYPE_EXTERNAL && linkinfo2.linfo.type == H5L_TYPE_EXTERNAL) {
- /* If the buffers are the same size, compare them */
- if(linkinfo1.linfo.u.val_size == linkinfo2.linfo.u.val_size) {
- status = HDmemcmp(linkinfo1.trg_path, linkinfo2.trg_path, linkinfo1.linfo.u.val_size);
- }
- else
- status = 1;
+ else
+ status = 1;
- /* if "linkinfo1.trg_path" != "linkinfo2.trg_path" then the links
- * are "different" extlinkinfo#.path is combination string of
- * file_name and obj_name
- */
- nfound = (status != 0) ? 1 : 0;
+ /* if "linkinfo1.trg_path" != "linkinfo2.trg_path" then the links
+ * are "different" extlinkinfo#.path is combination string of
+ * file_name and obj_name
+ */
+ nfound = (status != 0) ? 1 : 0;
- if(print_objname(opts, nfound))
- do_print_objname("external link", path1, path2, opts);
+ if (print_objname(opts, nfound))
+ do_print_objname("external link", path1, path2, opts);
- } /* end if */
- else {
- /* If one or both of these links isn't an external link, we can only
- * compare information from H5Lget_info since we don't have a query
- * function registered for them.
- *
- * If the link classes or the buffer length are not the
- * same, the links are "different"
- */
- if((linkinfo1.linfo.type != linkinfo2.linfo.type) ||
+ } /* end if */
+ else {
+ /* If one or both of these links isn't an external link, we can only
+ * compare information from H5Lget_info since we don't have a query
+ * function registered for them.
+ *
+ * If the link classes or the buffer length are not the
+ * same, the links are "different"
+ */
+ if ((linkinfo1.linfo.type != linkinfo2.linfo.type) ||
(linkinfo1.linfo.u.val_size != linkinfo2.linfo.u.val_size))
- nfound = 1;
- else
- nfound = 0;
+ nfound = 1;
+ else
+ nfound = 0;
- if (print_objname (opts, nfound))
- do_print_objname ("user defined link", path1, path2, opts);
- } /* end else */
+ if (print_objname(opts, nfound))
+ do_print_objname("user defined link", path1, path2, opts);
+ } /* end else */
- /* always print the number of differences found in verbose mode */
- if(opts->mode_verbose)
- print_found(nfound);
- }
- break;
+ /* always print the number of differences found in verbose mode */
+ if (opts->mode_verbose)
+ print_found(nfound);
+ } break;
case H5TRAV_TYPE_UNKNOWN:
default:
- if(opts->mode_verbose)
- parallel_print("Comparison not supported: <%s> and <%s> are of type %s\n",
- path1, path2, get_type(object_type) );
+ if (opts->mode_verbose)
+ parallel_print("Comparison not supported: <%s> and <%s> are of type %s\n", path1, path2,
+ get_type(object_type));
opts->not_cmp = 1;
break;
- }
+ }
done:
opts->err_stat = opts->err_stat | ret_value;
@@ -1870,26 +1876,26 @@ done:
* handle dangling link(s)
*/
/* both path1 and path2 are dangling links */
- if(is_dangle_link1 && is_dangle_link2) {
- if(print_objname(opts, nfound)) {
+ if (is_dangle_link1 && is_dangle_link2) {
+ if (print_objname(opts, nfound)) {
do_print_objname("dangling link", path1, path2, opts);
print_found(nfound);
}
}
/* path1 is dangling link */
else if (is_dangle_link1) {
- if(opts->mode_verbose)
- parallel_print("obj1 <%s> is a dangling link.\n", path1);
+ if (opts->mode_verbose)
+ parallel_print("obj1 <%s> is a dangling link.\n", path1);
nfound++;
- if(print_objname(opts, nfound))
+ if (print_objname(opts, nfound))
print_found(nfound);
}
/* path2 is dangling link */
else if (is_dangle_link2) {
- if(opts->mode_verbose)
+ if (opts->mode_verbose)
parallel_print("obj2 <%s> is a dangling link.\n", path2);
nfound++;
- if(print_objname(opts, nfound))
+ if (print_objname(opts, nfound))
print_found(nfound);
}
@@ -1901,7 +1907,8 @@ done:
/* close */
/* disable error reporting */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Dclose(dset1_id);
H5Dclose(dset2_id);
H5Tclose(type1_id);
@@ -1909,10 +1916,10 @@ done:
H5Gclose(grp1_id);
H5Gclose(grp2_id);
/* enable error reporting */
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
H5TOOLS_ENDDEBUG(": %d - errstat:%d", nfound, opts->err_stat);
return nfound;
}
-
diff --git a/tools/lib/h5diff.h b/tools/lib/h5diff.h
index f44f653..b8a50da 100644
--- a/tools/lib/h5diff.h
+++ b/tools/lib/h5diff.h
@@ -27,8 +27,8 @@
* as it doesn't require interface change.
*------------------------------------------------------------------------*/
typedef struct {
- h5trav_type_t type[2];
- hbool_t is_same_trgobj;
+ h5trav_type_t type[2];
+ hbool_t is_same_trgobj;
} diff_args_t;
/*-------------------------------------------------------------------------
* command line options
@@ -36,12 +36,11 @@ typedef struct {
*/
/* linked list to keep exclude path list */
struct exclude_path_list {
- const char *obj_path;
- h5trav_type_t obj_type;
- struct exclude_path_list *next;
+ const char * obj_path;
+ h5trav_type_t obj_type;
+ struct exclude_path_list *next;
};
-
/* Enumeration value for keeping track of whether an error occurred or differences were found */
typedef enum {
H5DIFF_NO_ERR, /* No error occurred */
@@ -50,50 +49,49 @@ typedef enum {
} diff_err_t;
typedef struct {
- int mode_quiet; /* quiet mode: no output at all */
- int mode_report; /* report mode: print the data */
- int mode_verbose; /* verbose mode: print the data, list of objcets, warnings */
- int mode_verbose_level; /* control verbose details */
- int mode_list_not_cmp; /* list not comparable messages */
- int print_header; /* print header */
- int print_percentage; /* print percentage */
- int print_dims; /* print dimension index */
- int delta_bool; /* delta, absolute value to compare */
- double delta; /* delta value */
- int use_system_epsilon; /* flag to use system epsilon (1 or 0) */
- int percent_bool; /* relative error to compare*/
- double percent; /* relative error value */
- hbool_t follow_links; /* follow symbolic links */
- int no_dangle_links; /* return error when find dangling link */
- int cmn_objs; /* do we have common objects */
- int not_cmp; /* are the objects comparable */
- int contents; /* equal contents */
- int do_nans; /* consider Nans while diffing floats */
- int exclude_path; /* exclude path to an object */
- int exclude_attr_path; /* exclude path to an object */
- struct exclude_path_list *exclude; /* keep exclude path list */
- struct exclude_path_list *exclude_attr; /* keep exclude attribute list */
- int count_bool; /* count, compare up to count */
- hsize_t count; /* count value */
- diff_err_t err_stat; /* an error ocurred (2, error, 1, differences, 0, no error) */
- hsize_t nelmts; /* total number of elements */
- hsize_t hs_nelmts; /* number of elements to read at a time*/
- int rank; /* dimensionality */
- size_t m_size; /* m_size for diff */
- hid_t m_tid; /* m_tid for diff */
- hsize_t dims[H5S_MAX_RANK]; /* dimensions of object */
- hsize_t p_min_idx[H5S_MAX_RANK]; /* min selected index */
- hsize_t p_max_idx[H5S_MAX_RANK]; /* max selected index */
- hsize_t acc[H5S_MAX_RANK]; /* accumulator position */
- hsize_t pos[H5S_MAX_RANK]; /* matrix position */
- hsize_t sm_pos[H5S_MAX_RANK]; /* stripmine position */
- char *obj_name[2]; /* name for object */
- struct subset_t *sset[2]; /* subsetting parameters */
- h5tools_vol_info_t vol_info[2]; /* VOL information for input file, output file */
- hbool_t custom_vol[2]; /* Using a custom input, output VOL? */
+ int mode_quiet; /* quiet mode: no output at all */
+ int mode_report; /* report mode: print the data */
+ int mode_verbose; /* verbose mode: print the data, list of objcets, warnings */
+ int mode_verbose_level; /* control verbose details */
+ int mode_list_not_cmp; /* list not comparable messages */
+ int print_header; /* print header */
+ int print_percentage; /* print percentage */
+ int print_dims; /* print dimension index */
+ int delta_bool; /* delta, absolute value to compare */
+ double delta; /* delta value */
+ int use_system_epsilon; /* flag to use system epsilon (1 or 0) */
+ int percent_bool; /* relative error to compare*/
+ double percent; /* relative error value */
+ hbool_t follow_links; /* follow symbolic links */
+ int no_dangle_links; /* return error when find dangling link */
+ int cmn_objs; /* do we have common objects */
+ int not_cmp; /* are the objects comparable */
+ int contents; /* equal contents */
+ int do_nans; /* consider Nans while diffing floats */
+ int exclude_path; /* exclude path to an object */
+ int exclude_attr_path; /* exclude path to an object */
+ struct exclude_path_list *exclude; /* keep exclude path list */
+ struct exclude_path_list *exclude_attr; /* keep exclude attribute list */
+ int count_bool; /* count, compare up to count */
+ hsize_t count; /* count value */
+ diff_err_t err_stat; /* an error ocurred (2, error, 1, differences, 0, no error) */
+ hsize_t nelmts; /* total number of elements */
+ hsize_t hs_nelmts; /* number of elements to read at a time*/
+ int rank; /* dimensionality */
+ size_t m_size; /* m_size for diff */
+ hid_t m_tid; /* m_tid for diff */
+ hsize_t dims[H5S_MAX_RANK]; /* dimensions of object */
+ hsize_t p_min_idx[H5S_MAX_RANK]; /* min selected index */
+ hsize_t p_max_idx[H5S_MAX_RANK]; /* max selected index */
+ hsize_t acc[H5S_MAX_RANK]; /* accumulator position */
+ hsize_t pos[H5S_MAX_RANK]; /* matrix position */
+ hsize_t sm_pos[H5S_MAX_RANK]; /* stripmine position */
+ char * obj_name[2]; /* name for object */
+ struct subset_t * sset[2]; /* subsetting parameters */
+ h5tools_vol_info_t vol_info[2]; /* VOL information for input file, output file */
+ hbool_t custom_vol[2]; /* Using a custom input, output VOL? */
} diff_opt_t;
-
/*-------------------------------------------------------------------------
* public functions
*-------------------------------------------------------------------------
@@ -103,9 +101,11 @@ typedef struct {
extern "C" {
#endif
-H5TOOLS_DLL hsize_t h5diff(const char *fname1, const char *fname2, const char *objname1, const char *objname2, diff_opt_t *opts);
+H5TOOLS_DLL hsize_t h5diff(const char *fname1, const char *fname2, const char *objname1, const char *objname2,
+ diff_opt_t *opts);
-H5TOOLS_DLL hsize_t diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_opt_t *opts, diff_args_t *argdata);
+H5TOOLS_DLL hsize_t diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2,
+ diff_opt_t *opts, diff_args_t *argdata);
#ifdef H5_HAVE_PARALLEL
H5TOOLS_DLL void phdiff_dismiss_workers(void);
@@ -116,38 +116,29 @@ H5TOOLS_DLL void print_manager_output(void);
}
#endif
-
-
/*-------------------------------------------------------------------------
* private functions
*-------------------------------------------------------------------------
*/
+hsize_t diff_dataset(hid_t file1_id, hid_t file2_id, const char *obj1_name, const char *obj2_name,
+ diff_opt_t *opts);
-hsize_t diff_dataset(hid_t file1_id, hid_t file2_id,
- const char *obj1_name, const char *obj2_name, diff_opt_t *opts);
+hsize_t diff_datasetid(hid_t dset1_id, hid_t dset2_id, const char *obj1_name, const char *obj2_name,
+ diff_opt_t *opts);
-hsize_t diff_datasetid(hid_t dset1_id, hid_t dset2_id,
- const char *obj1_name, const char *obj2_name, diff_opt_t *opts);
+hsize_t diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1, hid_t file2_id, const char *grp2,
+ trav_info_t *info2, trav_table_t *table, diff_opt_t *opts);
+hsize_t diff_array(void *_mem1, void *_mem2, diff_opt_t *opts, hid_t container1_id, hid_t container2_id);
-hsize_t diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1,
- hid_t file2_id, const char *grp2, trav_info_t *info2,
- trav_table_t *table, diff_opt_t *opts);
-
-hsize_t diff_array(void *_mem1, void *_mem2,
- diff_opt_t *opts, hid_t container1_id, hid_t container2_id);
-
-int diff_can_type(hid_t f_type1, hid_t f_type2, int rank1, int rank2,
- hsize_t *dims1, hsize_t *dims2, hsize_t *maxdim1, hsize_t *maxdim2,
- diff_opt_t *opts, int is_compound);
+int diff_can_type(hid_t f_type1, hid_t f_type2, int rank1, int rank2, hsize_t *dims1, hsize_t *dims2,
+ hsize_t *maxdim1, hsize_t *maxdim2, diff_opt_t *opts, int is_compound);
hsize_t diff_attr_data(hid_t attr1_id, hid_t attr2_id, const char *name1, const char *name2,
- const char *path1, const char *path2, diff_opt_t *opts);
-
-hsize_t diff_attr(hid_t loc1_id, hid_t loc2_id,
- const char *path1, const char *path2, diff_opt_t *opts);
+ const char *path1, const char *path2, diff_opt_t *opts);
+hsize_t diff_attr(hid_t loc1_id, hid_t loc2_id, const char *path1, const char *path2, diff_opt_t *opts);
/*-------------------------------------------------------------------------
* utility functions
@@ -157,18 +148,16 @@ hsize_t diff_attr(hid_t loc1_id, hid_t loc2_id,
/* in h5diff_util.c */
void print_found(hsize_t nfound);
void print_type(hid_t type);
-const char* diff_basename(const char *name);
-const char* get_type(h5trav_type_t type);
-const char* get_class(H5T_class_t tclass);
-const char* get_sign(H5T_sign_t sign);
-void print_dimensions (int rank, hsize_t *dims);
-herr_t match_up_memsize (hid_t f_tid1_id, hid_t f_tid2_id,
- hid_t *m_tid1, hid_t *m_tid2,
- size_t *m_size1, size_t *m_size2);
+const char *diff_basename(const char *name);
+const char *get_type(h5trav_type_t type);
+const char *get_class(H5T_class_t tclass);
+const char *get_sign(H5T_sign_t sign);
+void print_dimensions(int rank, hsize_t *dims);
+herr_t match_up_memsize(hid_t f_tid1_id, hid_t f_tid2_id, hid_t *m_tid1, hid_t *m_tid2, size_t *m_size1,
+ size_t *m_size2);
/* in h5diff.c */
-int print_objname(diff_opt_t *opts, hsize_t nfound);
-void do_print_objname (const char *OBJ, const char *path1, const char *path2, diff_opt_t * opts);
-void do_print_attrname (const char *attr, const char *path1, const char *path2);
-
-#endif /* H5DIFF_H__ */
+int print_objname(diff_opt_t *opts, hsize_t nfound);
+void do_print_objname(const char *OBJ, const char *path1, const char *path2, diff_opt_t *opts);
+void do_print_attrname(const char *attr, const char *path1, const char *path2);
+#endif /* H5DIFF_H__ */
diff --git a/tools/lib/h5diff_array.c b/tools/lib/h5diff_array.c
index 1a4c727..b998784 100644
--- a/tools/lib/h5diff_array.c
+++ b/tools/lib/h5diff_array.c
@@ -24,48 +24,52 @@
*-------------------------------------------------------------------------
*/
-#define F_FORMAT "%-15g %-15g %-15g\n"
+#define F_FORMAT "%-15g %-15g %-15g\n"
-#if H5_SIZEOF_LONG_DOUBLE !=0
-#define LD_FORMAT "%-15Lf %-15Lf %-15Lf\n"
+#if H5_SIZEOF_LONG_DOUBLE != 0
+#define LD_FORMAT "%-15Lf %-15Lf %-15Lf\n"
#endif
-#define I_FORMAT "%-15d %-15d %-15d\n"
-#define S_FORMAT "%-16s %-17s\n"
-#define UI_FORMAT "%-15u %-15u %-15u\n"
-#define LI_FORMAT "%-15ld %-15ld %-15ld\n"
-#define ULI_FORMAT "%-15lu %-15lu %-15lu\n"
-#define LLI_FORMAT "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d\n"
-#define ULLI_FORMAT "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u\n"
+#define I_FORMAT "%-15d %-15d %-15d\n"
+#define S_FORMAT "%-16s %-17s\n"
+#define UI_FORMAT "%-15u %-15u %-15u\n"
+#define LI_FORMAT "%-15ld %-15ld %-15ld\n"
+#define ULI_FORMAT "%-15lu %-15lu %-15lu\n"
+#define LLI_FORMAT "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d\n"
+#define ULLI_FORMAT "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u\n"
/* with -p option */
-#define F_FORMAT_P "%-15.10g %-15.10g %-15.10g %-14.10g\n"
+#define F_FORMAT_P "%-15.10g %-15.10g %-15.10g %-14.10g\n"
-#if H5_SIZEOF_LONG_DOUBLE !=0
-#define LD_FORMAT_P "%-15.10Lf %-15.10Lf %-15.10Lf %-14.10Lf\n"
+#if H5_SIZEOF_LONG_DOUBLE != 0
+#define LD_FORMAT_P "%-15.10Lf %-15.10Lf %-15.10Lf %-14.10Lf\n"
#endif
-#define I_FORMAT_P "%-15d %-15d %-15d %-14f\n"
-#define UI_FORMAT_P "%-15u %-15u %-15u %-14f\n"
-#define LI_FORMAT_P "%-15ld %-15ld %-15ld %-14f\n"
-#define ULI_FORMAT_P "%-15lu %-15lu %-15lu %-14f\n"
-#define LLI_FORMAT_P "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-14f\n"
-#define ULLI_FORMAT_P "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "d %-14f\n"
-#define SPACES " "
+#define I_FORMAT_P "%-15d %-15d %-15d %-14f\n"
+#define UI_FORMAT_P "%-15u %-15u %-15u %-14f\n"
+#define LI_FORMAT_P "%-15ld %-15ld %-15ld %-14f\n"
+#define ULI_FORMAT_P "%-15lu %-15lu %-15lu %-14f\n"
+#define LLI_FORMAT_P \
+ "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-14f\n"
+#define ULLI_FORMAT_P \
+ "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "d %-14f\n"
+#define SPACES " "
/* not comparable */
-#define F_FORMAT_P_NOTCOMP "%-15.10g %-15.10g %-15.10g not comparable\n"
+#define F_FORMAT_P_NOTCOMP "%-15.10g %-15.10g %-15.10g not comparable\n"
-#if H5_SIZEOF_LONG_DOUBLE !=0
-#define LD_FORMAT_P_NOTCOMP "%-15.10Lf %-15.10Lf %-15.10Lf not comparable\n"
+#if H5_SIZEOF_LONG_DOUBLE != 0
+#define LD_FORMAT_P_NOTCOMP "%-15.10Lf %-15.10Lf %-15.10Lf not comparable\n"
#endif
-#define I_FORMAT_P_NOTCOMP "%-15d %-15d %-15d not comparable\n"
-#define UI_FORMAT_P_NOTCOMP "%-15u %-15u %-15u not comparable\n"
-#define LI_FORMAT_P_NOTCOMP "%-15ld %-15ld %-15ld not comparable\n"
-#define ULI_FORMAT_P_NOTCOMP "%-15lu %-15lu %-15lu not comparable\n"
-#define LLI_FORMAT_P_NOTCOMP "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d not comparable\n"
-#define ULLI_FORMAT_P_NOTCOMP "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "d not comparable\n"
+#define I_FORMAT_P_NOTCOMP "%-15d %-15d %-15d not comparable\n"
+#define UI_FORMAT_P_NOTCOMP "%-15u %-15u %-15u not comparable\n"
+#define LI_FORMAT_P_NOTCOMP "%-15ld %-15ld %-15ld not comparable\n"
+#define ULI_FORMAT_P_NOTCOMP "%-15lu %-15lu %-15lu not comparable\n"
+#define LLI_FORMAT_P_NOTCOMP \
+ "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d not comparable\n"
+#define ULLI_FORMAT_P_NOTCOMP \
+ "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "d not comparable\n"
/* if system EPSILON is defined, use the system EPSILON; otherwise, use
constants that are close to most EPSILON values */
@@ -95,36 +99,38 @@
static hbool_t not_comparable;
-#define PER(A,B) { \
- per = -1; \
- not_comparable = FALSE; \
- both_zero = FALSE; \
- if(H5_DBL_ABS_EQUAL(0, (double)A) && H5_DBL_ABS_EQUAL(0, (double)B)) \
- both_zero = TRUE; \
- if(!H5_DBL_ABS_EQUAL(0, (double)A)) \
- per = (double)ABS((double)((B) - (A)) / (double)(A)); \
- else \
- not_comparable = TRUE; \
-}
-
-#define PER_UNSIGN(TYPE,A,B) { \
- per = -1; \
- not_comparable = FALSE; \
- both_zero = FALSE; \
- if(H5_DBL_ABS_EQUAL(0, (double)A) && H5_DBL_ABS_EQUAL(0, (double)B)) \
- both_zero = TRUE; \
- if(!H5_DBL_ABS_EQUAL(0, (double)A)) \
- per = ABS((double)((TYPE)((B) - (A))) / (double)(A)) ; \
- else \
- not_comparable = TRUE; \
-}
-
-#define PDIFF(a,b) (((b) > (a)) ? ((b) - (a)) : ((a) -(b)))
+#define PER(A, B) \
+ { \
+ per = -1; \
+ not_comparable = FALSE; \
+ both_zero = FALSE; \
+ if (H5_DBL_ABS_EQUAL(0, (double)A) && H5_DBL_ABS_EQUAL(0, (double)B)) \
+ both_zero = TRUE; \
+ if (!H5_DBL_ABS_EQUAL(0, (double)A)) \
+ per = (double)ABS((double)((B) - (A)) / (double)(A)); \
+ else \
+ not_comparable = TRUE; \
+ }
+
+#define PER_UNSIGN(TYPE, A, B) \
+ { \
+ per = -1; \
+ not_comparable = FALSE; \
+ both_zero = FALSE; \
+ if (H5_DBL_ABS_EQUAL(0, (double)A) && H5_DBL_ABS_EQUAL(0, (double)B)) \
+ both_zero = TRUE; \
+ if (!H5_DBL_ABS_EQUAL(0, (double)A)) \
+ per = ABS((double)((TYPE)((B) - (A))) / (double)(A)); \
+ else \
+ not_comparable = TRUE; \
+ }
+
+#define PDIFF(a, b) (((b) > (a)) ? ((b) - (a)) : ((a) - (b)))
typedef struct mcomp_t {
- unsigned n; /* number of members */
- hid_t *ids; /* member type id */
- size_t *offsets;
+ unsigned n; /* number of members */
+ hid_t * ids; /* member type id */
+ size_t * offsets;
struct mcomp_t **m; /* members */
} mcomp_t;
@@ -133,59 +139,65 @@ typedef struct mcomp_t {
*-------------------------------------------------------------------------
*/
static hbool_t all_zero(const void *_mem, size_t size);
-static int ull2float(unsigned long long ull_value, float *f_value);
+static int ull2float(unsigned long long ull_value, float *f_value);
static hsize_t character_compare(char *mem1, char *mem2, hsize_t elemtno, size_t u, diff_opt_t *opts);
-static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, hsize_t elemtno, diff_opt_t *opts);
+static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, hsize_t elemtno,
+ diff_opt_t *opts);
static hbool_t equal_float(float value, float expected, diff_opt_t *opts);
static hbool_t equal_double(double value, double expected, diff_opt_t *opts);
-#if H5_SIZEOF_LONG_DOUBLE !=0
+#if H5_SIZEOF_LONG_DOUBLE != 0
static hbool_t equal_ldouble(long double value, long double expected, diff_opt_t *opts);
#endif
-static int print_data(diff_opt_t *opts);
+static int print_data(diff_opt_t *opts);
static void print_pos(diff_opt_t *opts, hsize_t elemtno, size_t u);
static void h5diff_print_char(char ch);
-static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t region2_id, diff_opt_t *opts);
-static hsize_t diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts,
- hid_t container1_id, hid_t container2_id, mcomp_t *members);
+static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t region2_id,
+ diff_opt_t *opts);
+static hsize_t diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t container1_id,
+ hid_t container2_id, mcomp_t *members);
/* element diffs */
-static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-#if H5_SIZEOF_LONG_DOUBLE !=0
-static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
+static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+#if H5_SIZEOF_LONG_DOUBLE != 0
+static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
#endif
-static hsize_t diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_uchar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_short_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
+static hsize_t diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_uchar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_short_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
static hsize_t diff_int_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
+static hsize_t diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
/*-------------------------------------------------------------------------
* NaN detection
*-------------------------------------------------------------------------
*/
-#if H5_SIZEOF_LONG_DOUBLE !=0
-typedef enum dtype_t
-{
- FLT_FLOAT,
- FLT_DOUBLE,
- FLT_LDOUBLE
-}dtype_t;
+#if H5_SIZEOF_LONG_DOUBLE != 0
+typedef enum dtype_t { FLT_FLOAT, FLT_DOUBLE, FLT_LDOUBLE } dtype_t;
#else
-typedef enum dtype_t {
- FLT_FLOAT, FLT_DOUBLE
-} dtype_t;
+typedef enum dtype_t { FLT_FLOAT, FLT_DOUBLE } dtype_t;
#endif
-
/*-------------------------------------------------------------------------
* XCAO, 11/10/2010
* added to improve performance for compound datasets
@@ -205,209 +217,207 @@ static void close_member_types(mcomp_t *members);
hsize_t
diff_array(void *_mem1, void *_mem2, diff_opt_t *opts, hid_t container1_id, hid_t container2_id)
{
- hsize_t nfound = 0; /* number of differences found */
- size_t size; /* size of datum */
- unsigned char *mem1 = (unsigned char*) _mem1;
- unsigned char *mem2 = (unsigned char*) _mem2;
- hsize_t i;
- mcomp_t members;
- H5T_class_t type_class;
+ hsize_t nfound = 0; /* number of differences found */
+ size_t size; /* size of datum */
+ unsigned char *mem1 = (unsigned char *)_mem1;
+ unsigned char *mem2 = (unsigned char *)_mem2;
+ hsize_t i;
+ mcomp_t members;
+ H5T_class_t type_class;
H5TOOLS_START_DEBUG(" - rank:%d hs_nelmts:%ld errstat:%d", opts->rank, opts->hs_nelmts, opts->err_stat);
opts->print_header = 1; /* enable print header */
/* get the size. */
- size = H5Tget_size(opts->m_tid);
+ size = H5Tget_size(opts->m_tid);
type_class = H5Tget_class(opts->m_tid);
/* Fast comparison first for atomic type by memcmp().
* It is OK not to list non-atomic type here because it will not be caught
* by the condition, but it gives more clarity for code planning
*/
- if (type_class != H5T_REFERENCE &&
- type_class != H5T_COMPOUND &&
- type_class != H5T_STRING &&
- type_class != H5T_VLEN &&
- HDmemcmp(mem1, mem2, size * opts->hs_nelmts) == 0) {
+ if (type_class != H5T_REFERENCE && type_class != H5T_COMPOUND && type_class != H5T_STRING &&
+ type_class != H5T_VLEN && HDmemcmp(mem1, mem2, size * opts->hs_nelmts) == 0) {
H5TOOLS_ENDDEBUG(":Fast comparison - errstat:%d", opts->err_stat);
return 0;
}
H5TOOLS_DEBUG("type_class:%d", type_class);
switch (type_class) {
- case H5T_NO_CLASS:
- case H5T_TIME:
- case H5T_NCLASSES:
- default:
- H5TOOLS_DEBUG("type_class:INVALID");
- HDassert(0);
- break;
+ case H5T_NO_CLASS:
+ case H5T_TIME:
+ case H5T_NCLASSES:
+ default:
+ H5TOOLS_DEBUG("type_class:INVALID");
+ HDassert(0);
+ break;
- /*-------------------------------------------------------------------------
- * float and integer atomic types
- *-------------------------------------------------------------------------
- */
- case H5T_FLOAT:
- H5TOOLS_DEBUG("type_class:H5T_FLOAT");
- if (H5Tequal(opts->m_tid, H5T_NATIVE_FLOAT)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_float_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(float);
- mem2 += sizeof(float);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_DOUBLE)){
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_double_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(double);
- mem2 += sizeof(double);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
+ /*-------------------------------------------------------------------------
+ * float and integer atomic types
+ *-------------------------------------------------------------------------
+ */
+ case H5T_FLOAT:
+ H5TOOLS_DEBUG("type_class:H5T_FLOAT");
+ if (H5Tequal(opts->m_tid, H5T_NATIVE_FLOAT)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_float_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(float);
+ mem2 += sizeof(float);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_DOUBLE)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_double_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(double);
+ mem2 += sizeof(double);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
#if H5_SIZEOF_LONG_DOUBLE != 0
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_LDOUBLE)) {
- for ( i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_ldouble_element(mem1, mem2, i, opts);
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_LDOUBLE)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_ldouble_element(mem1, mem2, i, opts);
- mem1 += sizeof(long double);
- mem2 += sizeof(long double);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
+ mem1 += sizeof(long double);
+ mem2 += sizeof(long double);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
#endif
- break;
-
- case H5T_INTEGER:
- H5TOOLS_DEBUG("type_class:H5T_INTEGER");
- if (H5Tequal(opts->m_tid, H5T_NATIVE_SCHAR)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_schar_element(mem1, mem2, i, opts);
- mem1 += sizeof(char);
- mem2 += sizeof(char);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_UCHAR)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_uchar_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(unsigned char);
- mem2 += sizeof(unsigned char);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_SHORT)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_short_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(short);
- mem2 += sizeof(short);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_USHORT)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_ushort_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(unsigned short);
- mem2 += sizeof(unsigned short);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_INT)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_int_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(int);
- mem2 += sizeof(int);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_UINT)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_int_element(mem1, mem2, i, opts);
+ break;
+
+ case H5T_INTEGER:
+ H5TOOLS_DEBUG("type_class:H5T_INTEGER");
+ if (H5Tequal(opts->m_tid, H5T_NATIVE_SCHAR)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_schar_element(mem1, mem2, i, opts);
+ mem1 += sizeof(char);
+ mem2 += sizeof(char);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_UCHAR)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_uchar_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(unsigned char);
+ mem2 += sizeof(unsigned char);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_SHORT)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_short_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(short);
+ mem2 += sizeof(short);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_USHORT)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_ushort_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(unsigned short);
+ mem2 += sizeof(unsigned short);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_INT)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_int_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(int);
+ mem2 += sizeof(int);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_UINT)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_int_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(unsigned int);
+ mem2 += sizeof(unsigned int);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_LONG)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_long_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(long);
+ mem2 += sizeof(long);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_ULONG)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_ulong_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(unsigned long);
+ mem2 += sizeof(unsigned long);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_LLONG)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_llong_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(long long);
+ mem2 += sizeof(long long);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_ULLONG)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_ullong_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(unsigned long long);
+ mem2 += sizeof(unsigned long long);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ break;
- mem1 += sizeof(unsigned int);
- mem2 += sizeof(unsigned int);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_LONG)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_long_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(long);
- mem2 += sizeof(long);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_ULONG)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_ulong_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(unsigned long);
- mem2 += sizeof(unsigned long);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_LLONG)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_llong_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(long long);
- mem2 += sizeof(long long);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_ULLONG)) {
+ /*-------------------------------------------------------------------------
+ * Other types than float and integer
+ *-------------------------------------------------------------------------
+ */
+ case H5T_COMPOUND:
+ case H5T_STRING:
+ case H5T_BITFIELD:
+ case H5T_OPAQUE:
+ case H5T_ENUM:
+ case H5T_ARRAY:
+ case H5T_VLEN:
+ case H5T_REFERENCE:
+ H5TOOLS_DEBUG("type_class:OTHER");
+ HDmemset(&members, 0, sizeof(mcomp_t));
+ get_member_types(opts->m_tid, &members);
for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_ullong_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(unsigned long long);
- mem2 += sizeof(unsigned long long);
+ H5TOOLS_DEBUG("opts->pos[%ld]:%ld - nelmts:%ld", i, opts->pos[i], opts->hs_nelmts);
+ nfound += diff_datum(mem1 + i * size, mem2 + i * size, i, opts, container1_id, container2_id,
+ &members);
if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- break;
-
- /*-------------------------------------------------------------------------
- * Other types than float and integer
- *-------------------------------------------------------------------------
- */
- case H5T_COMPOUND:
- case H5T_STRING:
- case H5T_BITFIELD:
- case H5T_OPAQUE:
- case H5T_ENUM:
- case H5T_ARRAY:
- case H5T_VLEN:
- case H5T_REFERENCE:
- H5TOOLS_DEBUG("type_class:OTHER");
- HDmemset(&members, 0, sizeof(mcomp_t));
- get_member_types(opts->m_tid, &members);
- for (i = 0; i < opts->hs_nelmts; i++) {
- H5TOOLS_DEBUG("opts->pos[%ld]:%ld - nelmts:%ld", i, opts->pos[i], opts->hs_nelmts);
- nfound += diff_datum(mem1 + i * size, mem2 + i * size, i, opts, container1_id, container2_id, &members);
- if (opts->count_bool && nfound >= opts->count)
- break;
- } /* i */
- close_member_types(&members);
+ break;
+ } /* i */
+ close_member_types(&members);
} /* switch */
H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat);
return nfound;
@@ -447,247 +457,237 @@ diff_array(void *_mem1, void *_mem2, diff_opt_t *opts, hid_t container1_id, hid_
*-------------------------------------------------------------------------
*/
static hsize_t
-diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t container1_id, hid_t container2_id, mcomp_t *members)
+diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t container1_id,
+ hid_t container2_id, mcomp_t *members)
{
- unsigned char *mem1 = (unsigned char*) _mem1;
- unsigned char *mem2 = (unsigned char*) _mem2;
- size_t u;
- size_t type_size;
- H5T_sign_t type_sign;
- H5T_class_t type_class;
- size_t offset;
- unsigned nmembs;
- unsigned j;
- size_t size = 0;
- hbool_t iszero1;
- hbool_t iszero2;
- hsize_t nfound = 0; /* differences found */
- double per;
- hbool_t both_zero;
- diff_err_t ret_value = opts->err_stat;
+ unsigned char *mem1 = (unsigned char *)_mem1;
+ unsigned char *mem2 = (unsigned char *)_mem2;
+ size_t u;
+ size_t type_size;
+ H5T_sign_t type_sign;
+ H5T_class_t type_class;
+ size_t offset;
+ unsigned nmembs;
+ unsigned j;
+ size_t size = 0;
+ hbool_t iszero1;
+ hbool_t iszero2;
+ hsize_t nfound = 0; /* differences found */
+ double per;
+ hbool_t both_zero;
+ diff_err_t ret_value = opts->err_stat;
H5TOOLS_START_DEBUG("ph:%d elemtno:%d - errstat:%d", opts->print_header, elemtno, opts->err_stat);
- type_size = H5Tget_size(opts->m_tid);
+ type_size = H5Tget_size(opts->m_tid);
type_class = H5Tget_class(opts->m_tid);
/* Fast comparison first for atomic type by memcmp().
* It is OK not to list non-atomic type here because it will not be caught
* by the condition, but it gives more clarity for code planning
*/
- if (type_class != H5T_REFERENCE &&
- type_class != H5T_COMPOUND &&
- type_class != H5T_STRING &&
- type_class != H5T_VLEN &&
- HDmemcmp(mem1, mem2, type_size) == 0)
+ if (type_class != H5T_REFERENCE && type_class != H5T_COMPOUND && type_class != H5T_STRING &&
+ type_class != H5T_VLEN && HDmemcmp(mem1, mem2, type_size) == 0)
H5TOOLS_GOTO_DONE(opts->err_stat);
switch (H5Tget_class(opts->m_tid)) {
- case H5T_NO_CLASS:
- case H5T_TIME:
- case H5T_NCLASSES:
- default:
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Invalid type class");
- break;
+ case H5T_NO_CLASS:
+ case H5T_TIME:
+ case H5T_NCLASSES:
+ default:
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Invalid type class");
+ break;
- /*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
- case H5T_COMPOUND:
- H5TOOLS_DEBUG("H5T_COMPOUND");
- {
- diff_opt_t cmpd_opts;
+ /*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+ case H5T_COMPOUND:
+ H5TOOLS_DEBUG("H5T_COMPOUND");
+ {
+ diff_opt_t cmpd_opts;
- cmpd_opts = *opts;
- nmembs = members->n;
+ cmpd_opts = *opts;
+ nmembs = members->n;
- for (j = 0; j < nmembs; j++) {
- offset = members->offsets[j];
- cmpd_opts.m_tid = members->ids[j];
+ for (j = 0; j < nmembs; j++) {
+ offset = members->offsets[j];
+ cmpd_opts.m_tid = members->ids[j];
- nfound += diff_datum(mem1 + offset, mem2 + offset, elemtno, &cmpd_opts, container1_id, container2_id, members->m[j]);
+ nfound += diff_datum(mem1 + offset, mem2 + offset, elemtno, &cmpd_opts, container1_id,
+ container2_id, members->m[j]);
+ }
+ opts->err_stat = opts->err_stat | cmpd_opts.err_stat;
+ opts->print_header = cmpd_opts.print_header;
+ opts->not_cmp = cmpd_opts.not_cmp;
}
- opts->err_stat = opts->err_stat | cmpd_opts.err_stat;
- opts->print_header = cmpd_opts.print_header;
- opts->not_cmp = cmpd_opts.not_cmp;
- }
- break;
+ break;
- /*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
- case H5T_STRING:
- H5TOOLS_DEBUG("H5T_STRING");
- {
- char *s = NULL;
- char *sx = NULL;
- char *s1 = NULL;
- char *s2 = NULL;
- size_t size1;
- size_t size2;
- size_t sizex;
- size_t size_mtype = H5Tget_size(opts->m_tid);
- H5T_str_t pad = H5Tget_strpad(opts->m_tid);
-
- /* if variable length string */
- if (H5Tis_variable_str(opts->m_tid)) {
- H5TOOLS_DEBUG("H5T_STRING variable");
- /* Get pointer to first string */
- s1 = *(char **)((void *)mem1);
- if (s1)
- size1 = HDstrlen(s1);
- else
- size1 = 0;
-
- /* Get pointer to second string */
- s2 = *(char **)((void *)mem2);
- if (s2)
- size2 = HDstrlen(s2);
- else
- size2 = 0;
- }
- else if (H5T_STR_NULLTERM == pad) {
- H5TOOLS_DEBUG("H5T_STRING null term");
- /* Get pointer to first string */
- s1 = (char*) mem1;
- if (s1)
- size1 = HDstrlen(s1);
- else
- size1 = 0;
-
- if (size1 > size_mtype)
- size1 = size_mtype;
+ /*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+ case H5T_STRING:
+ H5TOOLS_DEBUG("H5T_STRING");
+ {
+ char * s = NULL;
+ char * sx = NULL;
+ char * s1 = NULL;
+ char * s2 = NULL;
+ size_t size1;
+ size_t size2;
+ size_t sizex;
+ size_t size_mtype = H5Tget_size(opts->m_tid);
+ H5T_str_t pad = H5Tget_strpad(opts->m_tid);
+
+ /* if variable length string */
+ if (H5Tis_variable_str(opts->m_tid)) {
+ H5TOOLS_DEBUG("H5T_STRING variable");
+ /* Get pointer to first string */
+ s1 = *(char **)((void *)mem1);
+ if (s1)
+ size1 = HDstrlen(s1);
+ else
+ size1 = 0;
+
+ /* Get pointer to second string */
+ s2 = *(char **)((void *)mem2);
+ if (s2)
+ size2 = HDstrlen(s2);
+ else
+ size2 = 0;
+ }
+ else if (H5T_STR_NULLTERM == pad) {
+ H5TOOLS_DEBUG("H5T_STRING null term");
+ /* Get pointer to first string */
+ s1 = (char *)mem1;
+ if (s1)
+ size1 = HDstrlen(s1);
+ else
+ size1 = 0;
+
+ if (size1 > size_mtype)
+ size1 = size_mtype;
- /* Get pointer to second string */
- s2 = (char*) mem2;
- if (s2)
- size2 = HDstrlen(s2);
- else
- size2 = 0;
+ /* Get pointer to second string */
+ s2 = (char *)mem2;
+ if (s2)
+ size2 = HDstrlen(s2);
+ else
+ size2 = 0;
+
+ if (size2 > size_mtype)
+ size2 = size_mtype;
+ }
+ else {
+ /* Get pointer to first string */
+ s1 = (char *)mem1;
+ size1 = size_mtype;
- if (size2 > size_mtype)
+ /* Get pointer to second string */
+ s2 = (char *)mem2;
size2 = size_mtype;
- }
- else {
- /* Get pointer to first string */
- s1 = (char *) mem1;
- size1 = size_mtype;
+ }
- /* Get pointer to second string */
- s2 = (char *) mem2;
- size2 = size_mtype;
- }
+ /*
+ * compare for shorter string
+ * TODO: this code need to be improved to handle the difference
+ * of length of strings.
+ * For now mimic the previous way.
+ */
+ H5TOOLS_DEBUG("string size:%d", size1);
+ H5TOOLS_DEBUG("string size:%d", size2);
+ if (size1 != size2) {
+ H5TOOLS_DEBUG("string sizes difference");
+ nfound++;
+ }
+ if (size1 < size2) {
+ size = size1;
+ s = s1;
+ sizex = size2;
+ sx = s2;
+ }
+ else {
+ size = size2;
+ s = s2;
+ sizex = size1;
+ sx = s1;
+ }
- /*
- * compare for shorter string
- * TODO: this code need to be improved to handle the difference
- * of length of strings.
- * For now mimic the previous way.
- */
- H5TOOLS_DEBUG("string size:%d", size1);
- H5TOOLS_DEBUG("string size:%d", size2);
- if (size1 != size2) {
- H5TOOLS_DEBUG("string sizes difference");
- nfound++;
- }
- if (size1 < size2) {
- size = size1;
- s = s1;
- sizex = size2;
- sx = s2;
+ /* check for NULL pointer for string */
+ if (s != NULL) {
+ /* try fast compare first */
+ if ((HDmemcmp(s, sx, size) == 0) && (size1 != size2)) {
+ for (u = size; u < sizex; u++)
+ character_compare(s + u, sx + u, elemtno, u, opts);
+ }
+ else
+ for (u = 0; u < size; u++)
+ nfound += character_compare(s + u, sx + u, elemtno, u, opts);
+ } /* end check for NULL pointer for string */
}
- else {
- size = size2;
- s = s2;
- sizex = size1;
- sx = s1;
- }
-
- /* check for NULL pointer for string */
- if (s != NULL) {
- /* try fast compare first */
- if ((HDmemcmp(s, sx, size) == 0) && (size1 != size2)) {
- for (u = size; u < sizex; u++)
- character_compare(s + u, sx + u, elemtno, u, opts);
- }
- else
- for (u = 0; u < size; u++)
- nfound += character_compare(s + u, sx + u, elemtno, u, opts);
- } /* end check for NULL pointer for string */
- }
- break;
+ break;
- /*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
- case H5T_BITFIELD:
- H5TOOLS_DEBUG("H5T_BITFIELD");
- /* byte-by-byte comparison */
- for (u = 0; u < type_size; u++)
- nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
- break;
+ /*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+ case H5T_BITFIELD:
+ H5TOOLS_DEBUG("H5T_BITFIELD");
+ /* byte-by-byte comparison */
+ for (u = 0; u < type_size; u++)
+ nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
+ break;
- /*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
- case H5T_OPAQUE:
- H5TOOLS_DEBUG("H5T_OPAQUE");
- /* byte-by-byte comparison */
- for (u = 0; u < type_size; u++)
- nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
- break;
+ /*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+ case H5T_OPAQUE:
+ H5TOOLS_DEBUG("H5T_OPAQUE");
+ /* byte-by-byte comparison */
+ for (u = 0; u < type_size; u++)
+ nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
+ break;
- /*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
- case H5T_ENUM:
- /* For enumeration types we compare the names instead of the
- * integer values. For each pair of elements being
- * compared, we convert both bit patterns to their corresponding
- * enumeration constant and do a string comparison
+ /*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
*/
- H5TOOLS_DEBUG("H5T_ENUM");
- {
- char enum_name1[1024];
- char enum_name2[1024];
- herr_t err1;
- herr_t err2;
-
- /* disable error reporting */
- H5E_BEGIN_TRY {
- /* If the enum value cannot be converted to a string
- * it is set to an error string for later output.
- */
- err1 = H5Tenum_nameof(opts->m_tid, mem1, enum_name1, sizeof enum_name1);
- if (err1 < 0)
- HDsnprintf(enum_name1, sizeof(enum_name1), "**INVALID VALUE**");
-
- err2 = H5Tenum_nameof(opts->m_tid, mem2, enum_name2, sizeof enum_name2);
- if (err2 < 0)
- HDsnprintf(enum_name2, sizeof(enum_name2), "**INVALID VALUE**");
-
- /* One or more bad enum values */
- if (err1 < 0 || err2 < 0) {
- /* If the two values cannot be converted to a string
- * (probably due to them being invalid enum values),
- * don't attempt to convert them - just report errors.
+ case H5T_ENUM:
+ /* For enumeration types we compare the names instead of the
+ * integer values. For each pair of elements being
+ * compared, we convert both bit patterns to their corresponding
+ * enumeration constant and do a string comparison
+ */
+ H5TOOLS_DEBUG("H5T_ENUM");
+ {
+ char enum_name1[1024];
+ char enum_name2[1024];
+ herr_t err1;
+ herr_t err2;
+
+ /* disable error reporting */
+ H5E_BEGIN_TRY
+ {
+ /* If the enum value cannot be converted to a string
+ * it is set to an error string for later output.
*/
- nfound += 1;
- opts->print_percentage = 0;
- print_pos(opts, elemtno, 0);
- if (print_data(opts)) {
- parallel_print(S_FORMAT, enum_name1, enum_name2);
- }
- }
- else {
- /* Both enum values were valid */
- if (HDstrcmp(enum_name1, enum_name2) != 0) {
- nfound = 1;
+ err1 = H5Tenum_nameof(opts->m_tid, mem1, enum_name1, sizeof enum_name1);
+ if (err1 < 0)
+ HDsnprintf(enum_name1, sizeof(enum_name1), "**INVALID VALUE**");
+
+ err2 = H5Tenum_nameof(opts->m_tid, mem2, enum_name2, sizeof enum_name2);
+ if (err2 < 0)
+ HDsnprintf(enum_name2, sizeof(enum_name2), "**INVALID VALUE**");
+
+ /* One or more bad enum values */
+ if (err1 < 0 || err2 < 0) {
+ /* If the two values cannot be converted to a string
+ * (probably due to them being invalid enum values),
+ * don't attempt to convert them - just report errors.
+ */
+ nfound += 1;
opts->print_percentage = 0;
print_pos(opts, elemtno, 0);
if (print_data(opts)) {
@@ -695,306 +695,349 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co
}
}
else {
- for (u = 0; u < type_size; u++)
- nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
+ /* Both enum values were valid */
+ if (HDstrcmp(enum_name1, enum_name2) != 0) {
+ nfound = 1;
+ opts->print_percentage = 0;
+ print_pos(opts, elemtno, 0);
+ if (print_data(opts)) {
+ parallel_print(S_FORMAT, enum_name1, enum_name2);
+ }
+ }
+ else {
+ for (u = 0; u < type_size; u++)
+ nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
+ }
}
+ /* enable error reporting */
}
- /* enable error reporting */
- } H5E_END_TRY;
- }
- break;
+ H5E_END_TRY;
+ }
+ break;
- /*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
- case H5T_ARRAY:
- {
- hsize_t adims[H5S_MAX_RANK];
- int ndims;
+ /*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+ case H5T_ARRAY: {
+ hsize_t adims[H5S_MAX_RANK];
+ int ndims;
diff_opt_t arr_opts;
H5TOOLS_DEBUG("H5T_ARRAY ph=%d", opts->print_header);
arr_opts = *opts;
- H5TOOLS_DEBUG("Check opts: hs_nelmts:%ld to %ld rank:%d to %ld", opts->hs_nelmts, arr_opts.hs_nelmts, opts->rank, arr_opts.rank);
+ H5TOOLS_DEBUG("Check opts: hs_nelmts:%ld to %ld rank:%d to %ld", opts->hs_nelmts,
+ arr_opts.hs_nelmts, opts->rank, arr_opts.rank);
/* get the array's base datatype for each element */
arr_opts.m_tid = H5Tget_super(opts->m_tid);
- size = H5Tget_size(arr_opts.m_tid);
- ndims = H5Tget_array_ndims(opts->m_tid);
+ size = H5Tget_size(arr_opts.m_tid);
+ ndims = H5Tget_array_ndims(opts->m_tid);
H5Tget_array_dims2(opts->m_tid, adims);
HDassert(ndims >= 1 && ndims <= H5S_MAX_RANK);
H5TOOLS_DEBUG("attr ph=%d", arr_opts.print_header);
/* calculate the number of array elements */
- for (u = 0, arr_opts.hs_nelmts = 1; u < (unsigned) ndims; u++)
+ for (u = 0, arr_opts.hs_nelmts = 1; u < (unsigned)ndims; u++)
arr_opts.hs_nelmts *= adims[u];
for (u = 0; u < arr_opts.hs_nelmts; u++) {
- nfound += diff_datum(mem1 + u * size, mem2 + u * size, elemtno, &arr_opts, container1_id, container2_id, members);
+ nfound += diff_datum(mem1 + u * size, mem2 + u * size, elemtno, &arr_opts, container1_id,
+ container2_id, members);
}
- opts->err_stat = opts->err_stat | arr_opts.err_stat;
+ opts->err_stat = opts->err_stat | arr_opts.err_stat;
opts->print_header = arr_opts.print_header;
- opts->not_cmp = arr_opts.not_cmp;
+ opts->not_cmp = arr_opts.not_cmp;
H5Tclose(arr_opts.m_tid);
- }
- break;
+ } break;
- /*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- case H5T_REFERENCE:
- H5TOOLS_DEBUG("H5T_REFERENCE");
- iszero1 = all_zero(_mem1, H5Tget_size(opts->m_tid));
- iszero2 = all_zero(_mem2, H5Tget_size(opts->m_tid));
- if (iszero1 != iszero2) {
- nfound++;
- H5TOOLS_GOTO_DONE(opts->err_stat);
- }
- else if (!iszero1 && !iszero2) {
- hid_t obj1_id = H5I_INVALID_HID;
- hid_t obj2_id = H5I_INVALID_HID;
- diff_opt_t ref_opts;
+ /*-------------------------------------------------------------------------
+ * H5T_REFERENCE
+ *-------------------------------------------------------------------------
+ */
+ case H5T_REFERENCE:
+ H5TOOLS_DEBUG("H5T_REFERENCE");
+ iszero1 = all_zero(_mem1, H5Tget_size(opts->m_tid));
+ iszero2 = all_zero(_mem2, H5Tget_size(opts->m_tid));
+ if (iszero1 != iszero2) {
+ nfound++;
+ H5TOOLS_GOTO_DONE(opts->err_stat);
+ }
+ else if (!iszero1 && !iszero2) {
+ hid_t obj1_id = H5I_INVALID_HID;
+ hid_t obj2_id = H5I_INVALID_HID;
+ diff_opt_t ref_opts;
- /*-------------------------------------------------------------------------
- * H5T_STD_REF
- * Reference
- *-------------------------------------------------------------------------
- */
- ref_opts = *opts;
- ref_opts.obj_name[0] = NULL;
- ref_opts.obj_name[1] = NULL;
- if (H5Tequal(ref_opts.m_tid, H5T_STD_REF)) {
- /* if (type_size == H5R_STD_REF_SIZE) */
- hid_t region1_id = H5I_INVALID_HID;
- hid_t region2_id = H5I_INVALID_HID;
- H5R_ref_t *ref1_buf = (H5R_ref_t *)_mem1;
- H5R_ref_t *ref2_buf = (H5R_ref_t *)_mem2;
- H5O_type_t obj1_type = -1; /* Object type */
- H5O_type_t obj2_type = -1; /* Object type */
- H5R_type_t ref_type; /* Reference type */
-
- H5TOOLS_DEBUG("H5T_REFERENCE - H5T_STD_REF");
- ref_type = H5Rget_type(ref1_buf);
- switch (ref_type) {
- case H5R_OBJECT1:
- H5TOOLS_DEBUG("ref_type is H5R_OBJECT1");
- if (H5Rget_obj_type3(ref1_buf, H5P_DEFAULT, &obj1_type) >= 0) {
- if (H5Rget_obj_type3(ref2_buf, H5P_DEFAULT, &obj2_type) >= 0) {
- /* check object type */
- if (obj1_type == obj2_type) {
- switch (obj1_type) {
- case H5O_TYPE_DATASET:
- if((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- nfound = diff_datasetid(obj1_id, obj2_id, opts->obj_name[0], opts->obj_name[1], &ref_opts);
- if(H5Dclose(obj2_id) < 0) {
+ /*-------------------------------------------------------------------------
+ * H5T_STD_REF
+ * Reference
+ *-------------------------------------------------------------------------
+ */
+ ref_opts = *opts;
+ ref_opts.obj_name[0] = NULL;
+ ref_opts.obj_name[1] = NULL;
+ if (H5Tequal(ref_opts.m_tid, H5T_STD_REF)) {
+ /* if (type_size == H5R_STD_REF_SIZE) */
+ hid_t region1_id = H5I_INVALID_HID;
+ hid_t region2_id = H5I_INVALID_HID;
+ H5R_ref_t *ref1_buf = (H5R_ref_t *)_mem1;
+ H5R_ref_t *ref2_buf = (H5R_ref_t *)_mem2;
+ H5O_type_t obj1_type = -1; /* Object type */
+ H5O_type_t obj2_type = -1; /* Object type */
+ H5R_type_t ref_type; /* Reference type */
+
+ H5TOOLS_DEBUG("H5T_REFERENCE - H5T_STD_REF");
+ ref_type = H5Rget_type(ref1_buf);
+ switch (ref_type) {
+ case H5R_OBJECT1:
+ H5TOOLS_DEBUG("ref_type is H5R_OBJECT1");
+ if (H5Rget_obj_type3(ref1_buf, H5P_DEFAULT, &obj1_type) >= 0) {
+ if (H5Rget_obj_type3(ref2_buf, H5P_DEFAULT, &obj2_type) >= 0) {
+ /* check object type */
+ if (obj1_type == obj2_type) {
+ switch (obj1_type) {
+ case H5O_TYPE_DATASET:
+ if ((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT,
+ H5P_DEFAULT)) >= 0) {
+ if ((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT,
+ H5P_DEFAULT)) >= 0) {
+ nfound = diff_datasetid(obj1_id, obj2_id,
+ opts->obj_name[0],
+ opts->obj_name[1], &ref_opts);
+ if (H5Dclose(obj2_id) < 0) {
+ ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Dclose H5R_OBJECT1 failed");
+ }
+ }
+ else {
+ ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Ropen_object object 2 failed");
+ }
+ if (H5Dclose(obj1_id) < 0) {
ref_opts.err_stat = H5DIFF_ERR;
H5TOOLS_INFO("H5Dclose H5R_OBJECT1 failed");
}
}
else {
ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Ropen_object object 2 failed");
- }
- if(H5Dclose(obj1_id) < 0) {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Dclose H5R_OBJECT1 failed");
+ H5TOOLS_INFO("H5Ropen_object object 1 failed");
}
- }
- else {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Ropen_object object 1 failed");
- }
- break;
-
- case H5O_TYPE_GROUP:
- case H5O_TYPE_NAMED_DATATYPE:
- case H5O_TYPE_MAP:
- case H5O_TYPE_UNKNOWN:
- case H5O_TYPE_NTYPES:
- default:
- if (ref_opts.mode_verbose)
- parallel_print("Warning: Comparison not possible of object types referenced: <%s> and <%s>\n", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
- break;
- } /* end switch */
+ break;
+
+ case H5O_TYPE_GROUP:
+ case H5O_TYPE_NAMED_DATATYPE:
+ case H5O_TYPE_MAP:
+ case H5O_TYPE_UNKNOWN:
+ case H5O_TYPE_NTYPES:
+ default:
+ if (ref_opts.mode_verbose)
+ parallel_print("Warning: Comparison not possible of "
+ "object types referenced: <%s> and <%s>\n",
+ opts->obj_name[0], opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
+ break;
+ } /* end switch */
+ }
+ else {
+ parallel_print("Different object types referenced: <%s> and <%s>",
+ opts->obj_name[0], opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
+ ref_opts.err_stat = H5DIFF_ERR;
+ }
}
else {
- parallel_print("Different object types referenced: <%s> and <%s>", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Rget_obj_type3 object 2 failed");
}
}
else {
ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Rget_obj_type3 object 2 failed");
+ H5TOOLS_INFO("H5Rget_obj_type3 object 1 failed");
}
- }
- else {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Rget_obj_type3 object 1 failed");
- }
- break;
- case H5R_DATASET_REGION1:
- H5TOOLS_DEBUG("ref_type is H5R_DATASET_REGION1");
- if((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((region1_id = H5Ropen_region(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((region2_id = H5Ropen_region(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- nfound = diff_region(obj1_id, obj2_id, region1_id, region2_id, &ref_opts);
- if(H5Sclose(region2_id) < 0)
+ break;
+ case H5R_DATASET_REGION1:
+ H5TOOLS_DEBUG("ref_type is H5R_DATASET_REGION1");
+ if ((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((region1_id = H5Ropen_region(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >=
+ 0) {
+ if ((region2_id =
+ H5Ropen_region(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ nfound = diff_region(obj1_id, obj2_id, region1_id, region2_id,
+ &ref_opts);
+ if (H5Sclose(region2_id) < 0)
+ H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION1 failed");
+ }
+ if (H5Sclose(region1_id) < 0)
H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION1 failed");
}
- if(H5Sclose(region1_id) < 0)
- H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION1 failed");
+ if (H5Dclose(obj2_id) < 0)
+ H5TOOLS_INFO("H5Oclose H5R_DATASET_REGION1 failed");
}
- if(H5Dclose(obj2_id) < 0)
+ else {
+ H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION1 failed");
+ }
+ if (H5Dclose(obj1_id) < 0)
H5TOOLS_INFO("H5Oclose H5R_DATASET_REGION1 failed");
}
else {
H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION1 failed");
}
- if(H5Dclose(obj1_id) < 0)
- H5TOOLS_INFO("H5Oclose H5R_DATASET_REGION1 failed");
- }
- else {
- H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION1 failed");
- }
- break;
- case H5R_OBJECT2:
- H5TOOLS_DEBUG("ref_type is H5R_OBJECT2");
- if (H5Rget_obj_type3(ref1_buf, H5P_DEFAULT, &obj1_type) >= 0) {
- if (H5Rget_obj_type3(ref2_buf, H5P_DEFAULT, &obj2_type) >= 0) {
- /* check object type */
- if (obj1_type == obj2_type) {
- if((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- switch (obj1_type) {
- case H5O_TYPE_DATASET:
- H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : DATASET");
- nfound = diff_datasetid(obj1_id, obj2_id, opts->obj_name[0], opts->obj_name[1], &ref_opts);
- break;
-
- case H5O_TYPE_GROUP:
- H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : GROUP");
- if (ref_opts.mode_verbose)
- parallel_print("Warning: Comparison not possible of group object types referenced: <%s> and <%s>\n", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
- break;
-
- case H5O_TYPE_NAMED_DATATYPE:
- H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : NAMED");
- if (ref_opts.mode_verbose)
- parallel_print("Warning: Comparison not possible of named datatypes object types referenced: <%s> and <%s>\n", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
- break;
-
- case H5O_TYPE_MAP:
- case H5O_TYPE_UNKNOWN:
- case H5O_TYPE_NTYPES:
- default:
- if (ref_opts.mode_verbose)
- parallel_print("Warning: Comparison not possible of object types referenced: <%s> and <%s>\n", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
- break;
- } /* end switch */
- if(H5Oclose(obj2_id) < 0) {
+ break;
+ case H5R_OBJECT2:
+ H5TOOLS_DEBUG("ref_type is H5R_OBJECT2");
+ if (H5Rget_obj_type3(ref1_buf, H5P_DEFAULT, &obj1_type) >= 0) {
+ if (H5Rget_obj_type3(ref2_buf, H5P_DEFAULT, &obj2_type) >= 0) {
+ /* check object type */
+ if (obj1_type == obj2_type) {
+ if ((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >=
+ 0) {
+ if ((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT,
+ H5P_DEFAULT)) >= 0) {
+ switch (obj1_type) {
+ case H5O_TYPE_DATASET:
+ H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : DATASET");
+ nfound = diff_datasetid(obj1_id, obj2_id,
+ opts->obj_name[0],
+ opts->obj_name[1], &ref_opts);
+ break;
+
+ case H5O_TYPE_GROUP:
+ H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : GROUP");
+ if (ref_opts.mode_verbose)
+ parallel_print(
+ "Warning: Comparison not possible of group "
+ "object types referenced: <%s> and <%s>\n",
+ opts->obj_name[0], opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
+ break;
+
+ case H5O_TYPE_NAMED_DATATYPE:
+ H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : NAMED");
+ if (ref_opts.mode_verbose)
+ parallel_print("Warning: Comparison not possible "
+ "of named datatypes object types "
+ "referenced: <%s> and <%s>\n",
+ opts->obj_name[0],
+ opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
+ break;
+
+ case H5O_TYPE_MAP:
+ case H5O_TYPE_UNKNOWN:
+ case H5O_TYPE_NTYPES:
+ default:
+ if (ref_opts.mode_verbose)
+ parallel_print(
+ "Warning: Comparison not possible of object "
+ "types referenced: <%s> and <%s>\n",
+ opts->obj_name[0], opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
+ break;
+ } /* end switch */
+ if (H5Oclose(obj2_id) < 0) {
+ ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Oclose H5R_OBJECT2 failed");
+ }
+ }
+ else {
+ ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Ropen_object object 2 failed");
+ }
+ if (H5Oclose(obj1_id) < 0) {
ref_opts.err_stat = H5DIFF_ERR;
H5TOOLS_INFO("H5Oclose H5R_OBJECT2 failed");
}
}
else {
ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Ropen_object object 2 failed");
- }
- if(H5Oclose(obj1_id) < 0) {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Oclose H5R_OBJECT2 failed");
+ H5TOOLS_INFO("H5Ropen_object object 1 failed");
}
}
else {
+ parallel_print("Different object types referenced: <%s> and <%s>",
+ opts->obj_name[0], opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Ropen_object object 1 failed");
}
}
else {
- parallel_print("Different object types referenced: <%s> and <%s>", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Rget_obj_type3 object 2 failed");
}
}
else {
ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Rget_obj_type3 object 2 failed");
+ H5TOOLS_INFO("H5Rget_obj_type3 object 1 failed");
}
- }
- else {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Rget_obj_type3 object 1 failed");
- }
- break;
- case H5R_DATASET_REGION2:
- H5TOOLS_DEBUG("ref_type is H5R_DATASET_REGION2");
-
- /* if (obj_id < 0) - could mean that no reference was written do not throw failure */
- if((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
- H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION2 object 1 failed");
- }
- else {
- if((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- H5TOOLS_DEBUG("open_region - H5R_DATASET_REGION2");
- if((region1_id = H5Ropen_region(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if (h5tools_is_zero(ref1_buf, H5Tget_size(H5T_STD_REF))) {
- H5TOOLS_DEBUG("NULL H5R_DATASET_REGION2");
- }
- else {
- if((region2_id = H5Ropen_region(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if (h5tools_is_zero(ref2_buf, H5Tget_size(H5T_STD_REF))) {
- H5TOOLS_DEBUG("NULL H5R_DATASET_REGION2");
- }
- else {
- nfound = diff_region(obj1_id, obj2_id, region1_id, region2_id, &ref_opts);
- }
- if(H5Sclose(region2_id) < 0)
- H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION2 failed");
+ break;
+ case H5R_DATASET_REGION2:
+ H5TOOLS_DEBUG("ref_type is H5R_DATASET_REGION2");
+
+ /* if (obj_id < 0) - could mean that no reference was written do not throw failure
+ */
+ if ((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
+ H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION2 object 1 failed");
+ }
+ else {
+ if ((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ H5TOOLS_DEBUG("open_region - H5R_DATASET_REGION2");
+ if ((region1_id = H5Ropen_region(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >=
+ 0) {
+ if (h5tools_is_zero(ref1_buf, H5Tget_size(H5T_STD_REF))) {
+ H5TOOLS_DEBUG("NULL H5R_DATASET_REGION2");
}
- else
- H5TOOLS_INFO("H5Ropen_region H5R_DATASET_REGION2 failed");
- } /* end else to if (h5tools_is_zero(... */
- if(H5Sclose(region1_id) < 0)
- H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION2 failed");
+ else {
+ if ((region2_id = H5Ropen_region(ref2_buf, H5P_DEFAULT,
+ H5P_DEFAULT)) >= 0) {
+ if (h5tools_is_zero(ref2_buf, H5Tget_size(H5T_STD_REF))) {
+ H5TOOLS_DEBUG("NULL H5R_DATASET_REGION2");
+ }
+ else {
+ nfound = diff_region(obj1_id, obj2_id, region1_id,
+ region2_id, &ref_opts);
+ }
+ if (H5Sclose(region2_id) < 0)
+ H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION2 failed");
+ }
+ else
+ H5TOOLS_INFO("H5Ropen_region H5R_DATASET_REGION2 failed");
+ } /* end else to if (h5tools_is_zero(... */
+ if (H5Sclose(region1_id) < 0)
+ H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION2 failed");
+ }
+ else
+ H5TOOLS_ERROR(H5DIFF_ERR,
+ "H5Ropen_region H5R_DATASET_REGION2 failed");
+ if (H5Dclose(obj2_id) < 0) {
+ ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Dclose H5R_DATASET_REGION2 failed");
+ }
+ }
+ else {
+ H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION2 object 2 failed");
}
- else
- H5TOOLS_ERROR(H5DIFF_ERR, "H5Ropen_region H5R_DATASET_REGION2 failed");
- if(H5Dclose(obj2_id) < 0) {
+ if (H5Dclose(obj1_id) < 0) {
ref_opts.err_stat = H5DIFF_ERR;
H5TOOLS_INFO("H5Dclose H5R_DATASET_REGION2 failed");
}
}
- else {
- H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION2 object 2 failed");
- }
- if(H5Dclose(obj1_id) < 0) {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Dclose H5R_DATASET_REGION2 failed");
- }
- }
- break;
- case H5R_ATTR:
- {
- char name1[ATTR_NAME_MAX];
- char name2[ATTR_NAME_MAX];
+ break;
+ case H5R_ATTR: {
+ char name1[ATTR_NAME_MAX];
+ char name2[ATTR_NAME_MAX];
H5TOOLS_DEBUG("ref_type is H5R_ATTR");
- if((obj1_id = H5Ropen_attr(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((obj2_id = H5Ropen_attr(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((obj1_id = H5Ropen_attr(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((obj2_id = H5Ropen_attr(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
/* get name */
- if(H5Aget_name(obj1_id, (size_t)ATTR_NAME_MAX, name1) >= 0) {
+ if (H5Aget_name(obj1_id, (size_t)ATTR_NAME_MAX, name1) >= 0) {
/* get name */
- if(H5Aget_name(obj2_id, (size_t)ATTR_NAME_MAX, name2) >= 0) {
- H5TOOLS_DEBUG("H5R_ATTR diff_attr_data - name1=%s, name2=%s", name1, name2);
- nfound = diff_attr_data(obj1_id, obj2_id, name1, name2, opts->obj_name[0], opts->obj_name[1], &ref_opts);
+ if (H5Aget_name(obj2_id, (size_t)ATTR_NAME_MAX, name2) >= 0) {
+ H5TOOLS_DEBUG("H5R_ATTR diff_attr_data - name1=%s, name2=%s",
+ name1, name2);
+ nfound = diff_attr_data(obj1_id, obj2_id, name1, name2,
+ opts->obj_name[0], opts->obj_name[1],
+ &ref_opts);
}
else {
ref_opts.err_stat = H5DIFF_ERR;
@@ -1006,7 +1049,7 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co
H5TOOLS_INFO("H5Aget_name first attribute failed");
}
- if(H5Aclose(obj2_id) < 0) {
+ if (H5Aclose(obj2_id) < 0) {
ref_opts.err_stat = H5DIFF_ERR;
H5TOOLS_INFO("H5Aclose H5R_ATTR failed");
}
@@ -1015,7 +1058,7 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co
parallel_print("Warning: Cannot open referenced attribute2\n");
H5TOOLS_INFO("H5Ropen_attr object 2 failed");
}
- if(H5Aclose(obj1_id) < 0) {
+ if (H5Aclose(obj1_id) < 0) {
H5TOOLS_INFO("H5Aclose H5R_ATTR failed");
}
}
@@ -1023,51 +1066,50 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co
parallel_print("Warning: Cannot open referenced attribute1\n");
H5TOOLS_INFO("H5Ropen_attr object 1 failed");
}
- }
- break;
- case H5R_BADTYPE:
- case H5R_MAXTYPE:
- default:
- break;
- } /* end switch */
- if(H5Rdestroy(ref2_buf) < 0)
- H5TOOLS_INFO("H5Rdestroy H5R_OBJECT1 failed");
- if(H5Rdestroy(ref1_buf) < 0)
- H5TOOLS_INFO("H5Rdestroy H5R_OBJECT1 failed");
- H5TOOLS_DEBUG("H5T_REFERENCE - H5T_STD_REF complete nfound:%d - errstat:%d", nfound, ref_opts.err_stat);
- }
- /*-------------------------------------------------------------------------
- * H5T_STD_REF_DSETREG
- * Dataset region reference
- *-------------------------------------------------------------------------
- */
- else if (H5Tequal(ref_opts.m_tid, H5T_STD_REF_DSETREG)) {
- /* if (type_size == H5R_DSET_REG_REF_BUF_SIZE) */
- H5TOOLS_DEBUG("H5T_STD_REF_DSETREG");
- }/*dataset reference*/
-
- /*-------------------------------------------------------------------------
- * H5T_STD_REF_OBJ
- * Object references. get the type and OID of the referenced object
- *-------------------------------------------------------------------------
- */
- else if (H5Tequal(ref_opts.m_tid, H5T_STD_REF_OBJ)) {
- /* if (type_size == H5R_OBJ_REF_BUF_SIZE) */
- H5TOOLS_DEBUG("H5T_STD_REF_OBJ");
- }/*object reference*/
- opts->print_header = ref_opts.print_header;
- opts->not_cmp = ref_opts.not_cmp;
- opts->err_stat = ref_opts.err_stat | ret_value;
- }/*is zero*/
- H5TOOLS_DEBUG("H5T_REFERENCE complete");
- break;
+ } break;
+ case H5R_BADTYPE:
+ case H5R_MAXTYPE:
+ default:
+ break;
+ } /* end switch */
+ if (H5Rdestroy(ref2_buf) < 0)
+ H5TOOLS_INFO("H5Rdestroy H5R_OBJECT1 failed");
+ if (H5Rdestroy(ref1_buf) < 0)
+ H5TOOLS_INFO("H5Rdestroy H5R_OBJECT1 failed");
+ H5TOOLS_DEBUG("H5T_REFERENCE - H5T_STD_REF complete nfound:%d - errstat:%d", nfound,
+ ref_opts.err_stat);
+ }
+ /*-------------------------------------------------------------------------
+ * H5T_STD_REF_DSETREG
+ * Dataset region reference
+ *-------------------------------------------------------------------------
+ */
+ else if (H5Tequal(ref_opts.m_tid, H5T_STD_REF_DSETREG)) {
+ /* if (type_size == H5R_DSET_REG_REF_BUF_SIZE) */
+ H5TOOLS_DEBUG("H5T_STD_REF_DSETREG");
+ } /*dataset reference*/
+
+ /*-------------------------------------------------------------------------
+ * H5T_STD_REF_OBJ
+ * Object references. get the type and OID of the referenced object
+ *-------------------------------------------------------------------------
+ */
+ else if (H5Tequal(ref_opts.m_tid, H5T_STD_REF_OBJ)) {
+ /* if (type_size == H5R_OBJ_REF_BUF_SIZE) */
+ H5TOOLS_DEBUG("H5T_STD_REF_OBJ");
+ } /*object reference*/
+ opts->print_header = ref_opts.print_header;
+ opts->not_cmp = ref_opts.not_cmp;
+ opts->err_stat = ref_opts.err_stat | ret_value;
+ } /*is zero*/
+ H5TOOLS_DEBUG("H5T_REFERENCE complete");
+ break;
- /*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
- case H5T_VLEN:
- {
+ /*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+ case H5T_VLEN: {
diff_opt_t vl_opts;
H5TOOLS_DEBUG("H5T_VLEN");
@@ -1075,169 +1117,171 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co
vl_opts = *opts;
/* get the VL sequences's base datatype for each element */
vl_opts.m_tid = H5Tget_super(opts->m_tid);
- size = H5Tget_size(vl_opts.m_tid);
+ size = H5Tget_size(vl_opts.m_tid);
/* get the number of sequence elements */
vl_opts.hs_nelmts = ((hvl_t *)((void *)mem1))->len;
for (j = 0; j < vl_opts.hs_nelmts; j++)
- nfound += diff_datum(((char *) (((hvl_t *)((void *)mem1))->p)) + j * size, ((char *) (((hvl_t *)((void *)mem2))->p)) + j * size, elemtno, /* Extra (void *) cast to quiet "cast to create alignment" warning - 2019/07/05, QAK */
- &vl_opts, container1_id, container2_id, members);
+ nfound += diff_datum(((char *)(((hvl_t *)((void *)mem1))->p)) + j * size,
+ ((char *)(((hvl_t *)((void *)mem2))->p)) + j * size,
+ elemtno, /* Extra (void *) cast to quiet "cast to create alignment"
+ warning - 2019/07/05, QAK */
+ &vl_opts, container1_id, container2_id, members);
opts->print_header = vl_opts.print_header;
- opts->not_cmp = vl_opts.not_cmp;
- opts->err_stat = opts->err_stat | vl_opts.err_stat;
+ opts->not_cmp = vl_opts.not_cmp;
+ opts->err_stat = opts->err_stat | vl_opts.err_stat;
H5Tclose(vl_opts.m_tid);
- }
- break;
+ } break;
- /*-------------------------------------------------------------------------
- * H5T_INTEGER
- *-------------------------------------------------------------------------
- */
- case H5T_INTEGER:
- H5TOOLS_DEBUG("H5T_INTEGER");
- type_sign = H5Tget_sign(opts->m_tid);
/*-------------------------------------------------------------------------
- * H5T_NATIVE_SCHAR
+ * H5T_INTEGER
*-------------------------------------------------------------------------
*/
- if (type_size == 1 && type_sign != H5T_SGN_NONE) {
- if(type_size != sizeof(char))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not char size");
- nfound += diff_schar_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_SCHAR*/
+ case H5T_INTEGER:
+ H5TOOLS_DEBUG("H5T_INTEGER");
+ type_sign = H5Tget_sign(opts->m_tid);
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_SCHAR
+ *-------------------------------------------------------------------------
+ */
+ if (type_size == 1 && type_sign != H5T_SGN_NONE) {
+ if (type_size != sizeof(char))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not char size");
+ nfound += diff_schar_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_SCHAR*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_UCHAR
- *-------------------------------------------------------------------------
- */
- else if (type_size == 1 && type_sign == H5T_SGN_NONE) {
- if(type_size != sizeof(unsigned char))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned char size");
- nfound += diff_uchar_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_UCHAR*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_UCHAR
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 1 && type_sign == H5T_SGN_NONE) {
+ if (type_size != sizeof(unsigned char))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned char size");
+ nfound += diff_uchar_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_UCHAR*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_SHORT
- *-------------------------------------------------------------------------
- */
- else if (type_size == 2 && type_sign != H5T_SGN_NONE) {
- if(type_size != sizeof(short))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not short size");
- nfound += diff_short_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_SHORT*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_SHORT
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 2 && type_sign != H5T_SGN_NONE) {
+ if (type_size != sizeof(short))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not short size");
+ nfound += diff_short_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_SHORT*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_USHORT
- *-------------------------------------------------------------------------
- */
- else if (type_size == 2 && type_sign == H5T_SGN_NONE) {
- if(type_size != sizeof(unsigned short))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned short size");
- nfound += diff_ushort_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_USHORT*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_USHORT
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 2 && type_sign == H5T_SGN_NONE) {
+ if (type_size != sizeof(unsigned short))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned short size");
+ nfound += diff_ushort_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_USHORT*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_INT
- *-------------------------------------------------------------------------
- */
- else if (type_size == 4 && type_sign != H5T_SGN_NONE) {
- if(type_size != sizeof(int))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not int size");
- nfound += diff_int_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_INT*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_INT
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 4 && type_sign != H5T_SGN_NONE) {
+ if (type_size != sizeof(int))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not int size");
+ nfound += diff_int_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_INT*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_UINT
- *-------------------------------------------------------------------------
- */
- else if (type_size == 4 && type_sign == H5T_SGN_NONE) {
- if(type_size != sizeof(unsigned int))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned int size");
- nfound += diff_uint_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_UINT*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_UINT
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 4 && type_sign == H5T_SGN_NONE) {
+ if (type_size != sizeof(unsigned int))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned int size");
+ nfound += diff_uint_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_UINT*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_LONG
- *-------------------------------------------------------------------------
- */
- else if (type_size == 8 && type_sign != H5T_SGN_NONE) {
- if(type_size != sizeof(long))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long size");
- nfound += diff_long_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_LONG*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_LONG
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 8 && type_sign != H5T_SGN_NONE) {
+ if (type_size != sizeof(long))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long size");
+ nfound += diff_long_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_LONG*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_ULONG
- *-------------------------------------------------------------------------
- */
- else if (type_size == 8 && type_sign == H5T_SGN_NONE) {
- if(type_size != sizeof(unsigned long))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned long size");
- nfound += diff_ulong_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_ULONG*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_ULONG
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 8 && type_sign == H5T_SGN_NONE) {
+ if (type_size != sizeof(unsigned long))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned long size");
+ nfound += diff_ulong_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_ULONG*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_LLONG
- *-------------------------------------------------------------------------
- */
- else if (type_size == 16 && type_sign != H5T_SGN_NONE) {
- if(type_size != sizeof(long long))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long long size");
- nfound += diff_llong_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_LLONG*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_LLONG
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 16 && type_sign != H5T_SGN_NONE) {
+ if (type_size != sizeof(long long))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long long size");
+ nfound += diff_llong_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_LLONG*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_ULLONG
- *-------------------------------------------------------------------------
- */
- else if (type_size == 16 && type_sign == H5T_SGN_NONE) {
- if(type_size != sizeof(unsigned long long))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned long long size");
- nfound += diff_ullong_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_ULLONG*/
- break; /* H5T_INTEGER class */
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_ULLONG
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 16 && type_sign == H5T_SGN_NONE) {
+ if (type_size != sizeof(unsigned long long))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned long long size");
+ nfound += diff_ullong_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_ULLONG*/
+ break; /* H5T_INTEGER class */
- /*-------------------------------------------------------------------------
- * H5T_FLOAT
- *-------------------------------------------------------------------------
- */
- case H5T_FLOAT:
/*-------------------------------------------------------------------------
- * H5T_NATIVE_FLOAT
+ * H5T_FLOAT
*-------------------------------------------------------------------------
*/
- H5TOOLS_DEBUG("H5T_FLOAT");
- if (type_size == 4) {
- if(type_size != sizeof(float))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not float size");
- nfound += diff_float_element(mem1, mem2, elemtno, opts);
- }
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_DOUBLE
- *-------------------------------------------------------------------------
- */
- else if (type_size == 8) {
- if(type_size != sizeof(double))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not double size");
- nfound += diff_double_element(mem1, mem2, elemtno, opts);
- }
+ case H5T_FLOAT:
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_FLOAT
+ *-------------------------------------------------------------------------
+ */
+ H5TOOLS_DEBUG("H5T_FLOAT");
+ if (type_size == 4) {
+ if (type_size != sizeof(float))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not float size");
+ nfound += diff_float_element(mem1, mem2, elemtno, opts);
+ }
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_DOUBLE
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 8) {
+ if (type_size != sizeof(double))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not double size");
+ nfound += diff_double_element(mem1, mem2, elemtno, opts);
+ }
#if H5_SIZEOF_LONG_DOUBLE != H5_SIZEOF_DOUBLE
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_LDOUBLE
- *-------------------------------------------------------------------------
- */
- else if (type_size == H5_SIZEOF_LONG_DOUBLE) {
- if(type_size != sizeof(long double)) {
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long double size");
- }
- nfound += diff_ldouble_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_LDOUBLE*/
-#endif /* H5_SIZEOF_LONG_DOUBLE */
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_LDOUBLE
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == H5_SIZEOF_LONG_DOUBLE) {
+ if (type_size != sizeof(long double)) {
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long double size");
+ }
+ nfound += diff_ldouble_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_LDOUBLE*/
+#endif /* H5_SIZEOF_LONG_DOUBLE */
- break; /* H5T_FLOAT class */
+ break; /* H5T_FLOAT class */
} /* switch */
@@ -1257,8 +1301,10 @@ done:
*-------------------------------------------------------------------------
*/
-static hbool_t all_zero(const void *_mem, size_t size) {
- const unsigned char *mem = (const unsigned char *) _mem;
+static hbool_t
+all_zero(const void *_mem, size_t size)
+{
+ const unsigned char *mem = (const unsigned char *)_mem;
while (size-- > 0)
if (mem[size])
@@ -1276,17 +1322,17 @@ static hbool_t all_zero(const void *_mem, size_t size) {
*-------------------------------------------------------------------------
*/
-static
-void print_region_block(int i, hsize_t *ptdata, int ndims) {
+static void
+print_region_block(int i, hsize_t *ptdata, int ndims)
+{
int j;
parallel_print(" ");
for (j = 0; j < ndims; j++)
- parallel_print("%s%lu", j ? "," : " (", (unsigned long) ptdata[i * 2 * ndims + j]);
+ parallel_print("%s%lu", j ? "," : " (", (unsigned long)ptdata[i * 2 * ndims + j]);
for (j = 0; j < ndims; j++)
- parallel_print("%s%lu", j ? "," : ")-(", (unsigned long) ptdata[i * 2 * ndims + j + ndims]);
+ parallel_print("%s%lu", j ? "," : ")-(", (unsigned long)ptdata[i * 2 * ndims + j + ndims]);
parallel_print(")");
-
}
/*-------------------------------------------------------------------------
@@ -1298,15 +1344,15 @@ void print_region_block(int i, hsize_t *ptdata, int ndims) {
*-------------------------------------------------------------------------
*/
-static
-void print_points(int i, hsize_t *ptdata, int ndims) {
+static void
+print_points(int i, hsize_t *ptdata, int ndims)
+{
int j;
parallel_print(" ");
for (j = 0; j < ndims; j++)
- parallel_print("%s%lu", j ? "," : "(", (unsigned long) (ptdata[i * ndims + j]));
+ parallel_print("%s%lu", j ? "," : "(", (unsigned long)(ptdata[i * ndims + j]));
parallel_print(")");
-
}
/*-------------------------------------------------------------------------
@@ -1318,7 +1364,8 @@ void print_points(int i, hsize_t *ptdata, int ndims) {
*-------------------------------------------------------------------------
*/
-static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t region2_id, diff_opt_t *opts)
+static hsize_t
+diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t region2_id, diff_opt_t *opts)
{
hssize_t nblocks1, npoints1;
@@ -1329,8 +1376,8 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
int ndims1;
int ndims2;
int i, j;
- hsize_t nfound_b = 0; /* block differences found */
- hsize_t nfound_p = 0; /* point differences found */
+ hsize_t nfound_b = 0; /* block differences found */
+ hsize_t nfound_p = 0; /* point differences found */
hsize_t ret_value = 0;
H5TOOLS_START_DEBUG("");
@@ -1343,13 +1390,15 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
* respectively. They do not currently know how to translate from one to
* the other.
*/
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
nblocks1 = H5Sget_select_hyper_nblocks(region1_id);
nblocks2 = H5Sget_select_hyper_nblocks(region2_id);
npoints1 = H5Sget_select_elem_npoints(region1_id);
npoints2 = H5Sget_select_elem_npoints(region2_id);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
H5TOOLS_DEBUG("blocks: 1=%ld-2=%ld", nblocks1, nblocks2);
H5TOOLS_DEBUG("points: 1=%ld-2=%ld", npoints1, npoints2);
@@ -1365,24 +1414,24 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
if (nblocks1 > 0) {
H5TOOLS_DEBUG("region compare blocks");
HDassert(ndims1 > 0);
- alloc_size = (hsize_t) nblocks1 * (unsigned) ndims1 * 2 * sizeof(ptdata1[0]);
- HDassert(alloc_size == (hsize_t)((size_t )alloc_size)); /*check for overflow*/
+ alloc_size = (hsize_t)nblocks1 * (unsigned)ndims1 * 2 * sizeof(ptdata1[0]);
+ HDassert(alloc_size == (hsize_t)((size_t)alloc_size)); /*check for overflow*/
- if((ptdata1 = (hsize_t *) HDmalloc((size_t )alloc_size)) == NULL) {
+ if ((ptdata1 = (hsize_t *)HDmalloc((size_t)alloc_size)) == NULL) {
opts->err_stat = H5DIFF_ERR;
H5TOOLS_INFO("Buffer allocation failed");
}
else {
H5_CHECK_OVERFLOW(nblocks1, hssize_t, hsize_t);
- H5Sget_select_hyper_blocklist(region1_id, (hsize_t) 0, (hsize_t) nblocks1, ptdata1);
+ H5Sget_select_hyper_blocklist(region1_id, (hsize_t)0, (hsize_t)nblocks1, ptdata1);
- if((ptdata2 = (hsize_t *) HDmalloc((size_t )alloc_size)) == NULL) {
+ if ((ptdata2 = (hsize_t *)HDmalloc((size_t)alloc_size)) == NULL) {
opts->err_stat = H5DIFF_ERR;
H5TOOLS_INFO("Buffer allocation failed");
}
else {
H5_CHECK_OVERFLOW(nblocks2, hssize_t, hsize_t);
- H5Sget_select_hyper_blocklist(region2_id, (hsize_t) 0, (hsize_t) nblocks2, ptdata2);
+ H5Sget_select_hyper_blocklist(region2_id, (hsize_t)0, (hsize_t)nblocks2, ptdata2);
for (i = 0; i < nblocks1; i++) {
/* start coordinates and opposite corner */
@@ -1391,8 +1440,8 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
start1 = ptdata1[i * 2 * ndims1 + j];
start2 = ptdata2[i * 2 * ndims1 + j];
- end1 = ptdata1[i * 2 * ndims1 + j + ndims1];
- end2 = ptdata2[i * 2 * ndims1 + j + ndims1];
+ end1 = ptdata1[i * 2 * ndims1 + j + ndims1];
+ end2 = ptdata2[i * 2 * ndims1 + j + ndims1];
if (start1 != start2 || end1 != end2)
nfound_b++;
}
@@ -1401,7 +1450,7 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
/* print differences if found */
if (nfound_b && opts->mode_verbose) {
H5O_info2_t oi1, oi2;
- char *obj1_str = NULL, *obj2_str = NULL;
+ char * obj1_str = NULL, *obj2_str = NULL;
H5Oget_info3(obj1_id, &oi1, H5O_INFO_BASIC);
H5Oget_info3(obj2_id, &oi2, H5O_INFO_BASIC);
@@ -1411,7 +1460,7 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
H5Otoken_to_str(obj2_id, &oi2.token, &obj2_str);
parallel_print("Referenced dataset %s %s\n", obj1_str, obj2_str);
- parallel_print( "------------------------------------------------------------\n");
+ parallel_print("------------------------------------------------------------\n");
H5free_memory(obj1_str);
H5free_memory(obj2_str);
@@ -1437,24 +1486,24 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
*/
if (npoints1 > 0) {
H5TOOLS_DEBUG("region compare points");
- alloc_size = (hsize_t) npoints1 * (unsigned) ndims1 * sizeof(ptdata1[0]);
- HDassert(alloc_size == (hsize_t)((size_t )alloc_size)); /*check for overflow*/
+ alloc_size = (hsize_t)npoints1 * (unsigned)ndims1 * sizeof(ptdata1[0]);
+ HDassert(alloc_size == (hsize_t)((size_t)alloc_size)); /*check for overflow*/
- if((ptdata1 = (hsize_t *) HDmalloc((size_t )alloc_size)) == NULL) {
+ if ((ptdata1 = (hsize_t *)HDmalloc((size_t)alloc_size)) == NULL) {
opts->err_stat = H5DIFF_ERR;
H5TOOLS_INFO("Buffer allocation failed");
}
else {
H5_CHECK_OVERFLOW(npoints1, hssize_t, hsize_t);
- H5Sget_select_elem_pointlist(region1_id, (hsize_t) 0, (hsize_t) npoints1, ptdata1);
+ H5Sget_select_elem_pointlist(region1_id, (hsize_t)0, (hsize_t)npoints1, ptdata1);
- if((ptdata2 = (hsize_t *) HDmalloc((size_t )alloc_size)) == NULL) {
+ if ((ptdata2 = (hsize_t *)HDmalloc((size_t)alloc_size)) == NULL) {
opts->err_stat = H5DIFF_ERR;
H5TOOLS_INFO("Buffer allocation failed");
}
else {
H5_CHECK_OVERFLOW(npoints1, hssize_t, hsize_t);
- H5Sget_select_elem_pointlist(region2_id, (hsize_t) 0, (hsize_t) npoints2, ptdata2);
+ H5Sget_select_elem_pointlist(region2_id, (hsize_t)0, (hsize_t)npoints2, ptdata2);
for (i = 0; i < npoints1; i++) {
hsize_t pt1, pt2;
@@ -1471,7 +1520,7 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
parallel_print("Region points\n");
for (i = 0; i < npoints1; i++) {
hsize_t pt1, pt2;
- int diff_data = 0;
+ int diff_data = 0;
for (j = 0; j < ndims1; j++) {
pt1 = ptdata1[i * ndims1 + j];
@@ -1492,9 +1541,9 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
HDfree(ptdata2);
} /* else ptdata2 */
-#if defined (H5DIFF_DEBUG)
+#if defined(H5DIFF_DEBUG)
for (i = 0; i < npoints1; i++) {
- parallel_print("%sPt%lu: " , i ? "," : "", (unsigned long)i);
+ parallel_print("%sPt%lu: ", i ? "," : "", (unsigned long)i);
for (j = 0; j < ndims1; j++)
parallel_print("%s%lu", j ? "," : "(", (unsigned long)(ptdata1[i * ndims1 + j]));
@@ -1508,8 +1557,8 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
} /* else ptdata1 */
}
- nfound_b = nfound_b / (unsigned) ndims1;
- nfound_p = nfound_p / (unsigned) ndims1;
+ nfound_b = nfound_b / (unsigned)ndims1;
+ nfound_p = nfound_p / (unsigned)ndims1;
ret_value = nfound_p + nfound_b;
@@ -1527,7 +1576,8 @@ done:
*-------------------------------------------------------------------------
*/
-static hsize_t character_compare(char *mem1, char *mem2, hsize_t elemtno, size_t u, diff_opt_t *opts)
+static hsize_t
+character_compare(char *mem1, char *mem2, hsize_t elemtno, size_t u, diff_opt_t *opts)
{
hsize_t nfound = 0; /* differences found */
char temp1_uchar;
@@ -1540,7 +1590,7 @@ static hsize_t character_compare(char *mem1, char *mem2, hsize_t elemtno, size_t
if (temp1_uchar != temp2_uchar) {
if (print_data(opts)) {
opts->print_percentage = 0;
- opts->print_dims = 1;
+ opts->print_dims = 1;
print_pos(opts, elemtno, u);
parallel_print(" ");
h5diff_print_char(temp1_uchar);
@@ -1563,7 +1613,8 @@ static hsize_t character_compare(char *mem1, char *mem2, hsize_t elemtno, size_t
*-------------------------------------------------------------------------
*/
-static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, hsize_t elemtno, diff_opt_t *opts)
+static hsize_t
+character_compare_opt(unsigned char *mem1, unsigned char *mem2, hsize_t elemtno, diff_opt_t *opts)
{
hsize_t nfound = 0; /* differences found */
unsigned char temp1_uchar;
@@ -1578,7 +1629,7 @@ static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, h
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (PDIFF(temp1_uchar,temp2_uchar) > opts->delta) {
+ if (PDIFF(temp1_uchar, temp2_uchar) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elemtno, 0);
if (print_data(opts)) {
@@ -1602,7 +1653,7 @@ static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, h
/* -d and -p */
else if (opts->delta_bool && opts->percent_bool) {
PER_UNSIGN(signed char, temp1_uchar, temp2_uchar);
- if (per > opts->percent && PDIFF(temp1_uchar,temp2_uchar) > opts->delta) {
+ if (per > opts->percent && PDIFF(temp1_uchar, temp2_uchar) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elemtno, 0);
if (print_data(opts)) {
@@ -1630,18 +1681,19 @@ static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, h
* Purpose: diff a single H5T_NATIVE_FLOAT type
*
* Return: number of differences found
-*
+ *
*-------------------------------------------------------------------------
*/
-static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_float_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
float temp1_float;
float temp2_float;
double per;
hbool_t both_zero = FALSE;
- hbool_t isnan1 = FALSE;
- hbool_t isnan2 = FALSE;
+ hbool_t isnan1 = FALSE;
+ hbool_t isnan2 = FALSE;
H5TOOLS_START_DEBUG("delta_bool:%d - percent_bool:%d", opts->delta_bool, opts->percent_bool);
@@ -1666,11 +1718,12 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
/* both not NaN, do the comparison */
if (!isnan1 && !isnan2) {
- if ((double) ABS(temp1_float - temp2_float) > opts->delta) {
+ if ((double)ABS(temp1_float - temp2_float) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
@@ -1680,15 +1733,16 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
}
/*-------------------------------------------------------------------------
- * !-d and -p
- *-------------------------------------------------------------------------
- */
+ * !-d and -p
+ *-------------------------------------------------------------------------
+ */
else if (!opts->delta_bool && opts->percent_bool) {
/*-------------------------------------------------------------------------
* detect NaNs
@@ -1706,7 +1760,8 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P_NOTCOMP, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT_P_NOTCOMP, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
@@ -1714,8 +1769,9 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P, (double) temp1_float, (double) temp2_float,
- (double) ABS(temp1_float - temp2_float), (double) ABS(1 - temp2_float / temp1_float));
+ parallel_print(F_FORMAT_P, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float),
+ (double)ABS(1 - temp2_float / temp1_float));
}
nfound++;
}
@@ -1725,15 +1781,16 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
}
/*-------------------------------------------------------------------------
- * -d and -p
- *-------------------------------------------------------------------------
- */
+ * -d and -p
+ *-------------------------------------------------------------------------
+ */
else if (opts->delta_bool && opts->percent_bool) {
/*-------------------------------------------------------------------------
* detect NaNs
@@ -1752,16 +1809,18 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P_NOTCOMP, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT_P_NOTCOMP, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
- else if (per > opts->percent && (double) ABS(temp1_float - temp2_float) > opts->delta) {
+ else if (per > opts->percent && (double)ABS(temp1_float - temp2_float) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P, (double) temp1_float, (double) temp2_float,
- (double) ABS(temp1_float - temp2_float), (double) ABS(1 - temp2_float / temp1_float));
+ parallel_print(F_FORMAT_P, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float),
+ (double)ABS(1 - temp2_float / temp1_float));
}
nfound++;
}
@@ -1771,21 +1830,23 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
}
/*-------------------------------------------------------------------------
- * no -d and -p
- *-------------------------------------------------------------------------
- */
+ * no -d and -p
+ *-------------------------------------------------------------------------
+ */
else {
if (equal_float(temp1_float, temp2_float, opts) == FALSE) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
@@ -1803,15 +1864,16 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_double_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
double temp1_double;
double temp2_double;
double per;
hbool_t both_zero = FALSE;
- hbool_t isnan1 = FALSE;
- hbool_t isnan2 = FALSE;
+ hbool_t isnan1 = FALSE;
+ hbool_t isnan2 = FALSE;
H5TOOLS_START_DEBUG("delta_bool:%d - percent_bool:%d", opts->delta_bool, opts->percent_bool);
@@ -1819,14 +1881,14 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
HDmemcpy(&temp2_double, mem2, sizeof(double));
/*-------------------------------------------------------------------------
- * -d and !-p
- *-------------------------------------------------------------------------
- */
+ * -d and !-p
+ *-------------------------------------------------------------------------
+ */
if (opts->delta_bool && !opts->percent_bool) {
/*-------------------------------------------------------------------------
- * detect NaNs
- *-------------------------------------------------------------------------
- */
+ * detect NaNs
+ *-------------------------------------------------------------------------
+ */
if (opts->do_nans) {
isnan1 = HDisnan(temp1_double);
isnan2 = HDisnan(temp2_double);
@@ -1834,7 +1896,7 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
/* both not NaN, do the comparison */
if (!isnan1 && !isnan2) {
- if (ABS(temp1_double-temp2_double) > opts->delta) {
+ if (ABS(temp1_double - temp2_double) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -1855,14 +1917,14 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
}
/*-------------------------------------------------------------------------
- * !-d and -p
- *-------------------------------------------------------------------------
- */
+ * !-d and -p
+ *-------------------------------------------------------------------------
+ */
else if (!opts->delta_bool && opts->percent_bool) {
/*-------------------------------------------------------------------------
- * detect NaNs
- *-------------------------------------------------------------------------
- */
+ * detect NaNs
+ *-------------------------------------------------------------------------
+ */
if (opts->do_nans) {
isnan1 = HDisnan(temp1_double);
isnan2 = HDisnan(temp2_double);
@@ -1875,7 +1937,8 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P_NOTCOMP, temp1_double, temp2_double, ABS(temp1_double - temp2_double));
+ parallel_print(F_FORMAT_P_NOTCOMP, temp1_double, temp2_double,
+ ABS(temp1_double - temp2_double));
}
nfound++;
}
@@ -1883,8 +1946,8 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P, temp1_double, temp2_double,
- ABS(temp1_double - temp2_double), ABS(1 - temp2_double / temp1_double));
+ parallel_print(F_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double),
+ ABS(1 - temp2_double / temp1_double));
}
nfound++;
}
@@ -1900,14 +1963,14 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
}
}
/*-------------------------------------------------------------------------
- * -d and -p
- *-------------------------------------------------------------------------
- */
+ * -d and -p
+ *-------------------------------------------------------------------------
+ */
else if (opts->delta_bool && opts->percent_bool) {
/*-------------------------------------------------------------------------
- * detect NaNs
- *-------------------------------------------------------------------------
- */
+ * detect NaNs
+ *-------------------------------------------------------------------------
+ */
if (opts->do_nans) {
isnan1 = HDisnan(temp1_double);
isnan2 = HDisnan(temp2_double);
@@ -1917,20 +1980,21 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
if (!isnan1 && !isnan2) {
PER(temp1_double, temp2_double);
- if (not_comparable && !both_zero) {
+ if (not_comparable && !both_zero) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P_NOTCOMP, temp1_double, temp2_double, ABS(temp1_double - temp2_double));
+ parallel_print(F_FORMAT_P_NOTCOMP, temp1_double, temp2_double,
+ ABS(temp1_double - temp2_double));
}
nfound++;
}
- else if (per > opts->percent && ABS(temp1_double-temp2_double) > opts->delta) {
+ else if (per > opts->percent && ABS(temp1_double - temp2_double) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P, temp1_double, temp2_double,
- ABS(temp1_double - temp2_double), ABS(1 - temp2_double / temp1_double));
+ parallel_print(F_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double),
+ ABS(1 - temp2_double / temp1_double));
}
nfound++;
}
@@ -1946,9 +2010,9 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
}
}
/*-------------------------------------------------------------------------
- * no -d and -p
- *-------------------------------------------------------------------------
- */
+ * no -d and -p
+ *-------------------------------------------------------------------------
+ */
else {
if (equal_double(temp1_double, temp2_double, opts) == FALSE) {
opts->print_percentage = 0;
@@ -1972,17 +2036,18 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-#if H5_SIZEOF_LONG_DOUBLE !=0
+#if H5_SIZEOF_LONG_DOUBLE != 0
-static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
long double temp1_double;
long double temp2_double;
double per;
hbool_t both_zero = FALSE;
- hbool_t isnan1 = FALSE;
- hbool_t isnan2 = FALSE;
+ hbool_t isnan1 = FALSE;
+ hbool_t isnan2 = FALSE;
H5TOOLS_START_DEBUG("delta_bool:%d - percent_bool:%d", opts->delta_bool, opts->percent_bool);
@@ -2007,7 +2072,7 @@ static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hs
/* both not NaN, do the comparison */
if (!isnan1 && !isnan2) {
- if (ABS(temp1_double-temp2_double) > opts->delta) {
+ if (ABS(temp1_double - temp2_double) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2042,13 +2107,14 @@ static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hs
/* both not NaN, do the comparison */
if (!isnan1 && !isnan2) {
- PER(temp1_double,temp2_double);
+ PER(temp1_double, temp2_double);
if (not_comparable && !both_zero) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LD_FORMAT_P_NOTCOMP, temp1_double, temp2_double, ABS(temp1_double - temp2_double));
+ parallel_print(LD_FORMAT_P_NOTCOMP, temp1_double, temp2_double,
+ ABS(temp1_double - temp2_double));
}
nfound++;
}
@@ -2056,7 +2122,8 @@ static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hs
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LD_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double), ABS(1 - temp2_double / temp1_double));
+ parallel_print(LD_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double),
+ ABS(1 - temp2_double / temp1_double));
}
nfound++;
}
@@ -2087,21 +2154,23 @@ static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hs
/* both not NaN, do the comparison */
if (!isnan1 && !isnan2) {
- PER(temp1_double,temp2_double);
+ PER(temp1_double, temp2_double);
if (not_comparable && !both_zero) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LD_FORMAT_P_NOTCOMP, temp1_double, temp2_double, ABS(temp1_double - temp2_double));
+ parallel_print(LD_FORMAT_P_NOTCOMP, temp1_double, temp2_double,
+ ABS(temp1_double - temp2_double));
}
nfound++;
}
- else if (per > opts->percent && ABS(temp1_double-temp2_double) > opts->delta) {
+ else if (per > opts->percent && ABS(temp1_double - temp2_double) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LD_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double), ABS(1 - temp2_double / temp1_double));
+ parallel_print(LD_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double),
+ ABS(1 - temp2_double / temp1_double));
}
nfound++;
}
@@ -2143,7 +2212,8 @@ static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hs
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
char temp1_char;
@@ -2157,7 +2227,7 @@ static hsize_t diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsiz
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (ABS(temp1_char-temp2_char) > opts->delta) {
+ if (ABS(temp1_char - temp2_char) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2230,7 +2300,8 @@ static hsize_t diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_uchar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_uchar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
unsigned char temp1_uchar;
@@ -2317,7 +2388,8 @@ static hsize_t diff_uchar_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_short_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_short_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
short temp1_short;
@@ -2404,7 +2476,8 @@ static hsize_t diff_short_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
unsigned short temp1_ushort;
@@ -2435,7 +2508,8 @@ static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(I_FORMAT_P_NOTCOMP, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort));
+ parallel_print(I_FORMAT_P_NOTCOMP, temp1_ushort, temp2_ushort,
+ PDIFF(temp1_ushort, temp2_ushort));
}
nfound++;
}
@@ -2443,7 +2517,8 @@ static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(I_FORMAT_P, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort), per);
+ parallel_print(I_FORMAT_P, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort),
+ per);
}
nfound++;
}
@@ -2456,7 +2531,8 @@ static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(I_FORMAT_P_NOTCOMP, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort));
+ parallel_print(I_FORMAT_P_NOTCOMP, temp1_ushort, temp2_ushort,
+ PDIFF(temp1_ushort, temp2_ushort));
}
nfound++;
}
@@ -2464,7 +2540,8 @@ static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(I_FORMAT_P, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort), per);
+ parallel_print(I_FORMAT_P, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort),
+ per);
}
nfound++;
}
@@ -2489,9 +2566,10 @@ static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsi
* Purpose: diff a single H5T_NATIVE_INT type
*
* Return: number of differences found
- *-------------------------------------------------------------------------
+ *-------------------------------------------------------------------------
*/
-static hsize_t diff_int_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_int_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
int temp1_int;
@@ -2505,7 +2583,7 @@ static hsize_t diff_int_element(unsigned char *mem1, unsigned char *mem2, hsize_
HDmemcpy(&temp2_int, mem2, sizeof(int));
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (ABS(temp1_int-temp2_int) > opts->delta) {
+ if (ABS(temp1_int - temp2_int) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2578,13 +2656,14 @@ static hsize_t diff_int_element(unsigned char *mem1, unsigned char *mem2, hsize_
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
- hsize_t nfound = 0; /* number of differences found */
+ hsize_t nfound = 0; /* number of differences found */
unsigned int temp1_uint;
unsigned int temp2_uint;
- double per;
- hbool_t both_zero = FALSE;
+ double per;
+ hbool_t both_zero = FALSE;
H5TOOLS_START_DEBUG("delta_bool:%d - percent_bool:%d", opts->delta_bool, opts->percent_bool);
@@ -2634,7 +2713,7 @@ static hsize_t diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize
}
nfound++;
}
- else if (per > opts->percent && PDIFF(temp1_uint,temp2_uint) > opts->delta) {
+ else if (per > opts->percent && PDIFF(temp1_uint, temp2_uint) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2665,12 +2744,13 @@ static hsize_t diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
- long temp1_long;
- long temp2_long;
- double per;
+ long temp1_long;
+ long temp2_long;
+ double per;
hbool_t both_zero = FALSE;
H5TOOLS_START_DEBUG("delta_bool:%d - percent_bool:%d", opts->delta_bool, opts->percent_bool);
@@ -2679,7 +2759,7 @@ static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize
HDmemcpy(&temp2_long, mem2, sizeof(long));
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (ABS(temp1_long-temp2_long) > opts->delta) {
+ if (ABS(temp1_long - temp2_long) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2721,7 +2801,7 @@ static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize
}
nfound++;
}
- else if (per > opts->percent && ABS(temp1_long-temp2_long) > opts->delta) {
+ else if (per > opts->percent && ABS(temp1_long - temp2_long) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2752,7 +2832,8 @@ static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
unsigned long temp1_ulong;
@@ -2783,7 +2864,8 @@ static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULI_FORMAT_P_NOTCOMP, temp1_ulong, temp2_ulong, PDIFF(temp1_ulong, temp2_ulong));
+ parallel_print(ULI_FORMAT_P_NOTCOMP, temp1_ulong, temp2_ulong,
+ PDIFF(temp1_ulong, temp2_ulong));
}
nfound++;
}
@@ -2804,11 +2886,12 @@ static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULI_FORMAT_P_NOTCOMP, temp1_ulong, temp2_ulong, PDIFF(temp1_ulong, temp2_ulong));
+ parallel_print(ULI_FORMAT_P_NOTCOMP, temp1_ulong, temp2_ulong,
+ PDIFF(temp1_ulong, temp2_ulong));
}
nfound++;
}
- else if (per > opts->percent && PDIFF(temp1_ulong,temp2_ulong) > opts->delta) {
+ else if (per > opts->percent && PDIFF(temp1_ulong, temp2_ulong) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2839,7 +2922,8 @@ static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
long long temp1_llong;
@@ -2854,7 +2938,7 @@ static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsiz
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (ABS( temp1_llong-temp2_llong) > opts->delta) {
+ if (ABS(temp1_llong - temp2_llong) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2871,7 +2955,8 @@ static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LLI_FORMAT_P_NOTCOMP, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong));
+ parallel_print(LLI_FORMAT_P_NOTCOMP, temp1_llong, temp2_llong,
+ ABS(temp1_llong - temp2_llong));
}
nfound++;
}
@@ -2879,7 +2964,7 @@ static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LLI_FORMAT_P, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong),per);
+ parallel_print(LLI_FORMAT_P, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong), per);
}
nfound++;
}
@@ -2892,15 +2977,16 @@ static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LLI_FORMAT_P_NOTCOMP, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong));
+ parallel_print(LLI_FORMAT_P_NOTCOMP, temp1_llong, temp2_llong,
+ ABS(temp1_llong - temp2_llong));
}
nfound++;
}
- else if (per > opts->percent && ABS(temp1_llong-temp2_llong) > opts->delta) {
+ else if (per > opts->percent && ABS(temp1_llong - temp2_llong) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LLI_FORMAT_P, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong),per);
+ parallel_print(LLI_FORMAT_P, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong), per);
}
nfound++;
}
@@ -2929,7 +3015,8 @@ static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
unsigned long long temp1_ullong;
@@ -2945,7 +3032,7 @@ static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsi
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (PDIFF(temp1_ullong,temp2_ullong) > (unsigned long long) opts->delta) {
+ if (PDIFF(temp1_ullong, temp2_ullong) > (unsigned long long)opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2964,7 +3051,8 @@ static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULLI_FORMAT_P_NOTCOMP, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong, temp2_ullong));
+ parallel_print(ULLI_FORMAT_P_NOTCOMP, temp1_ullong, temp2_ullong,
+ PDIFF(temp1_ullong, temp2_ullong));
}
nfound++;
}
@@ -2972,7 +3060,8 @@ static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULLI_FORMAT_P, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong,temp2_ullong), per);
+ parallel_print(ULLI_FORMAT_P, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong, temp2_ullong),
+ per);
}
nfound++;
}
@@ -2987,15 +3076,17 @@ static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULLI_FORMAT_P_NOTCOMP, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong, temp2_ullong));
+ parallel_print(ULLI_FORMAT_P_NOTCOMP, temp1_ullong, temp2_ullong,
+ PDIFF(temp1_ullong, temp2_ullong));
}
nfound++;
}
- else if (per > opts->percent && PDIFF(temp1_ullong,temp2_ullong) > (unsigned long long) opts->delta) {
+ else if (per > opts->percent && PDIFF(temp1_ullong, temp2_ullong) > (unsigned long long)opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULLI_FORMAT_P, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong, temp2_ullong), per);
+ parallel_print(ULLI_FORMAT_P, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong, temp2_ullong),
+ per);
}
nfound++;
}
@@ -3021,11 +3112,11 @@ static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsi
* Purpose: convert unsigned long long to float
*-------------------------------------------------------------------------
*/
-static
-int ull2float(unsigned long long ull_value, float *f_value)
+static int
+ull2float(unsigned long long ull_value, float *f_value)
{
hid_t dxpl_id = H5I_INVALID_HID;
- unsigned char *buf = NULL;
+ unsigned char *buf = NULL;
size_t src_size;
size_t dst_size;
int ret_value = 0;
@@ -3036,21 +3127,20 @@ int ull2float(unsigned long long ull_value, float *f_value)
src_size = H5Tget_size(H5T_NATIVE_ULLONG);
dst_size = H5Tget_size(H5T_NATIVE_FLOAT);
- if((buf = (unsigned char*) HDcalloc((size_t )1, MAX(src_size, dst_size))) == NULL)
+ if ((buf = (unsigned char *)HDcalloc((size_t)1, MAX(src_size, dst_size))) == NULL)
H5TOOLS_GOTO_ERROR(FAIL, "Could not allocate buffer for dims");
HDmemcpy(buf, &ull_value, src_size);
/* do conversion */
- if (H5Tconvert(H5T_NATIVE_ULLONG, H5T_NATIVE_FLOAT, (size_t) 1, buf, NULL, dxpl_id) < 0)
+ if (H5Tconvert(H5T_NATIVE_ULLONG, H5T_NATIVE_FLOAT, (size_t)1, buf, NULL, dxpl_id) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Tconvert failed");
HDmemcpy(f_value, buf, dst_size);
done:
- H5E_BEGIN_TRY {
- H5Pclose(dxpl_id);
- } H5E_END_TRY;
+ H5E_BEGIN_TRY { H5Pclose(dxpl_id); }
+ H5E_END_TRY;
if (buf)
HDfree(buf);
@@ -3065,26 +3155,28 @@ done:
* Purpose: use a absolute error formula to deal with floating point uncertainty
*-------------------------------------------------------------------------
*/
-static hbool_t equal_double(double value, double expected, diff_opt_t *opts) {
+static hbool_t
+equal_double(double value, double expected, diff_opt_t *opts)
+{
if (opts->do_nans) {
/*-------------------------------------------------------------------------
- * detect NaNs
- *-------------------------------------------------------------------------
- */
+ * detect NaNs
+ *-------------------------------------------------------------------------
+ */
hbool_t isnan1 = HDisnan(value);
hbool_t isnan2 = HDisnan(expected);
/*-------------------------------------------------------------------------
- * we consider NaN == NaN to be true
- *-------------------------------------------------------------------------
- */
+ * we consider NaN == NaN to be true
+ *-------------------------------------------------------------------------
+ */
if (isnan1 && isnan2)
return TRUE;
/*-------------------------------------------------------------------------
- * one is a NaN, do not compare but assume difference
- *-------------------------------------------------------------------------
- */
+ * one is a NaN, do not compare but assume difference
+ *-------------------------------------------------------------------------
+ */
if ((isnan1 && !isnan2) || (!isnan1 && isnan2))
return FALSE;
}
@@ -3110,9 +3202,9 @@ static hbool_t equal_double(double value, double expected, diff_opt_t *opts) {
*-------------------------------------------------------------------------
*/
-#if H5_SIZEOF_LONG_DOUBLE !=0
-static
-hbool_t equal_ldouble(long double value, long double expected, diff_opt_t *opts)
+#if H5_SIZEOF_LONG_DOUBLE != 0
+static hbool_t
+equal_ldouble(long double value, long double expected, diff_opt_t *opts)
{
if (opts->do_nans) {
/*-------------------------------------------------------------------------
@@ -3159,12 +3251,14 @@ hbool_t equal_ldouble(long double value, long double expected, diff_opt_t *opts)
* Purpose: use a absolute error formula to deal with floating point uncertainty
*-------------------------------------------------------------------------
*/
-static hbool_t equal_float(float value, float expected, diff_opt_t *opts) {
+static hbool_t
+equal_float(float value, float expected, diff_opt_t *opts)
+{
if (opts->do_nans) {
/*-------------------------------------------------------------------------
- * detect NaNs
- *-------------------------------------------------------------------------
- */
+ * detect NaNs
+ *-------------------------------------------------------------------------
+ */
hbool_t isnan1 = HDisnan(value);
hbool_t isnan2 = HDisnan(expected);
@@ -3197,7 +3291,6 @@ static hbool_t equal_float(float value, float expected, diff_opt_t *opts) {
return FALSE;
}
-
/*-------------------------------------------------------------------------
*
* Local functions
@@ -3211,8 +3304,8 @@ static hbool_t equal_float(float value, float expected, diff_opt_t *opts) {
* Purpose: print data only in report or verbose modes, and do not print in quiet mode
*-------------------------------------------------------------------------
*/
-static
-int print_data(diff_opt_t *opts)
+static int
+print_data(diff_opt_t *opts)
{
return ((opts->mode_report || opts->mode_verbose) && !opts->mode_quiet) ? 1 : 0;
}
@@ -3223,8 +3316,8 @@ int print_data(diff_opt_t *opts)
* Purpose: print header for difference
*-------------------------------------------------------------------------
*/
-static
-void print_header(diff_opt_t *opts)
+static void
+print_header(diff_opt_t *opts)
{
/* print header */
parallel_print("%-16s", "size:");
@@ -3234,16 +3327,14 @@ void print_header(diff_opt_t *opts)
parallel_print("\n");
if (opts->print_percentage) {
- parallel_print("%-15s %-15s %-15s %-15s %-15s\n", "position",
- opts->obj_name[0], opts->obj_name[1], "difference", "relative");
- parallel_print(
- "------------------------------------------------------------------------\n");
+ parallel_print("%-15s %-15s %-15s %-15s %-15s\n", "position", opts->obj_name[0], opts->obj_name[1],
+ "difference", "relative");
+ parallel_print("------------------------------------------------------------------------\n");
}
else {
- parallel_print("%-15s %-15s %-15s %-20s\n", "position",
- opts->obj_name[0], opts->obj_name[1], "difference");
- parallel_print(
- "------------------------------------------------------------\n");
+ parallel_print("%-15s %-15s %-15s %-20s\n", "position", opts->obj_name[0], opts->obj_name[1],
+ "difference");
+ parallel_print("------------------------------------------------------------\n");
}
}
@@ -3253,10 +3344,10 @@ void print_header(diff_opt_t *opts)
* Purpose: print in matrix notation, converting from an array index position
*-------------------------------------------------------------------------
*/
-static
-void print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
+static void
+print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
{
- int i,j;
+ int i, j;
H5TOOLS_START_DEBUG(" -- idx:%ld", idx);
@@ -3269,7 +3360,7 @@ void print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
} /* end print header */
H5TOOLS_DEBUG("rank=%d", opts->rank);
- if(opts->rank > 0) {
+ if (opts->rank > 0) {
hsize_t curr_pos = idx;
parallel_print("[ ");
@@ -3278,30 +3369,35 @@ void print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
if (opts->sset[0] != NULL) {
/* Subsetting is used - calculate total position */
hsize_t elmnt_cnt = 1;
- hsize_t dim_cnt = 0; /* previous dim size */
- hsize_t str_cnt = 0; /* previous dim stride */
- hsize_t curr_idx = idx; /* calculated running position */
- hsize_t str_idx = 0;
- hsize_t blk_idx = 0;
- hsize_t cnt_idx = 0;
- hsize_t hs_idx = 0;
- j = opts->rank-1;
+ hsize_t dim_cnt = 0; /* previous dim size */
+ hsize_t str_cnt = 0; /* previous dim stride */
+ hsize_t curr_idx = idx; /* calculated running position */
+ hsize_t str_idx = 0;
+ hsize_t blk_idx = 0;
+ hsize_t cnt_idx = 0;
+ hsize_t hs_idx = 0;
+ j = opts->rank - 1;
do {
cnt_idx = opts->sset[0]->count.data[j]; /* Count value for current dim */
- H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - count:%ld", j, curr_pos, curr_idx, cnt_idx);
+ H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - count:%ld", j,
+ curr_pos, curr_idx, cnt_idx);
blk_idx = opts->sset[0]->block.data[j]; /* Block value for current dim */
- H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - block:%ld", j, curr_pos, curr_idx, blk_idx);
+ H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - block:%ld", j,
+ curr_pos, curr_idx, blk_idx);
hs_idx = cnt_idx * blk_idx; /* hyperslab area value for current dim */
- H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - hs:%ld", j, curr_pos, curr_idx, hs_idx);
+ H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - hs:%ld", j, curr_pos,
+ curr_idx, hs_idx);
str_idx = opts->sset[0]->stride.data[j]; /* Stride value for current dim */
- H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - stride:%ld", j, curr_pos, curr_idx, str_idx);
+ H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - stride:%ld", j,
+ curr_pos, curr_idx, str_idx);
elmnt_cnt *= opts->dims[j]; /* Total number of elements in dimension */
H5TOOLS_DEBUG("... sset loop:%d with elmnt_cnt:%ld", j, elmnt_cnt);
if (str_idx > blk_idx)
curr_idx += dim_cnt * (str_idx - blk_idx); /* */
else if (curr_idx >= hs_idx)
curr_idx += dim_cnt * str_cnt;
- H5TOOLS_DEBUG("... sset loop:%d with idx:%ld (curr_idx:%ld) - stride:%ld", j, idx, curr_idx, str_idx);
+ H5TOOLS_DEBUG("... sset loop:%d with idx:%ld (curr_idx:%ld) - stride:%ld", j, idx,
+ curr_idx, str_idx);
dim_cnt = elmnt_cnt; /* */
if (str_idx > blk_idx)
str_cnt = str_idx - blk_idx; /* */
@@ -3320,8 +3416,9 @@ void print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
calc_acc_pos((unsigned)opts->rank, curr_pos, opts->acc, opts->pos);
for (i = 0; i < opts->rank; i++) {
- H5TOOLS_DEBUG("pos loop:%d with opts->pos=%ld opts->sm_pos=%ld", i, opts->pos[i], opts->sm_pos[i]);
- opts->pos[i] += (unsigned long) opts->sm_pos[i];
+ H5TOOLS_DEBUG("pos loop:%d with opts->pos=%ld opts->sm_pos=%ld", i, opts->pos[i],
+ opts->sm_pos[i]);
+ opts->pos[i] += (unsigned long)opts->sm_pos[i];
H5TOOLS_DEBUG("pos loop:%d with opts->pos=%ld", i, opts->pos[i]);
parallel_print(HSIZE_T_FORMAT, (unsigned long long)opts->pos[i]);
parallel_print(" ");
@@ -3350,36 +3447,37 @@ void print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
* Purpose: Print a char
*-------------------------------------------------------------------------
*/
-static void h5diff_print_char(char ch)
+static void
+h5diff_print_char(char ch)
{
switch (ch) {
- case '"':
- parallel_print("\\\"");
- break;
- case '\\':
- parallel_print("\\\\");
- break;
- case '\b':
- parallel_print("\\b");
- break;
- case '\f':
- parallel_print("\\f");
- break;
- case '\n':
- parallel_print("\\n");
- break;
- case '\r':
- parallel_print("\\r");
- break;
- case '\t':
- parallel_print("\\t");
- break;
- default:
- if (isprint(ch))
- parallel_print("%c", ch);
- else
- parallel_print("\\%03o", ch);
- break;
+ case '"':
+ parallel_print("\\\"");
+ break;
+ case '\\':
+ parallel_print("\\\\");
+ break;
+ case '\b':
+ parallel_print("\\b");
+ break;
+ case '\f':
+ parallel_print("\\f");
+ break;
+ case '\n':
+ parallel_print("\\n");
+ break;
+ case '\r':
+ parallel_print("\\r");
+ break;
+ case '\t':
+ parallel_print("\\t");
+ break;
+ default:
+ if (isprint(ch))
+ parallel_print("%c", ch);
+ else
+ parallel_print("\\%03o", ch);
+ break;
}
}
@@ -3388,7 +3486,8 @@ static void h5diff_print_char(char ch)
* set up compound datatype structures.
*-------------------------------------------------------------------------
*/
-static void get_member_types(hid_t tid, mcomp_t *members)
+static void
+get_member_types(hid_t tid, mcomp_t *members)
{
int tclass;
unsigned u;
@@ -3407,16 +3506,16 @@ static void get_member_types(hid_t tid, mcomp_t *members)
if ((nmembs = H5Tget_nmembers(tid)) <= 0)
return;
- members->n = (unsigned) nmembs;
+ members->n = (unsigned)nmembs;
- members->ids = (hid_t *) HDcalloc((size_t )members->n, sizeof(hid_t));
- members->offsets = (size_t *) HDcalloc((size_t )members->n, sizeof(size_t));
- members->m = (mcomp_t **) HDcalloc((size_t )members->n, sizeof(mcomp_t *));
+ members->ids = (hid_t *)HDcalloc((size_t)members->n, sizeof(hid_t));
+ members->offsets = (size_t *)HDcalloc((size_t)members->n, sizeof(size_t));
+ members->m = (mcomp_t **)HDcalloc((size_t)members->n, sizeof(mcomp_t *));
for (u = 0; u < members->n; u++) {
- members->ids[u] = H5Tget_member_type(tid, u);
+ members->ids[u] = H5Tget_member_type(tid, u);
members->offsets[u] = H5Tget_member_offset(tid, u);
- members->m[u] = (mcomp_t *) HDmalloc(sizeof(mcomp_t));
+ members->m[u] = (mcomp_t *)HDmalloc(sizeof(mcomp_t));
HDmemset(members->m[u], 0, sizeof(mcomp_t));
get_member_types(members->ids[u], members->m[u]);
}
@@ -3430,7 +3529,8 @@ static void get_member_types(hid_t tid, mcomp_t *members)
* clean and close compound members.
*-------------------------------------------------------------------------
*/
-static void close_member_types(mcomp_t *members)
+static void
+close_member_types(mcomp_t *members)
{
unsigned u;
@@ -3449,4 +3549,3 @@ static void close_member_types(mcomp_t *members)
HDfree(members->ids);
HDfree(members->offsets);
}
-
diff --git a/tools/lib/h5diff_attr.c b/tools/lib/h5diff_attr.c
index 48663e2..bb1bb9e 100644
--- a/tools/lib/h5diff_attr.c
+++ b/tools/lib/h5diff_attr.c
@@ -19,19 +19,18 @@
#define ATTR_NAME_MAX 255
typedef struct table_attr_t {
- char *name;
- unsigned exist[2];
+ char * name;
+ unsigned exist[2];
} match_attr_t;
typedef struct table_attrs_t {
- size_t size;
- size_t nattrs;
- size_t nattrs_only1;
- size_t nattrs_only2;
+ size_t size;
+ size_t nattrs;
+ size_t nattrs_only1;
+ size_t nattrs_only2;
match_attr_t *attrs;
} table_attrs_t;
-
/*-------------------------------------------------------------------------
* Function: table_attrs_init
*
@@ -44,15 +43,16 @@ typedef struct table_attrs_t {
*
* Date: March 15, 2011
*------------------------------------------------------------------------*/
-static void table_attrs_init(table_attrs_t **tbl)
+static void
+table_attrs_init(table_attrs_t **tbl)
{
- table_attrs_t* table_attrs = (table_attrs_t*) HDmalloc(sizeof(table_attrs_t));
+ table_attrs_t *table_attrs = (table_attrs_t *)HDmalloc(sizeof(table_attrs_t));
- table_attrs->size = 0;
- table_attrs->nattrs = 0;
+ table_attrs->size = 0;
+ table_attrs->nattrs = 0;
table_attrs->nattrs_only1 = 0;
table_attrs->nattrs_only2 = 0;
- table_attrs->attrs = NULL;
+ table_attrs->attrs = NULL;
*tbl = table_attrs;
}
@@ -69,7 +69,8 @@ static void table_attrs_init(table_attrs_t **tbl)
*
* Date: March 15, 2011
*------------------------------------------------------------------------*/
-static void table_attrs_free( table_attrs_t *table )
+static void
+table_attrs_free(table_attrs_t *table)
{
unsigned int i;
@@ -102,24 +103,25 @@ static void table_attrs_free( table_attrs_t *table )
*
* Date: March 15, 2011
*------------------------------------------------------------------------*/
-static void table_attr_mark_exist(unsigned *exist, char *name, table_attrs_t *table)
+static void
+table_attr_mark_exist(unsigned *exist, char *name, table_attrs_t *table)
{
- if(table->nattrs == table->size) {
+ if (table->nattrs == table->size) {
match_attr_t *new_attrs;
table->size = MAX(1, table->size * 2);
- new_attrs = (match_attr_t *)HDrealloc(table->attrs, table->size * sizeof(match_attr_t));
- if(new_attrs)
+ new_attrs = (match_attr_t *)HDrealloc(table->attrs, table->size * sizeof(match_attr_t));
+ if (new_attrs)
table->attrs = new_attrs;
} /* end if */
- if(table->nattrs < table->size) {
+ if (table->nattrs < table->size) {
size_t curr_val;
- curr_val = table->nattrs;
+ curr_val = table->nattrs;
table->attrs[curr_val].exist[0] = exist[0];
table->attrs[curr_val].exist[1] = exist[1];
- if(name)
+ if (name)
table->attrs[curr_val].name = (char *)HDstrdup(name);
table->nattrs++;
}
@@ -137,14 +139,15 @@ static void table_attr_mark_exist(unsigned *exist, char *name, table_attrs_t *ta
* Parameter:
* table_out [OUT] : return the list
*------------------------------------------------------------------------*/
-static herr_t build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t ** table_out, diff_opt_t *opts)
+static herr_t
+build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t **table_out, diff_opt_t *opts)
{
table_attrs_t *table_lp = NULL;
- H5O_info2_t oinfo1, oinfo2; /* Object info */
- hid_t attr1_id = H5I_INVALID_HID; /* attr ID */
- hid_t attr2_id = H5I_INVALID_HID; /* attr ID */
- size_t curr1 = 0;
- size_t curr2 = 0;
+ H5O_info2_t oinfo1, oinfo2; /* Object info */
+ hid_t attr1_id = H5I_INVALID_HID; /* attr ID */
+ hid_t attr2_id = H5I_INVALID_HID; /* attr ID */
+ size_t curr1 = 0;
+ size_t curr2 = 0;
unsigned infile[2];
char name1[ATTR_NAME_MAX];
char name2[ATTR_NAME_MAX];
@@ -154,11 +157,11 @@ static herr_t build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t
H5TOOLS_START_DEBUG(" - errstat:%d", opts->err_stat);
- if(H5Oget_info3(loc1_id, &oinfo1, H5O_INFO_NUM_ATTRS) < 0) {
+ if (H5Oget_info3(loc1_id, &oinfo1, H5O_INFO_NUM_ATTRS) < 0) {
H5TOOLS_GOTO_ERROR(FAIL, "H5Oget_info first object failed");
}
H5TOOLS_DEBUG("H5Oget_info3 loc1id=%d", oinfo1.num_attrs);
- if(H5Oget_info3(loc2_id, &oinfo2, H5O_INFO_NUM_ATTRS) < 0) {
+ if (H5Oget_info3(loc2_id, &oinfo2, H5O_INFO_NUM_ATTRS) < 0) {
H5TOOLS_GOTO_ERROR(FAIL, "H5Oget_info second object failed");
}
H5TOOLS_DEBUG("H5Oget_info3 loc2id=%d", oinfo2.num_attrs);
@@ -170,37 +173,39 @@ static herr_t build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t
/*--------------------------------------------------
* build the list
*/
- while(curr1 < oinfo1.num_attrs && curr2 < oinfo2.num_attrs) {
+ while (curr1 < oinfo1.num_attrs && curr2 < oinfo2.num_attrs) {
H5TOOLS_DEBUG("list_attrs 1: %ld - %ld", curr1, oinfo1.num_attrs);
H5TOOLS_DEBUG("list_attrs 2: %ld - %ld", curr2, oinfo2.num_attrs);
/*------------------
- * open attribute1 */
- if((attr1_id = H5Aopen_by_idx(loc1_id, ".", H5_INDEX_NAME, H5_ITER_INC, (hsize_t)curr1, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ * open attribute1 */
+ if ((attr1_id = H5Aopen_by_idx(loc1_id, ".", H5_INDEX_NAME, H5_ITER_INC, (hsize_t)curr1, H5P_DEFAULT,
+ H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Aopen_by_idx first attribute failed");
/* get name */
- if(H5Aget_name(attr1_id, (size_t)ATTR_NAME_MAX, name1) < 0)
+ if (H5Aget_name(attr1_id, (size_t)ATTR_NAME_MAX, name1) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Aget_name first attribute failed");
/*------------------
- * open attribute2 */
- if((attr2_id = H5Aopen_by_idx(loc2_id, ".", H5_INDEX_NAME, H5_ITER_INC, (hsize_t)curr2, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ * open attribute2 */
+ if ((attr2_id = H5Aopen_by_idx(loc2_id, ".", H5_INDEX_NAME, H5_ITER_INC, (hsize_t)curr2, H5P_DEFAULT,
+ H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Aopen_by_idx second attribute failed");
/* get name */
- if(H5Aget_name(attr2_id, (size_t)ATTR_NAME_MAX, name2) < 0)
+ if (H5Aget_name(attr2_id, (size_t)ATTR_NAME_MAX, name2) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Aget_name second attribute failed");
/* criteria is string compare */
cmp = HDstrcmp(name1, name2);
- if(cmp == 0) {
+ if (cmp == 0) {
infile[0] = 1;
infile[1] = 1;
table_attr_mark_exist(infile, name1, table_lp);
curr1++;
curr2++;
}
- else if(cmp < 0) {
+ else if (cmp < 0) {
infile[0] = 1;
infile[1] = 0;
table_attr_mark_exist(infile, name1, table_lp);
@@ -225,15 +230,16 @@ static herr_t build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t
/* list1 did not end */
infile[0] = 1;
infile[1] = 0;
- while(curr1 < oinfo1.num_attrs) {
+ while (curr1 < oinfo1.num_attrs) {
H5TOOLS_DEBUG("list_attrs 1: %ld - %ld", curr1, oinfo1.num_attrs);
/*------------------
- * open attribute1 */
- if((attr1_id = H5Aopen_by_idx(loc1_id, ".", H5_INDEX_NAME, H5_ITER_INC, (hsize_t)curr1, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ * open attribute1 */
+ if ((attr1_id = H5Aopen_by_idx(loc1_id, ".", H5_INDEX_NAME, H5_ITER_INC, (hsize_t)curr1, H5P_DEFAULT,
+ H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Aopen_by_idx first attribute failed");
/* get name */
- if(H5Aget_name(attr1_id, (size_t)ATTR_NAME_MAX, name1) < 0)
+ if (H5Aget_name(attr1_id, (size_t)ATTR_NAME_MAX, name1) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Aget_name first attribute failed");
H5TOOLS_DEBUG("list_attrs 1 name - %s", name1);
@@ -249,14 +255,15 @@ static herr_t build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t
/* list2 did not end */
infile[0] = 0;
infile[1] = 1;
- while(curr2 < oinfo2.num_attrs) {
+ while (curr2 < oinfo2.num_attrs) {
H5TOOLS_DEBUG("list_attrs 2: %ld - %ld", curr2, oinfo2.num_attrs);
/*------------------
- * open attribute2 */
- if((attr2_id = H5Aopen_by_idx(loc2_id, ".", H5_INDEX_NAME, H5_ITER_INC, (hsize_t)curr2, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ * open attribute2 */
+ if ((attr2_id = H5Aopen_by_idx(loc2_id, ".", H5_INDEX_NAME, H5_ITER_INC, (hsize_t)curr2, H5P_DEFAULT,
+ H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Aopen_by_idx second attribute failed");
/* get name */
- if(H5Aget_name(attr2_id, (size_t)ATTR_NAME_MAX, name2) < 0)
+ if (H5Aget_name(attr2_id, (size_t)ATTR_NAME_MAX, name2) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Aget_name second attribute failed");
H5TOOLS_DEBUG("list_attrs 2 name - %s", name2);
@@ -272,11 +279,11 @@ static herr_t build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t
/*------------------------------------------------------
* print the list
*/
- if(opts->mode_verbose_level == 2) {
+ if (opts->mode_verbose_level == 2) {
/* if '-v2' is detected */
parallel_print(" obj1 obj2\n");
parallel_print(" --------------------------------------\n");
- for(i = 0; i < (unsigned int) table_lp->nattrs; i++) {
+ for (i = 0; i < (unsigned int)table_lp->nattrs; i++) {
int c1, c2;
c1 = (table_lp->attrs[i].exist[0]) ? 'x' : ' ';
c2 = (table_lp->attrs[i].exist[1]) ? 'x' : ' ';
@@ -284,19 +291,21 @@ static herr_t build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t
} /* end for */
}
- if(opts->mode_verbose_level >= 1)
+ if (opts->mode_verbose_level >= 1)
parallel_print("Attributes status: %d common, %d only in obj1, %d only in obj2\n",
- table_lp->nattrs - table_lp->nattrs_only1 - table_lp->nattrs_only2,
- table_lp->nattrs_only1, table_lp->nattrs_only2);
+ table_lp->nattrs - table_lp->nattrs_only1 - table_lp->nattrs_only2,
+ table_lp->nattrs_only1, table_lp->nattrs_only2);
done:
*table_out = table_lp;
/* disable error reporting */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Aclose(attr1_id);
H5Aclose(attr2_id);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
H5TOOLS_ENDDEBUG(" - errstat:%d", opts->err_stat);
@@ -313,73 +322,74 @@ done:
*-------------------------------------------------------------------------
*/
-hsize_t diff_attr_data(hid_t attr1_id, hid_t attr2_id,
- const char *name1, const char *name2, const char *path1, const char *path2, diff_opt_t *opts)
+hsize_t
+diff_attr_data(hid_t attr1_id, hid_t attr2_id, const char *name1, const char *name2, const char *path1,
+ const char *path2, diff_opt_t *opts)
{
- hid_t space1_id = H5I_INVALID_HID; /* space ID */
- hid_t space2_id = H5I_INVALID_HID; /* space ID */
- hid_t ftype1_id = H5I_INVALID_HID; /* file data type ID */
- hid_t ftype2_id = H5I_INVALID_HID; /* file data type ID */
- hid_t mtype1_id = H5I_INVALID_HID; /* memory data type ID */
- hid_t mtype2_id = H5I_INVALID_HID; /* memory data type ID */
- size_t msize1; /* memory size of memory type */
- size_t msize2; /* memory size of memory type */
- void *buf1 = NULL; /* data buffer */
- void *buf2 = NULL; /* data buffer */
- hbool_t buf1hasdata = FALSE; /* buffer has data */
- hbool_t buf2hasdata = FALSE; /* buffer has data */
- int rank1; /* rank of dataset */
- int rank2; /* rank of dataset */
- hsize_t dims1[H5S_MAX_RANK]; /* dimensions of dataset */
- hsize_t dims2[H5S_MAX_RANK]; /* dimensions of dataset */
+ hid_t space1_id = H5I_INVALID_HID; /* space ID */
+ hid_t space2_id = H5I_INVALID_HID; /* space ID */
+ hid_t ftype1_id = H5I_INVALID_HID; /* file data type ID */
+ hid_t ftype2_id = H5I_INVALID_HID; /* file data type ID */
+ hid_t mtype1_id = H5I_INVALID_HID; /* memory data type ID */
+ hid_t mtype2_id = H5I_INVALID_HID; /* memory data type ID */
+ size_t msize1; /* memory size of memory type */
+ size_t msize2; /* memory size of memory type */
+ void * buf1 = NULL; /* data buffer */
+ void * buf2 = NULL; /* data buffer */
+ hbool_t buf1hasdata = FALSE; /* buffer has data */
+ hbool_t buf2hasdata = FALSE; /* buffer has data */
+ int rank1; /* rank of dataset */
+ int rank2; /* rank of dataset */
+ hsize_t dims1[H5S_MAX_RANK]; /* dimensions of dataset */
+ hsize_t dims2[H5S_MAX_RANK]; /* dimensions of dataset */
hsize_t nfound = 0;
size_t sz;
diff_err_t ret_value = opts->err_stat;
H5TOOLS_START_DEBUG(" - errstat:%d", opts->err_stat);
/* get the datatypes */
- if((ftype1_id = H5Aget_type(attr1_id)) < 0)
+ if ((ftype1_id = H5Aget_type(attr1_id)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_type first attribute failed");
- if((ftype2_id = H5Aget_type(attr2_id)) < 0)
+ if ((ftype2_id = H5Aget_type(attr2_id)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_type second attribute failed");
if (H5Tget_class(ftype1_id) == H5T_REFERENCE) {
- if((mtype1_id = H5Tcopy(H5T_STD_REF)) < 0)
+ if ((mtype1_id = H5Tcopy(H5T_STD_REF)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tcopy(H5T_STD_REF) first attribute ftype failed");
}
else {
- if((mtype1_id = H5Tget_native_type(ftype1_id, H5T_DIR_DEFAULT)) < 0)
+ if ((mtype1_id = H5Tget_native_type(ftype1_id, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tget_native_type first attribute ftype failed");
}
if (H5Tget_class(ftype2_id) == H5T_REFERENCE) {
- if((mtype2_id = H5Tcopy(H5T_STD_REF)) < 0)
+ if ((mtype2_id = H5Tcopy(H5T_STD_REF)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tcopy(H5T_STD_REF) second attribute ftype failed");
}
else {
- if((mtype2_id = H5Tget_native_type(ftype2_id, H5T_DIR_DEFAULT)) < 0)
+ if ((mtype2_id = H5Tget_native_type(ftype2_id, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tget_native_type second attribute ftype failed");
}
- if((msize1 = H5Tget_size(mtype1_id)) == 0)
+ if ((msize1 = H5Tget_size(mtype1_id)) == 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tget_size first attribute mtype failed");
- if((msize2 = H5Tget_size(mtype2_id)) == 0)
+ if ((msize2 = H5Tget_size(mtype2_id)) == 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tget_size second attribute mtype failed");
/* get the dataspace */
- if((space1_id = H5Aget_space(attr1_id)) < 0)
+ if ((space1_id = H5Aget_space(attr1_id)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_space first attribute failed");
- if((space2_id = H5Aget_space(attr2_id)) < 0)
+ if ((space2_id = H5Aget_space(attr2_id)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_space second attribute failed");
/* get dimensions */
- if((rank1 = H5Sget_simple_extent_dims(space1_id, dims1, NULL)) < 0)
+ if ((rank1 = H5Sget_simple_extent_dims(space1_id, dims1, NULL)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sget_simple_extent_dims first attribute failed");
- if((rank2 = H5Sget_simple_extent_dims(space2_id, dims2, NULL)) < 0)
+ if ((rank2 = H5Sget_simple_extent_dims(space2_id, dims2, NULL)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sget_simple_extent_dims second attribute failed");
/*----------------------------------------------------------------------
- * check for comparable TYPE and SPACE
- *----------------------------------------------------------------------
- */
+ * check for comparable TYPE and SPACE
+ *----------------------------------------------------------------------
+ */
H5TOOLS_DEBUG("Check for comparable TYPE and SPACE");
H5TOOLS_DEBUG("attr_names: %s - %s", name1, name2);
@@ -402,25 +412,25 @@ hsize_t diff_attr_data(hid_t attr1_id, hid_t attr2_id,
H5TOOLS_DEBUG("attr_names: %s - %s", opts->obj_name[0], opts->obj_name[1]);
/* pass dims1 and dims2 for maxdims as well since attribute's maxdims
- * are always same */
- if(diff_can_type(ftype1_id, ftype2_id, rank1, rank2, dims1, dims2, dims1, dims2, opts, 0) == 1) {
+ * are always same */
+ if (diff_can_type(ftype1_id, ftype2_id, rank1, rank2, dims1, dims2, dims1, dims2, opts, 0) == 1) {
int j;
/*-----------------------------------------------------------------
- * "upgrade" the smaller memory size
- *------------------------------------------------------------------
- */
- if(FAIL == match_up_memsize(ftype1_id, ftype2_id, &mtype1_id, &mtype2_id, &msize1, &msize2))
+ * "upgrade" the smaller memory size
+ *------------------------------------------------------------------
+ */
+ if (FAIL == match_up_memsize(ftype1_id, ftype2_id, &mtype1_id, &mtype2_id, &msize1, &msize2))
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "match_up_memsize failed");
H5TOOLS_DEBUG("initialize read");
/*---------------------------------------------------------------------
- * initialize diff_opt_t structure for dimensions
- *----------------------------------------------------------------------
- */
+ * initialize diff_opt_t structure for dimensions
+ *----------------------------------------------------------------------
+ */
opts->nelmts = 1;
- for(j = 0; j < rank1; j++) {
+ for (j = 0; j < rank1; j++) {
opts->dims[j] = dims1[j];
opts->nelmts *= dims1[j];
}
@@ -428,17 +438,17 @@ hsize_t diff_attr_data(hid_t attr1_id, hid_t attr2_id,
init_acc_pos((unsigned)opts->rank, opts->dims, opts->acc, opts->pos, opts->p_min_idx);
/*---------------------------------------------------------------------
- * read
- *----------------------------------------------------------------------
- */
+ * read
+ *----------------------------------------------------------------------
+ */
buf1 = (void *)HDcalloc((size_t)(opts->nelmts), msize1);
buf2 = (void *)HDcalloc((size_t)(opts->nelmts), msize2);
H5TOOLS_DEBUG("attr buffer size %ld * %ld", opts->nelmts, msize1);
- if(buf1 == NULL || buf2 == NULL) {
+ if (buf1 == NULL || buf2 == NULL) {
parallel_print("cannot read into memory\n");
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "buffer allocation failed");
}
- if(H5Aread(attr1_id, mtype1_id, buf1) < 0) {
+ if (H5Aread(attr1_id, mtype1_id, buf1) < 0) {
parallel_print("Failed reading attribute1 %s\n", name1);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_type first attribute failed");
}
@@ -446,7 +456,7 @@ hsize_t diff_attr_data(hid_t attr1_id, hid_t attr2_id,
buf1hasdata = TRUE;
H5TOOLS_DEBUG("attr H5Aread 1");
- if(H5Aread(attr2_id, mtype2_id, buf2) < 0) {
+ if (H5Aread(attr2_id, mtype2_id, buf2) < 0) {
parallel_print("Failed reading attribute2 %s\n", name2);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_type second attribute failed");
}
@@ -456,10 +466,10 @@ hsize_t diff_attr_data(hid_t attr1_id, hid_t attr2_id,
/* format output string */
if (opts->obj_name[0] != NULL)
- HDfree(opts->obj_name[0]);
+ HDfree(opts->obj_name[0]);
opts->obj_name[0] = NULL;
if (opts->obj_name[1] != NULL)
- HDfree(opts->obj_name[1]);
+ HDfree(opts->obj_name[1]);
opts->obj_name[1] = NULL;
H5TOOLS_DEBUG("attr_names: %s - %s : %s - %s", name1, name2, path1, path2);
@@ -479,13 +489,13 @@ hsize_t diff_attr_data(hid_t attr1_id, hid_t attr2_id,
}
/*---------------------------------------------------------------------
- * array compare
- *----------------------------------------------------------------------
- */
+ * array compare
+ *----------------------------------------------------------------------
+ */
H5TOOLS_DEBUG("array compare %s - %s", opts->obj_name[0], opts->obj_name[1]);
opts->hs_nelmts = opts->nelmts;
- opts->m_tid = mtype1_id;
+ opts->m_tid = mtype1_id;
/* initialize the current stripmine position; this is necessary to print the array indices */
for (j = 0; j < opts->rank; j++)
@@ -493,14 +503,14 @@ hsize_t diff_attr_data(hid_t attr1_id, hid_t attr2_id,
/* always print name */
/* verbose (-v) and report (-r) mode */
- if(opts->mode_verbose || opts->mode_report) {
+ if (opts->mode_verbose || opts->mode_report) {
do_print_attrname("attribute", opts->obj_name[0], opts->obj_name[1]);
nfound = diff_array(buf1, buf2, opts, attr1_id, attr2_id);
print_found(nfound);
}
/* quiet mode (-q), just count differences */
- else if(opts->mode_quiet) {
+ else if (opts->mode_quiet) {
nfound = diff_array(buf1, buf2, opts, attr1_id, attr2_id);
}
/* the rest (-c, none, ...) */
@@ -512,57 +522,59 @@ hsize_t diff_attr_data(hid_t attr1_id, hid_t attr2_id,
do_print_attrname("attribute", opts->obj_name[0], opts->obj_name[1]);
print_found(nfound);
} /* end if */
- } /* end else */
+ } /* end else */
}
- H5TOOLS_DEBUG("check for comparable TYPE and SPACE complete nfound:%d - errstat:%d", nfound, opts->err_stat);
+ H5TOOLS_DEBUG("check for comparable TYPE and SPACE complete nfound:%d - errstat:%d", nfound,
+ opts->err_stat);
/*----------------------------------------------------------------------
- * close
- *----------------------------------------------------------------------
- */
- if (opts->obj_name[0] != NULL)
+ * close
+ *----------------------------------------------------------------------
+ */
+ if (opts->obj_name[0] != NULL)
HDfree(opts->obj_name[0]);
- opts->obj_name[0] = NULL;
- if (opts->obj_name[1] != NULL)
+ opts->obj_name[0] = NULL;
+ if (opts->obj_name[1] != NULL)
HDfree(opts->obj_name[1]);
- opts->obj_name[1] = NULL;
+ opts->obj_name[1] = NULL;
/* Free buf1 and buf2, check both VLEN-data VLEN-string to reclaim any
- * VLEN memory first */
- if(TRUE == h5tools_detect_vlen(mtype1_id))
+ * VLEN memory first */
+ if (TRUE == h5tools_detect_vlen(mtype1_id))
H5Treclaim(mtype1_id, space1_id, H5P_DEFAULT, buf1);
HDfree(buf1);
buf1 = NULL;
- if(TRUE == h5tools_detect_vlen(mtype2_id))
+ if (TRUE == h5tools_detect_vlen(mtype2_id))
H5Treclaim(mtype2_id, space2_id, H5P_DEFAULT, buf2);
HDfree(buf2);
buf2 = NULL;
- if(H5Tclose(ftype1_id) < 0)
+ if (H5Tclose(ftype1_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_type first attribute failed");
- if(H5Tclose(ftype2_id) < 0)
+ if (H5Tclose(ftype2_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_type second attribute failed");
- if(H5Sclose(space1_id) < 0)
+ if (H5Sclose(space1_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_type first attribute failed");
- if(H5Sclose(space2_id) < 0)
+ if (H5Sclose(space2_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_type second attribute failed");
- if(H5Tclose(mtype1_id) < 0)
+ if (H5Tclose(mtype1_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tclose first attribute mtype failed");
- if(H5Tclose(mtype2_id) < 0)
+ if (H5Tclose(mtype2_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tclose second attribute mtype failed");
done:
opts->err_stat = opts->err_stat | ret_value;
- H5E_BEGIN_TRY {
- if(buf1) {
- if(buf1hasdata && TRUE == h5tools_detect_vlen(mtype1_id))
+ H5E_BEGIN_TRY
+ {
+ if (buf1) {
+ if (buf1hasdata && TRUE == h5tools_detect_vlen(mtype1_id))
H5Treclaim(mtype1_id, space1_id, H5P_DEFAULT, buf1);
HDfree(buf1);
} /* end if */
- if(buf2) {
- if(buf2hasdata && TRUE == h5tools_detect_vlen(mtype2_id))
+ if (buf2) {
+ if (buf2hasdata && TRUE == h5tools_detect_vlen(mtype2_id))
H5Treclaim(mtype2_id, space2_id, H5P_DEFAULT, buf2);
HDfree(buf2);
} /* end if */
@@ -573,7 +585,8 @@ done:
H5Tclose(mtype2_id);
H5Sclose(space1_id);
H5Sclose(space2_id);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
H5TOOLS_ENDDEBUG(" - errstat:%d", opts->err_stat);
@@ -593,58 +606,60 @@ done:
*-------------------------------------------------------------------------
*/
-hsize_t diff_attr(hid_t loc1_id, hid_t loc2_id, const char *path1, const char *path2, diff_opt_t *opts)
+hsize_t
+diff_attr(hid_t loc1_id, hid_t loc2_id, const char *path1, const char *path2, diff_opt_t *opts)
{
table_attrs_t *match_list_attrs = NULL;
- hid_t attr1_id = H5I_INVALID_HID; /* attr ID */
- hid_t attr2_id = H5I_INVALID_HID; /* attr ID */
- char *name1 = NULL;
- char *name2 = NULL;
- unsigned u; /* Local index variable */
- hsize_t nfound = 0;
+ hid_t attr1_id = H5I_INVALID_HID; /* attr ID */
+ hid_t attr2_id = H5I_INVALID_HID; /* attr ID */
+ char * name1 = NULL;
+ char * name2 = NULL;
+ unsigned u; /* Local index variable */
+ hsize_t nfound = 0;
hsize_t nfound_total = 0;
- diff_opt_t attr_opts;
+ diff_opt_t attr_opts;
diff_err_t ret_value = opts->err_stat;
H5TOOLS_START_DEBUG(" - errstat:%d", opts->err_stat);
- attr_opts = *opts;
+ attr_opts = *opts;
attr_opts.obj_name[0] = NULL;
attr_opts.obj_name[1] = NULL;
- if(build_match_list_attrs(loc1_id, loc2_id, &match_list_attrs, &attr_opts) < 0) {
+ if (build_match_list_attrs(loc1_id, loc2_id, &match_list_attrs, &attr_opts) < 0) {
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "build_match_list_attrs failed");
}
- H5TOOLS_DEBUG("check match_list_attrs - opts->contents:%d - errstat:%d", attr_opts.contents, attr_opts.err_stat);
+ H5TOOLS_DEBUG("check match_list_attrs - opts->contents:%d - errstat:%d", attr_opts.contents,
+ attr_opts.err_stat);
/* if detect any unique extra attr */
- if(match_list_attrs->nattrs_only1 || match_list_attrs->nattrs_only2) {
+ if (match_list_attrs->nattrs_only1 || match_list_attrs->nattrs_only2) {
H5TOOLS_DEBUG("attributes only in one file");
/* exit will be 1 */
attr_opts.contents = 0;
}
H5TOOLS_DEBUG("match_list_attrs info - opts->contents:%d", attr_opts.contents);
- for(u = 0; u < (unsigned)match_list_attrs->nattrs; u++) {
+ for (u = 0; u < (unsigned)match_list_attrs->nattrs; u++) {
H5TOOLS_DEBUG("match_list_attrs loop[%d] - errstat:%d", u, attr_opts.err_stat);
- if((match_list_attrs->attrs[u].exist[0]) && (match_list_attrs->attrs[u].exist[1])) {
+ if ((match_list_attrs->attrs[u].exist[0]) && (match_list_attrs->attrs[u].exist[1])) {
name1 = name2 = match_list_attrs->attrs[u].name;
H5TOOLS_DEBUG("name - %s", name1);
/*--------------
- * attribute 1 */
- if((attr1_id = H5Aopen(loc1_id, name1, H5P_DEFAULT)) < 0)
+ * attribute 1 */
+ if ((attr1_id = H5Aopen(loc1_id, name1, H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aopen first attribute failed");
/*--------------
- * attribute 2 */
- if((attr2_id = H5Aopen(loc2_id, name2, H5P_DEFAULT)) < 0)
+ * attribute 2 */
+ if ((attr2_id = H5Aopen(loc2_id, name2, H5P_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aopen second attribute failed");
H5TOOLS_DEBUG("got attributes");
nfound = diff_attr_data(attr1_id, attr2_id, name1, name2, path1, path2, &attr_opts);
- if(H5Aclose(attr1_id) < 0)
+ if (H5Aclose(attr1_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_type first attribute failed");
- if(H5Aclose(attr2_id) < 0)
+ if (H5Aclose(attr2_id) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Aget_type second attribute failed");
nfound_total += nfound;
@@ -653,18 +668,19 @@ hsize_t diff_attr(hid_t loc1_id, hid_t loc2_id, const char *path1, const char *p
done:
opts->print_header = attr_opts.print_header;
- opts->contents = attr_opts.contents;
- opts->not_cmp = attr_opts.not_cmp;
- opts->err_stat = attr_opts.err_stat | ret_value;
+ opts->contents = attr_opts.contents;
+ opts->not_cmp = attr_opts.not_cmp;
+ opts->err_stat = attr_opts.err_stat | ret_value;
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
table_attrs_free(match_list_attrs);
H5Aclose(attr1_id);
H5Aclose(attr2_id);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
H5TOOLS_ENDDEBUG(" - errstat:%d", opts->err_stat);
return nfound_total;
}
-
diff --git a/tools/lib/h5diff_dset.c b/tools/lib/h5diff_dset.c
index 944440e..f98ba3f 100644
--- a/tools/lib/h5diff_dset.c
+++ b/tools/lib/h5diff_dset.c
@@ -17,7 +17,6 @@
#include "h5diff.h"
#include "ph5diff.h"
-
/*-------------------------------------------------------------------------
* Function: diff_dataset
*
@@ -31,16 +30,16 @@ hsize_t
diff_dataset(hid_t file1_id, hid_t file2_id, const char *obj1_name, const char *obj2_name, diff_opt_t *opts)
{
int status = -1;
- hid_t did1 = H5I_INVALID_HID;
- hid_t did2 = H5I_INVALID_HID;
- hid_t dcpl1 = H5I_INVALID_HID;
- hid_t dcpl2 = H5I_INVALID_HID;
+ hid_t did1 = H5I_INVALID_HID;
+ hid_t did2 = H5I_INVALID_HID;
+ hid_t dcpl1 = H5I_INVALID_HID;
+ hid_t dcpl2 = H5I_INVALID_HID;
hsize_t nfound = 0;
diff_opt_t diff_opts;
diff_err_t ret_value = opts->err_stat;
H5TOOLS_START_DEBUG(" - errstat:%d", opts->err_stat);
- diff_opts = *opts;
+ diff_opts = *opts;
diff_opts.obj_name[0] = NULL;
diff_opts.obj_name[1] = NULL;
@@ -50,18 +49,18 @@ diff_dataset(hid_t file1_id, hid_t file2_id, const char *obj1_name, const char *
*-------------------------------------------------------------------------
*/
/* Open the datasets */
- if((did1 = H5Dopen2(file1_id, obj1_name, H5P_DEFAULT)) < 0) {
+ if ((did1 = H5Dopen2(file1_id, obj1_name, H5P_DEFAULT)) < 0) {
parallel_print("Cannot open dataset <%s>\n", obj1_name);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dopen2 first dataset failed");
}
- if((did2 = H5Dopen2(file2_id, obj2_name, H5P_DEFAULT)) < 0) {
+ if ((did2 = H5Dopen2(file2_id, obj2_name, H5P_DEFAULT)) < 0) {
parallel_print("Cannot open dataset <%s>\n", obj2_name);
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dopen2 second dataset failed");
}
- if((dcpl1 = H5Dget_create_plist(did1)) < 0)
+ if ((dcpl1 = H5Dget_create_plist(did1)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dget_create_plist first dataset failed");
- if((dcpl2 = H5Dget_create_plist(did2)) < 0)
+ if ((dcpl2 = H5Dget_create_plist(did2)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dget_create_plist second dataset failed");
/*-------------------------------------------------------------------------
@@ -73,29 +72,31 @@ diff_dataset(hid_t file1_id, hid_t file2_id, const char *obj1_name, const char *
*/
H5TOOLS_DEBUG("h5tools_canreadf then diff_datasetid");
if ((status = h5tools_canreadf((opts->mode_verbose ? obj1_name : NULL), dcpl1) == 1) &&
- (status = h5tools_canreadf((opts->mode_verbose ? obj2_name : NULL), dcpl2) == 1))
+ (status = h5tools_canreadf((opts->mode_verbose ? obj2_name : NULL), dcpl2) == 1))
nfound = diff_datasetid(did1, did2, obj1_name, obj2_name, &diff_opts);
else if (status < 0) {
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "h5tools_canreadf failed");
}
else {
- ret_value = 1;
+ ret_value = 1;
diff_opts.not_cmp = 1;
}
done:
opts->print_header = diff_opts.print_header;
- opts->not_cmp = diff_opts.not_cmp;
- opts->err_stat = diff_opts.err_stat | ret_value;
+ opts->not_cmp = diff_opts.not_cmp;
+ opts->err_stat = diff_opts.err_stat | ret_value;
/* disable error reporting */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(dcpl1);
H5Pclose(dcpl2);
H5Dclose(did1);
H5Dclose(did2);
/* enable error reporting */
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat);
return nfound;
@@ -155,67 +156,67 @@ done:
hsize_t
diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_name, diff_opt_t *opts)
{
- hid_t sid1 = H5I_INVALID_HID;
- hid_t sid2 = H5I_INVALID_HID;
- hid_t f_tid1 = H5I_INVALID_HID;
- hid_t f_tid2 = H5I_INVALID_HID;
- hid_t m_tid1 = H5I_INVALID_HID;
- hid_t m_tid2 = H5I_INVALID_HID;
- hid_t dcpl1 = H5I_INVALID_HID;
- hid_t dcpl2 = H5I_INVALID_HID;
- H5D_layout_t stl1 = -1;
- H5D_layout_t stl2 = -1;
- size_t m_size1;
- size_t m_size2;
- H5T_sign_t sign1;
- H5T_sign_t sign2;
- int rank1;
- int rank2;
- hsize_t nelmts1;
- hsize_t nelmts2;
- hsize_t dims1[H5S_MAX_RANK];
- hsize_t dims2[H5S_MAX_RANK];
- hsize_t maxdim1[H5S_MAX_RANK];
- hsize_t maxdim2[H5S_MAX_RANK];
- hsize_t storage_size1;
- hsize_t storage_size2;
- hsize_t nfound = 0; /* number of differences found */
- int can_compare = 1; /* do diff or not */
- void *buf1 = NULL;
- void *buf2 = NULL;
- void *sm_buf1 = NULL;
- void *sm_buf2 = NULL;
- hid_t sm_space1 = H5I_INVALID_HID; /*stripmine data space */
- hid_t sm_space2 = H5I_INVALID_HID; /*stripmine data space */
- size_t need; /* bytes needed for malloc */
- int i, j;
- unsigned int vl_data1 = 0; /*contains VL datatypes */
- unsigned int vl_data2 = 0; /*contains VL datatypes */
- diff_err_t ret_value = opts->err_stat;
+ hid_t sid1 = H5I_INVALID_HID;
+ hid_t sid2 = H5I_INVALID_HID;
+ hid_t f_tid1 = H5I_INVALID_HID;
+ hid_t f_tid2 = H5I_INVALID_HID;
+ hid_t m_tid1 = H5I_INVALID_HID;
+ hid_t m_tid2 = H5I_INVALID_HID;
+ hid_t dcpl1 = H5I_INVALID_HID;
+ hid_t dcpl2 = H5I_INVALID_HID;
+ H5D_layout_t stl1 = -1;
+ H5D_layout_t stl2 = -1;
+ size_t m_size1;
+ size_t m_size2;
+ H5T_sign_t sign1;
+ H5T_sign_t sign2;
+ int rank1;
+ int rank2;
+ hsize_t nelmts1;
+ hsize_t nelmts2;
+ hsize_t dims1[H5S_MAX_RANK];
+ hsize_t dims2[H5S_MAX_RANK];
+ hsize_t maxdim1[H5S_MAX_RANK];
+ hsize_t maxdim2[H5S_MAX_RANK];
+ hsize_t storage_size1;
+ hsize_t storage_size2;
+ hsize_t nfound = 0; /* number of differences found */
+ int can_compare = 1; /* do diff or not */
+ void * buf1 = NULL;
+ void * buf2 = NULL;
+ void * sm_buf1 = NULL;
+ void * sm_buf2 = NULL;
+ hid_t sm_space1 = H5I_INVALID_HID; /*stripmine data space */
+ hid_t sm_space2 = H5I_INVALID_HID; /*stripmine data space */
+ size_t need; /* bytes needed for malloc */
+ int i, j;
+ unsigned int vl_data1 = 0; /*contains VL datatypes */
+ unsigned int vl_data2 = 0; /*contains VL datatypes */
+ diff_err_t ret_value = opts->err_stat;
H5TOOLS_START_DEBUG(" - errstat:%d", opts->err_stat);
/* Get the dataspace handle */
- if((sid1 = H5Dget_space(did1)) < 0)
+ if ((sid1 = H5Dget_space(did1)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dget_space failed");
/* Get rank */
- if((rank1 = H5Sget_simple_extent_ndims(sid1)) < 0)
+ if ((rank1 = H5Sget_simple_extent_ndims(sid1)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sget_simple_extent_ndims failed");
/* Get the dataspace handle */
- if((sid2 = H5Dget_space(did2)) < 0 )
+ if ((sid2 = H5Dget_space(did2)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dget_space failed");
/* Get rank */
- if((rank2 = H5Sget_simple_extent_ndims(sid2)) < 0)
+ if ((rank2 = H5Sget_simple_extent_ndims(sid2)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sget_simple_extent_ndims failed");
/* Get dimensions */
- if(H5Sget_simple_extent_dims(sid1, dims1, maxdim1) < 0)
+ if (H5Sget_simple_extent_dims(sid1, dims1, maxdim1) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sget_simple_extent_dims failed");
/* Get dimensions */
- if(H5Sget_simple_extent_dims(sid2, dims2, maxdim2) < 0)
+ if (H5Sget_simple_extent_dims(sid2, dims2, maxdim2) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sget_simple_extent_dims failed");
H5TOOLS_DEBUG("rank: %ld - %ld", rank1, rank2);
@@ -225,26 +226,26 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
*/
/* Get the data type */
- if((f_tid1 = H5Dget_type(did1)) < 0)
+ if ((f_tid1 = H5Dget_type(did1)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dget_type failed");
/* Get the data type */
- if((f_tid2 = H5Dget_type(did2)) < 0)
+ if ((f_tid2 = H5Dget_type(did2)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dget_type failed");
/*-------------------------------------------------------------------------
* get the storage layout type
*-------------------------------------------------------------------------
*/
- if((dcpl1 = H5Dget_create_plist(did1)) < 0)
+ if ((dcpl1 = H5Dget_create_plist(did1)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dget_create_plist failed");
- if((stl1 = H5Pget_layout(dcpl1)) < 0)
+ if ((stl1 = H5Pget_layout(dcpl1)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Pget_layout failed");
H5Pclose(dcpl1);
- if((dcpl2 = H5Dget_create_plist(did2)) < 0)
+ if ((dcpl2 = H5Dget_create_plist(did2)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dget_create_plist failed");
- if((stl2 = H5Pget_layout(dcpl2)) < 0)
+ if ((stl2 = H5Pget_layout(dcpl2)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Pget_layout failed");
H5Pclose(dcpl2);
@@ -258,15 +259,15 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
storage_size2 = H5Dget_storage_size(did2);
H5TOOLS_DEBUG("storage size: %ld - %ld", storage_size1, storage_size2);
- if(storage_size1 == 0 || storage_size2 == 0) {
- if(stl1 == H5D_VIRTUAL || stl2 == H5D_VIRTUAL) {
- if((opts->mode_verbose||opts->mode_list_not_cmp) && obj1_name && obj2_name)
+ if (storage_size1 == 0 || storage_size2 == 0) {
+ if (stl1 == H5D_VIRTUAL || stl2 == H5D_VIRTUAL) {
+ if ((opts->mode_verbose || opts->mode_list_not_cmp) && obj1_name && obj2_name)
parallel_print("Warning: <%s> or <%s> is a virtual dataset\n", obj1_name, obj2_name);
}
else {
- if((opts->mode_verbose || opts->mode_list_not_cmp) && obj1_name && obj2_name)
+ if ((opts->mode_verbose || opts->mode_list_not_cmp) && obj1_name && obj2_name)
parallel_print("Not comparable: <%s> or <%s> is an empty dataset\n", obj1_name, obj2_name);
- can_compare = 0;
+ can_compare = 0;
opts->not_cmp = 1;
}
}
@@ -282,7 +283,6 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
}
}
-
opts->obj_name[1] = NULL;
if (obj2_name) {
j = (int)HDstrlen(obj2_name);
@@ -307,20 +307,20 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
*/
H5TOOLS_DEBUG("check for memory type and sizes");
if (H5Tget_class(f_tid1) == H5T_REFERENCE) {
- if((m_tid1 = H5Tcopy(H5T_STD_REF)) < 0)
+ if ((m_tid1 = H5Tcopy(H5T_STD_REF)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tcopy(H5T_STD_REF) first ftype failed");
}
else {
- if((m_tid1 = H5Tget_native_type(f_tid1, H5T_DIR_DEFAULT)) < 0)
+ if ((m_tid1 = H5Tget_native_type(f_tid1, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tget_native_type first ftype failed");
}
if (H5Tget_class(f_tid2) == H5T_REFERENCE) {
- if((m_tid2 = H5Tcopy(H5T_STD_REF)) < 0)
+ if ((m_tid2 = H5Tcopy(H5T_STD_REF)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tcopy(H5T_STD_REF) second ftype failed");
}
else {
- if((m_tid2 = H5Tget_native_type(f_tid2, H5T_DIR_DEFAULT)) < 0)
+ if ((m_tid2 = H5Tget_native_type(f_tid2, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Tget_native_type second ftype failed");
}
@@ -332,18 +332,18 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
* check for different signed/unsigned types
*-------------------------------------------------------------------------
*/
- if(can_compare) {
+ if (can_compare) {
H5TOOLS_DEBUG("can_compare for sign");
sign1 = H5Tget_sign(m_tid1);
sign2 = H5Tget_sign(m_tid2);
- if(sign1 != sign2) {
+ if (sign1 != sign2) {
H5TOOLS_DEBUG("sign1 != sign2");
- if((opts->mode_verbose || opts->mode_list_not_cmp) && obj1_name && obj2_name) {
+ if ((opts->mode_verbose || opts->mode_list_not_cmp) && obj1_name && obj2_name) {
parallel_print("Not comparable: <%s> has sign %s ", obj1_name, get_sign(sign1));
parallel_print("and <%s> has sign %s\n", obj2_name, get_sign(sign2));
}
- can_compare = 0;
+ can_compare = 0;
opts->not_cmp = 1;
}
H5TOOLS_DEBUG("can_compare for sign - can_compare=%d opts->not_cmp=%d", can_compare, opts->not_cmp);
@@ -352,9 +352,9 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
/* Check if type is either VLEN-data or VLEN-string to reclaim any
* VLEN memory buffer later
*/
- if(TRUE == h5tools_detect_vlen(m_tid1))
+ if (TRUE == h5tools_detect_vlen(m_tid1))
vl_data1 = TRUE;
- if(TRUE == h5tools_detect_vlen(m_tid2))
+ if (TRUE == h5tools_detect_vlen(m_tid2))
vl_data2 = TRUE;
H5TOOLS_DEBUG("h5tools_detect_vlen %d:%d - errstat:%d", vl_data1, vl_data2, opts->err_stat);
@@ -362,61 +362,61 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
* only attempt to compare if possible
*-------------------------------------------------------------------------
*/
- if(can_compare) { /* it is possible to compare */
- H5T_class_t tclass = H5Tget_class(f_tid1);
+ if (can_compare) { /* it is possible to compare */
+ H5T_class_t tclass = H5Tget_class(f_tid1);
H5TOOLS_DEBUG("can_compare attempt");
/*-----------------------------------------------------------------
- * get number of elements
- *------------------------------------------------------------------
- */
+ * get number of elements
+ *------------------------------------------------------------------
+ */
nelmts1 = 1;
- for(i = 0; i < rank1; i++)
+ for (i = 0; i < rank1; i++)
nelmts1 *= dims1[i];
nelmts2 = 1;
- for(i = 0; i < rank2; i++)
+ for (i = 0; i < rank2; i++)
nelmts2 *= dims2[i];
H5TOOLS_DEBUG("nelmts: %ld - %ld", nelmts1, nelmts2);
- if(tclass != H5T_ARRAY) {
+ if (tclass != H5T_ARRAY) {
/*-----------------------------------------------------------------
* "upgrade" the smaller memory size
*------------------------------------------------------------------
*/
H5TOOLS_DEBUG("NOT H5T_ARRAY, upgrade the smaller memory size?");
- if (FAIL == match_up_memsize (f_tid1, f_tid2, &m_tid1, &m_tid2, &m_size1, &m_size2))
+ if (FAIL == match_up_memsize(f_tid1, f_tid2, &m_tid1, &m_tid2, &m_size1, &m_size2))
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "match_up_memsize failed");
H5TOOLS_DEBUG("m_size: %ld - %ld", m_size1, m_size2);
opts->rank = rank1;
- for(i = 0; i < rank1; i++)
+ for (i = 0; i < rank1; i++)
opts->dims[i] = dims1[i];
opts->m_size = m_size1;
- opts->m_tid = m_tid1;
+ opts->m_tid = m_tid1;
opts->nelmts = nelmts1;
- need = (size_t)(nelmts1 * m_size1); /* bytes needed */
+ need = (size_t)(nelmts1 * m_size1); /* bytes needed */
}
else {
H5TOOLS_DEBUG("Array dims: %d - %d", dims1[0], dims2[0]);
/* Compare the smallest array, but create the largest buffer */
- if(m_size1 <= m_size2) {
+ if (m_size1 <= m_size2) {
opts->rank = rank1;
- for(i = 0; i < rank1; i++)
+ for (i = 0; i < rank1; i++)
opts->dims[i] = dims1[i];
opts->m_size = m_size1;
- opts->m_tid = m_tid1;
+ opts->m_tid = m_tid1;
opts->nelmts = nelmts1;
- need = (size_t)(nelmts2 * m_size2); /* bytes needed */
+ need = (size_t)(nelmts2 * m_size2); /* bytes needed */
}
else {
opts->rank = rank2;
- for(i = 0; i < rank2; i++)
+ for (i = 0; i < rank2; i++)
opts->dims[i] = dims2[i];
opts->m_size = m_size2;
- opts->m_tid = m_tid2;
+ opts->m_tid = m_tid2;
opts->nelmts = nelmts2;
- need = (size_t)(nelmts1 * m_size1); /* bytes needed */
+ need = (size_t)(nelmts1 * m_size1); /* bytes needed */
}
}
opts->hs_nelmts = opts->nelmts;
@@ -425,25 +425,24 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
H5TOOLS_DEBUG("obj_names: %s - %s", obj1_name, obj2_name);
if (opts->obj_name[0] != NULL)
- HDfree(opts->obj_name[0]);
+ HDfree(opts->obj_name[0]);
opts->obj_name[0] = NULL;
if (opts->obj_name[1] != NULL)
- HDfree(opts->obj_name[1]);
+ HDfree(opts->obj_name[1]);
opts->obj_name[1] = NULL;
- if(obj1_name)
+ if (obj1_name)
opts->obj_name[0] = HDstrdup(diff_basename(obj1_name));
- if(obj2_name)
+ if (obj2_name)
opts->obj_name[1] = HDstrdup(diff_basename(obj2_name));
H5TOOLS_DEBUG("obj_names: %s - %s", opts->obj_name[0], opts->obj_name[1]);
-
H5TOOLS_DEBUG("read/compare");
/*----------------------------------------------------------------
* read/compare
*-----------------------------------------------------------------
*/
- if(need < H5TOOLS_MALLOCSIZE) {
+ if (need < H5TOOLS_MALLOCSIZE) {
buf1 = HDmalloc(need);
buf2 = HDmalloc(need);
} /* end if */
@@ -451,17 +450,17 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
/* Assume entire data space to be printed */
init_acc_pos((unsigned)opts->rank, opts->dims, opts->acc, opts->pos, opts->p_min_idx);
- for(i = 0; i < opts->rank; i++) {
+ for (i = 0; i < opts->rank; i++) {
opts->p_max_idx[i] = opts->dims[i];
}
- if(buf1 != NULL && buf2 != NULL && opts->sset[0] == NULL && opts->sset[1] == NULL) {
+ if (buf1 != NULL && buf2 != NULL && opts->sset[0] == NULL && opts->sset[1] == NULL) {
H5TOOLS_DEBUG("buf1 != NULL && buf2 != NULL");
H5TOOLS_DEBUG("H5Dread did1");
- if(H5Dread(did1, m_tid1, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf1) < 0)
+ if (H5Dread(did1, m_tid1, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf1) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dread failed");
H5TOOLS_DEBUG("H5Dread did2");
- if(H5Dread(did2, m_tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf2) < 0)
+ if (H5Dread(did2, m_tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf2) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dread failed");
/* initialize the current stripmine position; this is necessary to print the array indices */
@@ -474,60 +473,60 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
/* reclaim any VL memory, if necessary */
H5TOOLS_DEBUG("check vl_data1:%d", vl_data1);
- if(vl_data1)
+ if (vl_data1)
H5Treclaim(m_tid1, sid1, H5P_DEFAULT, buf1);
H5TOOLS_DEBUG("check vl_data2:%d", vl_data2);
- if(vl_data2)
+ if (vl_data2)
H5Treclaim(m_tid2, sid2, H5P_DEFAULT, buf2);
- if(buf1 != NULL) {
+ if (buf1 != NULL) {
HDfree(buf1);
buf1 = NULL;
}
- if(buf2 != NULL) {
+ if (buf2 != NULL) {
HDfree(buf2);
buf2 = NULL;
}
- } /* end if */
- else { /* possibly not enough memory, read/compare by hyperslabs */
- hsize_t elmtno; /* counter */
- int carry; /* counter carry value */
+ } /* end if */
+ else { /* possibly not enough memory, read/compare by hyperslabs */
+ hsize_t elmtno; /* counter */
+ int carry; /* counter carry value */
/* stripmine info */
- hsize_t sm_size[H5S_MAX_RANK]; /* stripmine size */
- hsize_t sm_block[H5S_MAX_RANK]; /* stripmine block size */
- hsize_t sm_nbytes; /* bytes per stripmine */
- hsize_t sm_nelmts1; /* elements per stripmine */
- hsize_t sm_nelmts2; /* elements per stripmine */
- hssize_t ssm_nelmts; /* elements temp */
+ hsize_t sm_size[H5S_MAX_RANK]; /* stripmine size */
+ hsize_t sm_block[H5S_MAX_RANK]; /* stripmine block size */
+ hsize_t sm_nbytes; /* bytes per stripmine */
+ hsize_t sm_nelmts1; /* elements per stripmine */
+ hsize_t sm_nelmts2; /* elements per stripmine */
+ hssize_t ssm_nelmts; /* elements temp */
/* hyperslab info */
- hsize_t hs_offset1[H5S_MAX_RANK]; /* starting offset */
- hsize_t hs_count1[H5S_MAX_RANK]; /* number of blocks */
- hsize_t hs_block1[H5S_MAX_RANK]; /* size of blocks */
- hsize_t hs_stride1[H5S_MAX_RANK]; /* stride */
- hsize_t hs_size1[H5S_MAX_RANK]; /* size this pass */
- hsize_t hs_offset2[H5S_MAX_RANK]; /* starting offset */
- hsize_t hs_count2[H5S_MAX_RANK]; /* number of blocks */
- hsize_t hs_block2[H5S_MAX_RANK]; /* size of blocks */
- hsize_t hs_stride2[H5S_MAX_RANK]; /* stride */
- hsize_t hs_size2[H5S_MAX_RANK]; /* size this pass */
- hsize_t hs_nelmts1 = 0; /* elements in request */
- hsize_t hs_nelmts2 = 0; /* elements in request */
- hsize_t zero[8]; /* vector of zeros */
- hsize_t low[H5S_MAX_RANK]; /* low bound of hyperslab */
- hsize_t high[H5S_MAX_RANK]; /* higher bound of hyperslab */
+ hsize_t hs_offset1[H5S_MAX_RANK]; /* starting offset */
+ hsize_t hs_count1[H5S_MAX_RANK]; /* number of blocks */
+ hsize_t hs_block1[H5S_MAX_RANK]; /* size of blocks */
+ hsize_t hs_stride1[H5S_MAX_RANK]; /* stride */
+ hsize_t hs_size1[H5S_MAX_RANK]; /* size this pass */
+ hsize_t hs_offset2[H5S_MAX_RANK]; /* starting offset */
+ hsize_t hs_count2[H5S_MAX_RANK]; /* number of blocks */
+ hsize_t hs_block2[H5S_MAX_RANK]; /* size of blocks */
+ hsize_t hs_stride2[H5S_MAX_RANK]; /* stride */
+ hsize_t hs_size2[H5S_MAX_RANK]; /* size this pass */
+ hsize_t hs_nelmts1 = 0; /* elements in request */
+ hsize_t hs_nelmts2 = 0; /* elements in request */
+ hsize_t zero[8]; /* vector of zeros */
+ hsize_t low[H5S_MAX_RANK]; /* low bound of hyperslab */
+ hsize_t high[H5S_MAX_RANK]; /* higher bound of hyperslab */
H5TOOLS_DEBUG("reclaim any VL memory and free unused buffers");
- if(buf1 != NULL) {
+ if (buf1 != NULL) {
/* reclaim any VL memory, if necessary */
- if(vl_data1)
+ if (vl_data1)
H5Treclaim(m_tid1, sid1, H5P_DEFAULT, buf1);
HDfree(buf1);
buf1 = NULL;
}
- if(buf2 != NULL) {
+ if (buf2 != NULL) {
/* reclaim any VL memory, if necessary */
- if(vl_data2)
+ if (vl_data2)
H5Treclaim(m_tid2, sid2, H5P_DEFAULT, buf2);
HDfree(buf2);
buf2 = NULL;
@@ -547,37 +546,39 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
HDmemset(zero, 0, sizeof zero);
/* if subsetting was requested - initialize the subsetting variables */
- H5TOOLS_DEBUG("compare by hyperslabs: opts->nelmts=%ld - opts->m_size=%ld", opts->nelmts, opts->m_size);
+ H5TOOLS_DEBUG("compare by hyperslabs: opts->nelmts=%ld - opts->m_size=%ld", opts->nelmts,
+ opts->m_size);
if (opts->sset[0] != NULL) {
H5TOOLS_DEBUG("opts->sset[0] != NULL");
/* Check for valid settings - default if not specified */
- if(!opts->sset[0]->start.data || !opts->sset[0]->stride.data || !opts->sset[0]->count.data || !opts->sset[0]->block.data) {
+ if (!opts->sset[0]->start.data || !opts->sset[0]->stride.data || !opts->sset[0]->count.data ||
+ !opts->sset[0]->block.data) {
/* they didn't specify a ``stride'' or ``block''. default to 1 in all
* dimensions */
- if(!opts->sset[0]->start.data) {
+ if (!opts->sset[0]->start.data) {
/* default to (0, 0, ...) for the start coord */
opts->sset[0]->start.data = (hsize_t *)HDcalloc((size_t)rank1, sizeof(hsize_t));
- opts->sset[0]->start.len = (unsigned)rank1;
+ opts->sset[0]->start.len = (unsigned)rank1;
}
- if(!opts->sset[0]->stride.data) {
+ if (!opts->sset[0]->stride.data) {
opts->sset[0]->stride.data = (hsize_t *)HDcalloc((size_t)rank1, sizeof(hsize_t));
- opts->sset[0]->stride.len = (unsigned)rank1;
+ opts->sset[0]->stride.len = (unsigned)rank1;
for (i = 0; i < rank1; i++)
opts->sset[0]->stride.data[i] = 1;
}
- if(!opts->sset[0]->count.data) {
+ if (!opts->sset[0]->count.data) {
opts->sset[0]->count.data = (hsize_t *)HDcalloc((size_t)rank1, sizeof(hsize_t));
- opts->sset[0]->count.len = (unsigned)rank1;
+ opts->sset[0]->count.len = (unsigned)rank1;
for (i = 0; i < rank1; i++)
opts->sset[0]->count.data[i] = 1;
}
- if(!opts->sset[0]->block.data) {
+ if (!opts->sset[0]->block.data) {
opts->sset[0]->block.data = (hsize_t *)HDcalloc((size_t)rank1, sizeof(hsize_t));
- opts->sset[0]->block.len = (unsigned)rank1;
+ opts->sset[0]->block.len = (unsigned)rank1;
for (i = 0; i < rank1; i++)
opts->sset[0]->block.data[i] = 1;
}
@@ -586,13 +587,13 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
* check for block overlap
*-------------------------------------------------------------------------
*/
- for(i = 0; i < rank1; i++) {
- if(opts->sset[0]->count.data[i] > 1) {
- if(opts->sset[0]->stride.data[i] < opts->sset[0]->block.data[i]) {
+ for (i = 0; i < rank1; i++) {
+ if (opts->sset[0]->count.data[i] > 1) {
+ if (opts->sset[0]->stride.data[i] < opts->sset[0]->block.data[i]) {
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "wrong subset selection[0]; blocks overlap");
} /* end if */
- } /* end if */
- } /* end for */
+ } /* end if */
+ } /* end for */
}
/* Reset the total number of elements to the subset from the command */
@@ -600,43 +601,45 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
for (i = 0; i < rank1; i++) {
hs_offset1[i] = opts->sset[0]->start.data[i];
hs_stride1[i] = opts->sset[0]->stride.data[i];
- hs_count1[i] = opts->sset[0]->count.data[i];
- hs_block1[i] = opts->sset[0]->block.data[i];
+ hs_count1[i] = opts->sset[0]->count.data[i];
+ hs_block1[i] = opts->sset[0]->block.data[i];
opts->nelmts *= hs_count1[i] * hs_block1[i];
hs_size1[i] = 0;
- H5TOOLS_DEBUG("[%d]hs_offset1:%ld, hs_stride1:%ld, hs_count1:%ld, hs_block1:%ld", i, hs_offset1[i], hs_stride1[i], hs_count1[i], hs_block1[i]);
+ H5TOOLS_DEBUG("[%d]hs_offset1:%ld, hs_stride1:%ld, hs_count1:%ld, hs_block1:%ld", i,
+ hs_offset1[i], hs_stride1[i], hs_count1[i], hs_block1[i]);
}
}
if (opts->sset[1] != NULL) {
H5TOOLS_DEBUG("opts->sset[1] != NULL");
/* Check for valid settings - default if not specified */
- if(!opts->sset[1]->start.data || !opts->sset[1]->stride.data || !opts->sset[1]->count.data || !opts->sset[1]->block.data) {
+ if (!opts->sset[1]->start.data || !opts->sset[1]->stride.data || !opts->sset[1]->count.data ||
+ !opts->sset[1]->block.data) {
/* they didn't specify a ``stride'' or ``block''. default to 1 in all
* dimensions */
- if(!opts->sset[1]->start.data) {
+ if (!opts->sset[1]->start.data) {
/* default to (0, 0, ...) for the start coord */
opts->sset[1]->start.data = (hsize_t *)HDcalloc((size_t)rank2, sizeof(hsize_t));
- opts->sset[1]->start.len = (unsigned)rank2;
+ opts->sset[1]->start.len = (unsigned)rank2;
}
- if(!opts->sset[1]->stride.data) {
+ if (!opts->sset[1]->stride.data) {
opts->sset[1]->stride.data = (hsize_t *)HDcalloc((size_t)rank2, sizeof(hsize_t));
- opts->sset[1]->stride.len = (unsigned)rank2;
+ opts->sset[1]->stride.len = (unsigned)rank2;
for (i = 0; i < rank2; i++)
opts->sset[1]->stride.data[i] = 1;
}
- if(!opts->sset[1]->count.data) {
+ if (!opts->sset[1]->count.data) {
opts->sset[1]->count.data = (hsize_t *)HDcalloc((size_t)rank2, sizeof(hsize_t));
- opts->sset[1]->count.len = (unsigned)rank2;
+ opts->sset[1]->count.len = (unsigned)rank2;
for (i = 0; i < rank2; i++)
opts->sset[1]->count.data[i] = 1;
}
- if(!opts->sset[1]->block.data) {
+ if (!opts->sset[1]->block.data) {
opts->sset[1]->block.data = (hsize_t *)HDcalloc((size_t)rank2, sizeof(hsize_t));
- opts->sset[1]->block.len = (unsigned)rank2;
+ opts->sset[1]->block.len = (unsigned)rank2;
for (i = 0; i < rank2; i++)
opts->sset[1]->block.data[i] = 1;
}
@@ -645,22 +648,23 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
* check for block overlap
*-------------------------------------------------------------------------
*/
- for(i = 0; i < rank2; i++) {
- if(opts->sset[1]->count.data[i] > 1) {
- if(opts->sset[1]->stride.data[i] < opts->sset[1]->block.data[i]) {
+ for (i = 0; i < rank2; i++) {
+ if (opts->sset[1]->count.data[i] > 1) {
+ if (opts->sset[1]->stride.data[i] < opts->sset[1]->block.data[i]) {
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "wrong subset selection[1]; blocks overlap");
} /* end if */
- } /* end if */
- } /* end for */
+ } /* end if */
+ } /* end for */
}
for (i = 0; i < rank2; i++) {
hs_offset2[i] = opts->sset[1]->start.data[i];
hs_stride2[i] = opts->sset[1]->stride.data[i];
- hs_count2[i] = opts->sset[1]->count.data[i];
- hs_block2[i] = opts->sset[1]->block.data[i];
- hs_size2[i] = 0;
- H5TOOLS_DEBUG("[%d]hs_offset2:%ld, hs_stride2:%ld, hs_count2:%ld, hs_block2:%ld", i, hs_offset2[i], hs_stride2[i], hs_count2[i], hs_block2[i]);
+ hs_count2[i] = opts->sset[1]->count.data[i];
+ hs_block2[i] = opts->sset[1]->block.data[i];
+ hs_size2[i] = 0;
+ H5TOOLS_DEBUG("[%d]hs_offset2:%ld, hs_stride2:%ld, hs_count2:%ld, hs_block2:%ld", i,
+ hs_offset2[i], hs_stride2[i], hs_count2[i], hs_block2[i]);
}
}
@@ -669,18 +673,18 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
* a hyperslab whose size is manageable.
*/
sm_nbytes = opts->m_size;
- if(opts->rank > 0) {
+ if (opts->rank > 0) {
for (i = opts->rank; i > 0; --i) {
hsize_t size = H5TOOLS_BUFSIZE / sm_nbytes;
if (size == 0) /* datum size > H5TOOLS_BUFSIZE */
size = 1;
H5TOOLS_DEBUG("opts->dims[%d]: %ld - size: %ld", i - 1, opts->dims[i - 1], size);
if (opts->sset[1] != NULL) {
- sm_size[i - 1] = MIN(hs_block1[i - 1] * hs_count1[i - 1], size);
+ sm_size[i - 1] = MIN(hs_block1[i - 1] * hs_count1[i - 1], size);
sm_block[i - 1] = MIN(hs_block1[i - 1], sm_size[i - 1]);
}
else {
- sm_size[i - 1] = MIN(opts->dims[i - 1], size);
+ sm_size[i - 1] = MIN(opts->dims[i - 1], size);
sm_block[i - 1] = sm_size[i - 1];
}
H5TOOLS_DEBUG("sm_size[%d]: %ld - sm_block:%ld", i - 1, sm_size[i - 1], sm_block[i - 1]);
@@ -690,84 +694,90 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
}
H5TOOLS_DEBUG("opts->nelmts: %ld", opts->nelmts);
- for(elmtno = 0; elmtno < opts->nelmts; elmtno += opts->hs_nelmts) {
+ for (elmtno = 0; elmtno < opts->nelmts; elmtno += opts->hs_nelmts) {
H5TOOLS_DEBUG("elmtno: %ld - hs_nelmts1: %ld", elmtno, hs_nelmts1);
- if(NULL == (sm_buf1 = (unsigned char *)HDmalloc((size_t) sm_nbytes)))
+ if (NULL == (sm_buf1 = (unsigned char *)HDmalloc((size_t)sm_nbytes)))
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Could not allocate buffer for strip-mine");
- if(NULL == (sm_buf2 = (unsigned char *)HDmalloc((size_t) sm_nbytes)))
+ if (NULL == (sm_buf2 = (unsigned char *)HDmalloc((size_t)sm_nbytes)))
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Could not allocate buffer for strip-mine");
/* calculate the hyperslab size */
/* initialize subset */
- if(opts->rank > 0) {
+ if (opts->rank > 0) {
if (opts->sset[0] != NULL) {
H5TOOLS_DEBUG("sset1 has data");
/* calculate the potential number of elements */
- for(i = 0; i < rank1; i++) {
- H5TOOLS_DEBUG("[%d]opts->dims: %ld - hs_offset1: %ld - sm_block: %ld", i, opts->dims[i], hs_offset1[i], sm_block[i]);
+ for (i = 0; i < rank1; i++) {
+ H5TOOLS_DEBUG("[%d]opts->dims: %ld - hs_offset1: %ld - sm_block: %ld", i,
+ opts->dims[i], hs_offset1[i], sm_block[i]);
hs_size1[i] = MIN(opts->dims[i] - hs_offset1[i], sm_block[i]);
H5TOOLS_DEBUG("hs_size1[%d]: %ld", i, hs_size1[i]);
}
- if(H5Sselect_hyperslab(sid1, H5S_SELECT_SET, hs_offset1, hs_stride1, hs_count1, hs_size1) < 0)
+ if (H5Sselect_hyperslab(sid1, H5S_SELECT_SET, hs_offset1, hs_stride1, hs_count1,
+ hs_size1) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sselect_hyperslab sid1 failed");
}
else {
- for(i = 0, hs_nelmts1 = 1; i < rank1; i++) {
- H5TOOLS_DEBUG("[%d]opts->dims: %ld - hs_offset1: %ld - sm_block: %ld", i, opts->dims[i], hs_offset1[i], sm_block[i]);
+ for (i = 0, hs_nelmts1 = 1; i < rank1; i++) {
+ H5TOOLS_DEBUG("[%d]opts->dims: %ld - hs_offset1: %ld - sm_block: %ld", i,
+ opts->dims[i], hs_offset1[i], sm_block[i]);
hs_size1[i] = MIN(opts->dims[i] - hs_offset1[i], sm_block[i]);
H5TOOLS_DEBUG("hs_size1[%d]: %ld", i, hs_size1[i]);
hs_nelmts1 *= hs_size1[i];
H5TOOLS_DEBUG("hs_nelmts1:%ld *= hs_size1[%d]: %ld", hs_nelmts1, i, hs_size1[i]);
}
- if(H5Sselect_hyperslab(sid1, H5S_SELECT_SET, hs_offset1, NULL, hs_size1, NULL) < 0)
+ if (H5Sselect_hyperslab(sid1, H5S_SELECT_SET, hs_offset1, NULL, hs_size1, NULL) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sselect_hyperslab sid1 failed");
}
- if((ssm_nelmts = H5Sget_select_npoints(sid1)) < 0)
+ if ((ssm_nelmts = H5Sget_select_npoints(sid1)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sget_select_npoints failed");
sm_nelmts1 = (hsize_t)ssm_nelmts;
H5TOOLS_DEBUG("sm_nelmts1: %ld", sm_nelmts1);
hs_nelmts1 = sm_nelmts1;
- if((sm_space1 = H5Screate_simple(1, &sm_nelmts1, NULL)) < 0)
+ if ((sm_space1 = H5Screate_simple(1, &sm_nelmts1, NULL)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Screate_simple failed");
- if(H5Sselect_hyperslab(sm_space1, H5S_SELECT_SET, zero, NULL, &sm_nelmts1, NULL) < 0)
+ if (H5Sselect_hyperslab(sm_space1, H5S_SELECT_SET, zero, NULL, &sm_nelmts1, NULL) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sselect_hyperslab failed");
if (opts->sset[1] != NULL) {
H5TOOLS_DEBUG("sset2 has data");
- for(i = 0; i < rank2; i++) {
- H5TOOLS_DEBUG("[%d]opts->dims: %ld - hs_offset2: %ld - sm_block: %ld", i, opts->dims[i], hs_offset2[i], sm_block[i]);
+ for (i = 0; i < rank2; i++) {
+ H5TOOLS_DEBUG("[%d]opts->dims: %ld - hs_offset2: %ld - sm_block: %ld", i,
+ opts->dims[i], hs_offset2[i], sm_block[i]);
hs_size2[i] = MIN(opts->dims[i] - hs_offset2[i], sm_block[i]);
H5TOOLS_DEBUG("hs_size2[%d]: %ld", i, hs_size2[i]);
}
- if(H5Sselect_hyperslab(sid2, H5S_SELECT_SET, hs_offset2, hs_stride2, hs_count2, hs_size2) < 0)
+ if (H5Sselect_hyperslab(sid2, H5S_SELECT_SET, hs_offset2, hs_stride2, hs_count2,
+ hs_size2) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sselect_hyperslab sid2 failed");
}
else {
- for(i = 0, hs_nelmts2 = 1; i < rank2; i++) {
- H5TOOLS_DEBUG("[%d]opts->dims: %ld - hs_offset2: %ld - sm_block: %ld", i, opts->dims[i], hs_offset2[i], sm_block[i]);
+ for (i = 0, hs_nelmts2 = 1; i < rank2; i++) {
+ H5TOOLS_DEBUG("[%d]opts->dims: %ld - hs_offset2: %ld - sm_block: %ld", i,
+ opts->dims[i], hs_offset2[i], sm_block[i]);
hs_size2[i] = MIN(opts->dims[i] - hs_offset2[i], sm_block[i]);
H5TOOLS_DEBUG("hs_size2[%d]: %ld", i, hs_size2[i]);
hs_nelmts2 *= hs_size2[i];
H5TOOLS_DEBUG("hs_nelmts2:%ld *= hs_size2[%d]: %ld", hs_nelmts2, i, hs_size2[i]);
}
- if(H5Sselect_hyperslab(sid2, H5S_SELECT_SET, hs_offset2, NULL, hs_size2, NULL) < 0)
+ if (H5Sselect_hyperslab(sid2, H5S_SELECT_SET, hs_offset2, NULL, hs_size2, NULL) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sselect_hyperslab sid2 failed");
}
- if((ssm_nelmts = H5Sget_select_npoints(sid2)) < 0)
+ if ((ssm_nelmts = H5Sget_select_npoints(sid2)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sget_select_npoints failed");
sm_nelmts2 = (hsize_t)ssm_nelmts;
H5TOOLS_DEBUG("sm_nelmts2: %ld", sm_nelmts2);
hs_nelmts2 = sm_nelmts2;
- if((sm_space2 = H5Screate_simple(1, &sm_nelmts2, NULL)) < 0)
+ if ((sm_space2 = H5Screate_simple(1, &sm_nelmts2, NULL)) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Screate_simple failed");
- if(H5Sselect_hyperslab(sm_space2, H5S_SELECT_SET, zero, NULL, &sm_nelmts2, NULL) < 0)
+ if (H5Sselect_hyperslab(sm_space2, H5S_SELECT_SET, zero, NULL, &sm_nelmts2, NULL) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sselect_hyperslab failed");
}
else
@@ -776,14 +786,14 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
H5TOOLS_DEBUG("hs_nelmts: %ld", opts->hs_nelmts);
/* read the data */
- if(H5Dread(did1, m_tid1, sm_space1, sid1, H5P_DEFAULT, sm_buf1) < 0)
+ if (H5Dread(did1, m_tid1, sm_space1, sid1, H5P_DEFAULT, sm_buf1) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dread failed");
- if(H5Dread(did2, m_tid2, sm_space2, sid2, H5P_DEFAULT, sm_buf2) < 0)
+ if (H5Dread(did2, m_tid2, sm_space2, sid2, H5P_DEFAULT, sm_buf2) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Dread failed");
/* print array indices. get the lower bound of the hyperslab and calculate
the element position at the start of hyperslab */
- if(H5Sget_select_bounds(sid1, low, high) < 0)
+ if (H5Sget_select_bounds(sid1, low, high) < 0)
H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "H5Sget_select_bounds failed");
/* initialize the current stripmine position; this is necessary to print the array indices */
for (j = 0; j < opts->rank; j++)
@@ -796,16 +806,16 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
found in each hyperslab and pass the position at the beginning for printing */
nfound += diff_array(sm_buf1, sm_buf2, opts, did1, did2);
- if(sm_buf1 != NULL) {
+ if (sm_buf1 != NULL) {
/* reclaim any VL memory, if necessary */
- if(vl_data1)
+ if (vl_data1)
H5Treclaim(m_tid1, sm_space1, H5P_DEFAULT, sm_buf1);
HDfree(sm_buf1);
sm_buf1 = NULL;
}
- if(sm_buf2 != NULL) {
+ if (sm_buf2 != NULL) {
/* reclaim any VL memory, if necessary */
- if(vl_data2)
+ if (vl_data2)
H5Treclaim(m_tid2, sm_space2, H5P_DEFAULT, sm_buf2);
HDfree(sm_buf2);
sm_buf2 = NULL;
@@ -815,10 +825,11 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
H5Sclose(sm_space2);
/* calculate the next hyperslab offset */
- for(i = opts->rank, carry = 1; i > 0 && carry; --i) {
+ for (i = opts->rank, carry = 1; i > 0 && carry; --i) {
if (opts->sset[0] != NULL) {
- H5TOOLS_DEBUG("[%d]hs_size1:%ld - hs_block1:%ld - hs_stride1:%ld", i-1, hs_size1[i-1], hs_block1[i - 1], hs_stride1[i - 1]);
- if(hs_size1[i - 1] >= hs_block1[i - 1]) {
+ H5TOOLS_DEBUG("[%d]hs_size1:%ld - hs_block1:%ld - hs_stride1:%ld", i - 1,
+ hs_size1[i - 1], hs_block1[i - 1], hs_stride1[i - 1]);
+ if (hs_size1[i - 1] >= hs_block1[i - 1]) {
hs_offset1[i - 1] += hs_size1[i - 1];
}
else {
@@ -827,15 +838,17 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
}
else
hs_offset1[i - 1] += hs_size1[i - 1];
- H5TOOLS_DEBUG("[%d]hs_offset1:%ld - opts->dims:%ld", i-1, hs_offset1[i-1], opts->dims[i - 1]);
- if(hs_offset1[i - 1] >= opts->dims[i - 1])
+ H5TOOLS_DEBUG("[%d]hs_offset1:%ld - opts->dims:%ld", i - 1, hs_offset1[i - 1],
+ opts->dims[i - 1]);
+ if (hs_offset1[i - 1] >= opts->dims[i - 1])
hs_offset1[i - 1] = 0;
else
carry = 0;
- H5TOOLS_DEBUG("[%d]hs_offset1:%ld", i-1, hs_offset1[i-1]);
+ H5TOOLS_DEBUG("[%d]hs_offset1:%ld", i - 1, hs_offset1[i - 1]);
if (opts->sset[1] != NULL) {
- H5TOOLS_DEBUG("[%d]hs_size2:%ld - hs_block2:%ld - hs_stride2:%ld", i-1, hs_size2[i-1], hs_block2[i - 1], hs_stride2[i - 1]);
- if(hs_size2[i - 1] >= hs_block2[i - 1]) {
+ H5TOOLS_DEBUG("[%d]hs_size2:%ld - hs_block2:%ld - hs_stride2:%ld", i - 1,
+ hs_size2[i - 1], hs_block2[i - 1], hs_stride2[i - 1]);
+ if (hs_size2[i - 1] >= hs_block2[i - 1]) {
hs_offset2[i - 1] += hs_size2[i - 1];
}
else {
@@ -844,17 +857,17 @@ diff_datasetid(hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_n
}
else
hs_offset2[i - 1] += hs_size2[i - 1];
- H5TOOLS_DEBUG("[%d]hs_offset2:%ld - opts->dims:%ld", i-1, hs_offset2[i-1], opts->dims[i - 1]);
- if(hs_offset2[i - 1] >= opts->dims[i - 1])
+ H5TOOLS_DEBUG("[%d]hs_offset2:%ld - opts->dims:%ld", i - 1, hs_offset2[i - 1],
+ opts->dims[i - 1]);
+ if (hs_offset2[i - 1] >= opts->dims[i - 1])
hs_offset2[i - 1] = 0;
- H5TOOLS_DEBUG("[%d]hs_offset2:%ld", i-1, hs_offset2[i-1]);
+ H5TOOLS_DEBUG("[%d]hs_offset2:%ld", i - 1, hs_offset2[i - 1]);
}
} /* elmtno for loop */
- } /* hyperslab read */
+ } /* hyperslab read */
H5TOOLS_DEBUG("can compare complete");
} /*can_compare*/
-
/*-------------------------------------------------------------------------
* close
*-------------------------------------------------------------------------
@@ -866,38 +879,38 @@ done:
H5TOOLS_DEBUG("free names - errstat:%d", opts->err_stat);
/* free */
if (opts->obj_name[0] != NULL)
- HDfree(opts->obj_name[0]);
+ HDfree(opts->obj_name[0]);
opts->obj_name[0] = NULL;
if (opts->obj_name[1] != NULL)
- HDfree(opts->obj_name[1]);
+ HDfree(opts->obj_name[1]);
opts->obj_name[1] = NULL;
H5TOOLS_DEBUG("reclaim any VL memory");
- if(buf1 != NULL) {
+ if (buf1 != NULL) {
/* reclaim any VL memory, if necessary */
- if(vl_data1)
+ if (vl_data1)
H5Treclaim(m_tid1, sid1, H5P_DEFAULT, buf1);
HDfree(buf1);
buf1 = NULL;
}
- if(buf2 != NULL) {
+ if (buf2 != NULL) {
/* reclaim any VL memory, if necessary */
- if(vl_data2)
+ if (vl_data2)
H5Treclaim(m_tid2, sid2, H5P_DEFAULT, buf2);
HDfree(buf2);
buf2 = NULL;
}
H5TOOLS_DEBUG("reclaim any stripmine VL memory");
- if(sm_buf1 != NULL) {
+ if (sm_buf1 != NULL) {
/* reclaim any VL memory, if necessary */
- if(vl_data1)
+ if (vl_data1)
H5Treclaim(m_tid1, sm_space1, H5P_DEFAULT, sm_buf1);
HDfree(sm_buf1);
sm_buf1 = NULL;
}
- if(sm_buf2 != NULL) {
+ if (sm_buf2 != NULL) {
/* reclaim any VL memory, if necessary */
- if(vl_data2)
+ if (vl_data2)
H5Treclaim(m_tid2, sm_space2, H5P_DEFAULT, sm_buf2);
HDfree(sm_buf2);
sm_buf2 = NULL;
@@ -905,7 +918,8 @@ done:
H5TOOLS_DEBUG("close ids");
/* disable error reporting */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Sclose(sid1);
H5Sclose(sid2);
H5Sclose(sm_space1);
@@ -917,7 +931,8 @@ done:
H5Tclose(m_tid1);
H5Tclose(m_tid2);
/* enable error reporting */
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
H5TOOLS_ENDDEBUG(": %d with nfound:%d", ret_value, nfound);
return nfound;
@@ -937,37 +952,35 @@ done:
int
diff_can_type(hid_t f_tid1, hid_t f_tid2, int rank1, int rank2, hsize_t *dims1, hsize_t *dims2,
- hsize_t *maxdim1, hsize_t *maxdim2, diff_opt_t *opts, int is_compound)
+ hsize_t *maxdim1, hsize_t *maxdim2, diff_opt_t *opts, int is_compound)
{
- H5T_class_t tclass1;
- H5T_class_t tclass2;
- int maxdim_diff = 0; /* maximum dimensions are different */
- int dim_diff = 0; /* current dimensions are different */
- int i;
- int ret_value = 1;
+ H5T_class_t tclass1;
+ H5T_class_t tclass2;
+ int maxdim_diff = 0; /* maximum dimensions are different */
+ int dim_diff = 0; /* current dimensions are different */
+ int i;
+ int ret_value = 1;
H5TOOLS_START_DEBUG("");
/*-------------------------------------------------------------------------
* check for the same class
*-------------------------------------------------------------------------
*/
- if((tclass1 = H5Tget_class(f_tid1)) < 0)
+ if ((tclass1 = H5Tget_class(f_tid1)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Tget_class first object failed");
- if((tclass2 = H5Tget_class(f_tid2)) < 0)
+ if ((tclass2 = H5Tget_class(f_tid2)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Tget_class second object failed");
H5TOOLS_DEBUG("obj_names: %s - %s", opts->obj_name[0], opts->obj_name[1]);
- if(tclass1 != tclass2) {
- if((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1]) {
- if(is_compound) {
+ if (tclass1 != tclass2) {
+ if ((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1]) {
+ if (is_compound) {
parallel_print("Not comparable: <%s> has a class %s and <%s> has a class %s\n",
- opts->obj_name[0], get_class(tclass1),
- opts->obj_name[1], get_class(tclass2));
+ opts->obj_name[0], get_class(tclass1), opts->obj_name[1], get_class(tclass2));
}
else {
parallel_print("Not comparable: <%s> is of class %s and <%s> is of class %s\n",
- opts->obj_name[0], get_class(tclass1),
- opts->obj_name[1], get_class(tclass2));
+ opts->obj_name[0], get_class(tclass1), opts->obj_name[1], get_class(tclass2));
}
}
@@ -981,9 +994,9 @@ diff_can_type(hid_t f_tid1, hid_t f_tid2, int rank1, int rank2, hsize_t *dims1,
*/
switch (tclass1) {
case H5T_TIME:
- if((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1]) {
- parallel_print("Not comparable: <%s> and <%s> are of class %s\n",
- opts->obj_name[0], opts->obj_name[1], get_class(tclass2));
+ if ((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1]) {
+ parallel_print("Not comparable: <%s> and <%s> are of class %s\n", opts->obj_name[0],
+ opts->obj_name[1], get_class(tclass2));
} /* end if */
opts->not_cmp = 1;
@@ -1011,11 +1024,11 @@ diff_can_type(hid_t f_tid1, hid_t f_tid2, int rank1, int rank2, hsize_t *dims1,
* check for equal file datatype; warning only
*-------------------------------------------------------------------------
*/
- if((H5Tequal(f_tid1, f_tid2) == 0) && (opts->mode_verbose) && opts->obj_name[0] && opts->obj_name[1]) {
+ if ((H5Tequal(f_tid1, f_tid2) == 0) && (opts->mode_verbose) && opts->obj_name[0] && opts->obj_name[1]) {
H5T_class_t cl = H5Tget_class(f_tid1);
parallel_print("Warning: different storage datatype\n");
- if(cl == H5T_INTEGER || cl == H5T_FLOAT) {
+ if (cl == H5T_INTEGER || cl == H5T_FLOAT) {
parallel_print("<%s> has file datatype ", opts->obj_name[0]);
print_type(f_tid1);
parallel_print("\n");
@@ -1029,13 +1042,13 @@ diff_can_type(hid_t f_tid1, hid_t f_tid2, int rank1, int rank2, hsize_t *dims1,
* check for the same rank
*-------------------------------------------------------------------------
*/
- if(rank1 != rank2) {
- if((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1]) {
+ if (rank1 != rank2) {
+ if ((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1]) {
parallel_print("Not comparable: <%s> has rank %d, dimensions ", opts->obj_name[0], rank1);
print_dimensions(rank1, dims1);
parallel_print(", max dimensions ");
print_dimensions(rank1, maxdim1);
- parallel_print("\n" );
+ parallel_print("\n");
parallel_print("and <%s> has rank %d, dimensions ", opts->obj_name[1], rank2);
print_dimensions(rank2, dims2);
parallel_print(", max dimensions ");
@@ -1051,12 +1064,12 @@ diff_can_type(hid_t f_tid1, hid_t f_tid2, int rank1, int rank2, hsize_t *dims1,
* check for different dimensions
*-------------------------------------------------------------------------
*/
- for(i = 0; i<rank1; i++) {
- if(maxdim1 && maxdim2) {
- if(maxdim1[i] != maxdim2[i])
+ for (i = 0; i < rank1; i++) {
+ if (maxdim1 && maxdim2) {
+ if (maxdim1[i] != maxdim2[i])
maxdim_diff = 1;
}
- if(dims1[i] != dims2[i])
+ if (dims1[i] != dims2[i])
dim_diff = 1;
}
@@ -1064,14 +1077,14 @@ diff_can_type(hid_t f_tid1, hid_t f_tid2, int rank1, int rank2, hsize_t *dims1,
* current dimensions
*-------------------------------------------------------------------------
*/
- if(dim_diff == 1) {
- if((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1]) {
+ if (dim_diff == 1) {
+ if ((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1]) {
parallel_print("Not comparable: <%s> has rank %d, dimensions ", opts->obj_name[0], rank1);
print_dimensions(rank1, dims1);
- if(maxdim1 && maxdim2) {
+ if (maxdim1 && maxdim2) {
parallel_print(", max dimensions ");
print_dimensions(rank1, maxdim1);
- parallel_print("\n" );
+ parallel_print("\n");
parallel_print("and <%s> has rank %d, dimensions ", opts->obj_name[1], rank2);
print_dimensions(rank2, dims2);
parallel_print(", max dimensions ");
@@ -1088,9 +1101,9 @@ diff_can_type(hid_t f_tid1, hid_t f_tid2, int rank1, int rank2, hsize_t *dims1,
* maximum dimensions; just give a warning
*-------------------------------------------------------------------------
*/
- if(maxdim1 && maxdim2 && maxdim_diff == 1 && opts->obj_name[0]) {
- if(opts->mode_verbose) {
- parallel_print( "Warning: different maximum dimensions\n");
+ if (maxdim1 && maxdim2 && maxdim_diff == 1 && opts->obj_name[0]) {
+ if (opts->mode_verbose) {
+ parallel_print("Warning: different maximum dimensions\n");
parallel_print("<%s> has max dimensions ", opts->obj_name[0]);
print_dimensions(rank1, maxdim1);
parallel_print("\n");
@@ -1100,7 +1113,7 @@ diff_can_type(hid_t f_tid1, hid_t f_tid2, int rank1, int rank2, hsize_t *dims1,
}
}
- if(tclass1 == H5T_STRING) {
+ if (tclass1 == H5T_STRING) {
htri_t vstrtype1 = -1;
htri_t vstrtype2 = -1;
H5TOOLS_DEBUG(" - H5T_STRING");
@@ -1110,16 +1123,16 @@ diff_can_type(hid_t f_tid1, hid_t f_tid2, int rank1, int rank2, hsize_t *dims1,
/* no compare if either one but not both are variable string type */
if (vstrtype1 != vstrtype2) {
- if((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1])
- parallel_print("Not comparable: <%s> or <%s> is of mixed string type\n",
- opts->obj_name[0], opts->obj_name[1]);
+ if ((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1])
+ parallel_print("Not comparable: <%s> or <%s> is of mixed string type\n", opts->obj_name[0],
+ opts->obj_name[1]);
opts->not_cmp = 1;
H5TOOLS_GOTO_DONE(0);
}
}
- if(tclass1 == H5T_COMPOUND) {
+ if (tclass1 == H5T_COMPOUND) {
int nmembs1;
int nmembs2;
int j;
@@ -1130,8 +1143,8 @@ diff_can_type(hid_t f_tid1, hid_t f_tid2, int rank1, int rank2, hsize_t *dims1,
nmembs1 = H5Tget_nmembers(f_tid1);
nmembs2 = H5Tget_nmembers(f_tid2);
- if(nmembs1 != nmembs2) {
- if((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1]) {
+ if (nmembs1 != nmembs2) {
+ if ((opts->mode_verbose || opts->mode_list_not_cmp) && opts->obj_name[0] && opts->obj_name[1]) {
parallel_print("Not comparable: <%s> has %d members ", opts->obj_name[0], nmembs1);
parallel_print("<%s> has %d members ", opts->obj_name[1], nmembs2);
parallel_print("\n");
@@ -1145,7 +1158,8 @@ diff_can_type(hid_t f_tid1, hid_t f_tid2, int rank1, int rank2, hsize_t *dims1,
memb_type1 = H5Tget_member_type(f_tid1, (unsigned)j);
memb_type2 = H5Tget_member_type(f_tid2, (unsigned)j);
- if (diff_can_type(memb_type1, memb_type2, rank1, rank2, dims1, dims2, maxdim1, maxdim2, opts, 1) != 1) {
+ if (diff_can_type(memb_type1, memb_type2, rank1, rank2, dims1, dims2, maxdim1, maxdim2, opts,
+ 1) != 1) {
opts->not_cmp = 1;
H5Tclose(memb_type1);
H5Tclose(memb_type2);
@@ -1163,8 +1177,7 @@ done:
return ret_value;
}
-
-#if defined (H5DIFF_DEBUG_UNUSED)
+#if defined(H5DIFF_DEBUG_UNUSED)
/* this function is not currently used, but could be useful */
/*-------------------------------------------------------------------------
* Function: print_sizes
@@ -1172,45 +1185,46 @@ done:
* Purpose: Print datatype sizes
*-------------------------------------------------------------------------
*/
-void print_sizes( const char *obj1, const char *obj2, hid_t f_tid1, hid_t f_tid2, hid_t m_tid1, hid_t m_tid2);
+void print_sizes(const char *obj1, const char *obj2, hid_t f_tid1, hid_t f_tid2, hid_t m_tid1, hid_t m_tid2);
-void print_sizes( const char *obj1, const char *obj2, hid_t f_tid1, hid_t f_tid2, hid_t m_tid1, hid_t m_tid2)
+void
+print_sizes(const char *obj1, const char *obj2, hid_t f_tid1, hid_t f_tid2, hid_t m_tid1, hid_t m_tid2)
{
- size_t f_size1, f_size2; /* size of type in file */
- size_t m_size1, m_size2; /* size of type in memory */
+ size_t f_size1, f_size2; /* size of type in file */
+ size_t m_size1, m_size2; /* size of type in memory */
- f_size1 = H5Tget_size( f_tid1 );
- f_size2 = H5Tget_size( f_tid2 );
- m_size1 = H5Tget_size( m_tid1 );
- m_size2 = H5Tget_size( m_tid2 );
+ f_size1 = H5Tget_size(f_tid1);
+ f_size2 = H5Tget_size(f_tid2);
+ m_size1 = H5Tget_size(m_tid1);
+ m_size2 = H5Tget_size(m_tid2);
parallel_print("\n");
parallel_print("------------------\n");
- parallel_print("sizeof(char) %u\n", sizeof(char) );
- parallel_print("sizeof(short) %u\n", sizeof(short) );
- parallel_print("sizeof(int) %u\n", sizeof(int) );
- parallel_print("sizeof(long) %u\n", sizeof(long) );
+ parallel_print("sizeof(char) %u\n", sizeof(char));
+ parallel_print("sizeof(short) %u\n", sizeof(short));
+ parallel_print("sizeof(int) %u\n", sizeof(int));
+ parallel_print("sizeof(long) %u\n", sizeof(long));
parallel_print("<%s> ------------------\n", obj1);
parallel_print("type on file ");
print_type(f_tid1);
parallel_print("\n");
- parallel_print("size on file %u\n", f_size1 );
+ parallel_print("size on file %u\n", f_size1);
parallel_print("type on memory ");
print_type(m_tid1);
parallel_print("\n");
- parallel_print("size on memory %u\n", m_size1 );
+ parallel_print("size on memory %u\n", m_size1);
parallel_print("<%s> ------------------\n", obj2);
parallel_print("type on file ");
print_type(f_tid2);
parallel_print("\n");
- parallel_print("size on file %u\n", f_size2 );
+ parallel_print("size on file %u\n", f_size2);
parallel_print("type on memory ");
print_type(m_tid2);
parallel_print("\n");
- parallel_print("size on memory %u\n", m_size2 );
+ parallel_print("size on memory %u\n", m_size2);
parallel_print("\n");
}
#endif /* H5DIFF_DEBUG */
diff --git a/tools/lib/h5diff_util.c b/tools/lib/h5diff_util.c
index 6bfab30..0c20447 100644
--- a/tools/lib/h5diff_util.c
+++ b/tools/lib/h5diff_util.c
@@ -17,9 +17,8 @@
#include "h5diff.h"
#include "ph5diff.h"
-
/* global variables */
-int g_nTasks = 1;
+int g_nTasks = 1;
/*-------------------------------------------------------------------------
* Function: print_dimensions
@@ -28,29 +27,28 @@ int g_nTasks = 1;
*-------------------------------------------------------------------------
*/
void
-print_dimensions (int rank, hsize_t *dims)
+print_dimensions(int rank, hsize_t *dims)
{
- int i;
+ int i;
- if(rank <= 0)
- parallel_print("H5S_SCALAR" );
+ if (rank <= 0)
+ parallel_print("H5S_SCALAR");
else {
if (!dims)
parallel_print("dimension is NULL");
else {
parallel_print("[");
- for (i = 0; i < rank-1; i++) {
+ for (i = 0; i < rank - 1; i++) {
parallel_print(HSIZE_T_FORMAT, dims[i]);
parallel_print("x");
}
- parallel_print(HSIZE_T_FORMAT, dims[rank-1]);
- parallel_print("]" );
+ parallel_print(HSIZE_T_FORMAT, dims[rank - 1]);
+ parallel_print("]");
}
}
}
-
/*-------------------------------------------------------------------------
* Function: print_type
*
@@ -61,120 +59,121 @@ print_dimensions (int rank, hsize_t *dims)
* Comments: Adapted from h5dump for H5T_INTEGER and H5T_FLOAT classes only
*-------------------------------------------------------------------------
*/
-void print_type(hid_t type)
+void
+print_type(hid_t type)
{
switch (H5Tget_class(type)) {
- case H5T_INTEGER:
- if(H5Tequal(type, H5T_STD_I8BE))
- parallel_print("H5T_STD_I8BE");
- else if(H5Tequal(type, H5T_STD_I8LE))
- parallel_print("H5T_STD_I8LE");
- else if(H5Tequal(type, H5T_STD_I16BE))
- parallel_print("H5T_STD_I16BE");
- else if(H5Tequal(type, H5T_STD_I16LE))
- parallel_print("H5T_STD_I16LE");
- else if(H5Tequal(type, H5T_STD_I32BE))
- parallel_print("H5T_STD_I32BE");
- else if(H5Tequal(type, H5T_STD_I32LE))
- parallel_print("H5T_STD_I32LE");
- else if(H5Tequal(type, H5T_STD_I64BE))
- parallel_print("H5T_STD_I64BE");
- else if(H5Tequal(type, H5T_STD_I64LE))
- parallel_print("H5T_STD_I64LE");
- else if(H5Tequal(type, H5T_STD_U8BE))
- parallel_print("H5T_STD_U8BE");
- else if(H5Tequal(type, H5T_STD_U8LE))
- parallel_print("H5T_STD_U8LE");
- else if(H5Tequal(type, H5T_STD_U16BE))
- parallel_print("H5T_STD_U16BE");
- else if(H5Tequal(type, H5T_STD_U16LE))
- parallel_print("H5T_STD_U16LE");
- else if(H5Tequal(type, H5T_STD_U32BE))
- parallel_print("H5T_STD_U32BE");
- else if(H5Tequal(type, H5T_STD_U32LE))
- parallel_print("H5T_STD_U32LE");
- else if(H5Tequal(type, H5T_STD_U64BE))
- parallel_print("H5T_STD_U64BE");
- else if(H5Tequal(type, H5T_STD_U64LE))
- parallel_print("H5T_STD_U64LE");
- else if(H5Tequal(type, H5T_NATIVE_SCHAR))
- parallel_print("H5T_NATIVE_SCHAR");
- else if(H5Tequal(type, H5T_NATIVE_UCHAR))
- parallel_print("H5T_NATIVE_UCHAR");
- else if(H5Tequal(type, H5T_NATIVE_SHORT))
- parallel_print("H5T_NATIVE_SHORT");
- else if(H5Tequal(type, H5T_NATIVE_USHORT))
- parallel_print("H5T_NATIVE_USHORT");
- else if(H5Tequal(type, H5T_NATIVE_INT))
- parallel_print("H5T_NATIVE_INT");
- else if(H5Tequal(type, H5T_NATIVE_UINT))
- parallel_print("H5T_NATIVE_UINT");
- else if(H5Tequal(type, H5T_NATIVE_LONG))
- parallel_print("H5T_NATIVE_LONG");
- else if(H5Tequal(type, H5T_NATIVE_ULONG))
- parallel_print("H5T_NATIVE_ULONG");
- else if(H5Tequal(type, H5T_NATIVE_LLONG))
- parallel_print("H5T_NATIVE_LLONG");
- else if(H5Tequal(type, H5T_NATIVE_ULLONG))
- parallel_print("H5T_NATIVE_ULLONG");
- else
- parallel_print("undefined integer");
- break;
-
- case H5T_FLOAT:
- if(H5Tequal(type, H5T_IEEE_F32BE))
- parallel_print("H5T_IEEE_F32BE");
- else if(H5Tequal(type, H5T_IEEE_F32LE))
- parallel_print("H5T_IEEE_F32LE");
- else if(H5Tequal(type, H5T_IEEE_F64BE))
- parallel_print("H5T_IEEE_F64BE");
- else if(H5Tequal(type, H5T_IEEE_F64LE))
- parallel_print("H5T_IEEE_F64LE");
- else if(H5Tequal(type, H5T_NATIVE_FLOAT))
- parallel_print("H5T_NATIVE_FLOAT");
- else if(H5Tequal(type, H5T_NATIVE_DOUBLE))
- parallel_print("H5T_NATIVE_DOUBLE");
-#if H5_SIZEOF_LONG_DOUBLE !=0
- else if(H5Tequal(type, H5T_NATIVE_LDOUBLE))
- parallel_print("H5T_NATIVE_LDOUBLE");
+ case H5T_INTEGER:
+ if (H5Tequal(type, H5T_STD_I8BE))
+ parallel_print("H5T_STD_I8BE");
+ else if (H5Tequal(type, H5T_STD_I8LE))
+ parallel_print("H5T_STD_I8LE");
+ else if (H5Tequal(type, H5T_STD_I16BE))
+ parallel_print("H5T_STD_I16BE");
+ else if (H5Tequal(type, H5T_STD_I16LE))
+ parallel_print("H5T_STD_I16LE");
+ else if (H5Tequal(type, H5T_STD_I32BE))
+ parallel_print("H5T_STD_I32BE");
+ else if (H5Tequal(type, H5T_STD_I32LE))
+ parallel_print("H5T_STD_I32LE");
+ else if (H5Tequal(type, H5T_STD_I64BE))
+ parallel_print("H5T_STD_I64BE");
+ else if (H5Tequal(type, H5T_STD_I64LE))
+ parallel_print("H5T_STD_I64LE");
+ else if (H5Tequal(type, H5T_STD_U8BE))
+ parallel_print("H5T_STD_U8BE");
+ else if (H5Tequal(type, H5T_STD_U8LE))
+ parallel_print("H5T_STD_U8LE");
+ else if (H5Tequal(type, H5T_STD_U16BE))
+ parallel_print("H5T_STD_U16BE");
+ else if (H5Tequal(type, H5T_STD_U16LE))
+ parallel_print("H5T_STD_U16LE");
+ else if (H5Tequal(type, H5T_STD_U32BE))
+ parallel_print("H5T_STD_U32BE");
+ else if (H5Tequal(type, H5T_STD_U32LE))
+ parallel_print("H5T_STD_U32LE");
+ else if (H5Tequal(type, H5T_STD_U64BE))
+ parallel_print("H5T_STD_U64BE");
+ else if (H5Tequal(type, H5T_STD_U64LE))
+ parallel_print("H5T_STD_U64LE");
+ else if (H5Tequal(type, H5T_NATIVE_SCHAR))
+ parallel_print("H5T_NATIVE_SCHAR");
+ else if (H5Tequal(type, H5T_NATIVE_UCHAR))
+ parallel_print("H5T_NATIVE_UCHAR");
+ else if (H5Tequal(type, H5T_NATIVE_SHORT))
+ parallel_print("H5T_NATIVE_SHORT");
+ else if (H5Tequal(type, H5T_NATIVE_USHORT))
+ parallel_print("H5T_NATIVE_USHORT");
+ else if (H5Tequal(type, H5T_NATIVE_INT))
+ parallel_print("H5T_NATIVE_INT");
+ else if (H5Tequal(type, H5T_NATIVE_UINT))
+ parallel_print("H5T_NATIVE_UINT");
+ else if (H5Tequal(type, H5T_NATIVE_LONG))
+ parallel_print("H5T_NATIVE_LONG");
+ else if (H5Tequal(type, H5T_NATIVE_ULONG))
+ parallel_print("H5T_NATIVE_ULONG");
+ else if (H5Tequal(type, H5T_NATIVE_LLONG))
+ parallel_print("H5T_NATIVE_LLONG");
+ else if (H5Tequal(type, H5T_NATIVE_ULLONG))
+ parallel_print("H5T_NATIVE_ULLONG");
+ else
+ parallel_print("undefined integer");
+ break;
+
+ case H5T_FLOAT:
+ if (H5Tequal(type, H5T_IEEE_F32BE))
+ parallel_print("H5T_IEEE_F32BE");
+ else if (H5Tequal(type, H5T_IEEE_F32LE))
+ parallel_print("H5T_IEEE_F32LE");
+ else if (H5Tequal(type, H5T_IEEE_F64BE))
+ parallel_print("H5T_IEEE_F64BE");
+ else if (H5Tequal(type, H5T_IEEE_F64LE))
+ parallel_print("H5T_IEEE_F64LE");
+ else if (H5Tequal(type, H5T_NATIVE_FLOAT))
+ parallel_print("H5T_NATIVE_FLOAT");
+ else if (H5Tequal(type, H5T_NATIVE_DOUBLE))
+ parallel_print("H5T_NATIVE_DOUBLE");
+#if H5_SIZEOF_LONG_DOUBLE != 0
+ else if (H5Tequal(type, H5T_NATIVE_LDOUBLE))
+ parallel_print("H5T_NATIVE_LDOUBLE");
#endif
- else
- parallel_print("undefined float");
- break;
-
- case H5T_BITFIELD:
- if(H5Tequal(type, H5T_STD_B8BE))
- parallel_print("H5T_STD_B8BE");
- else if(H5Tequal(type, H5T_STD_B8LE))
- parallel_print("H5T_STD_B8LE");
- else if(H5Tequal(type, H5T_STD_B16BE))
- parallel_print("H5T_STD_B16BE");
- else if(H5Tequal(type, H5T_STD_B16LE))
- parallel_print("H5T_STD_B16LE");
- else if(H5Tequal(type, H5T_STD_B32BE))
- parallel_print("H5T_STD_B32BE");
- else if(H5Tequal(type, H5T_STD_B32LE))
- parallel_print("H5T_STD_B32LE");
- else if(H5Tequal(type, H5T_STD_B64BE))
- parallel_print("H5T_STD_B64BE");
- else if(H5Tequal(type, H5T_STD_B64LE))
- parallel_print("H5T_STD_B64LE");
- else
- parallel_print("undefined bitfield");
- break;
-
- case H5T_TIME:
- case H5T_STRING:
- case H5T_OPAQUE:
- case H5T_COMPOUND:
- case H5T_REFERENCE:
- case H5T_ENUM:
- case H5T_VLEN:
- case H5T_ARRAY:
- case H5T_NO_CLASS:
- case H5T_NCLASSES:
- default:
- return;
+ else
+ parallel_print("undefined float");
+ break;
+
+ case H5T_BITFIELD:
+ if (H5Tequal(type, H5T_STD_B8BE))
+ parallel_print("H5T_STD_B8BE");
+ else if (H5Tequal(type, H5T_STD_B8LE))
+ parallel_print("H5T_STD_B8LE");
+ else if (H5Tequal(type, H5T_STD_B16BE))
+ parallel_print("H5T_STD_B16BE");
+ else if (H5Tequal(type, H5T_STD_B16LE))
+ parallel_print("H5T_STD_B16LE");
+ else if (H5Tequal(type, H5T_STD_B32BE))
+ parallel_print("H5T_STD_B32BE");
+ else if (H5Tequal(type, H5T_STD_B32LE))
+ parallel_print("H5T_STD_B32LE");
+ else if (H5Tequal(type, H5T_STD_B64BE))
+ parallel_print("H5T_STD_B64BE");
+ else if (H5Tequal(type, H5T_STD_B64LE))
+ parallel_print("H5T_STD_B64LE");
+ else
+ parallel_print("undefined bitfield");
+ break;
+
+ case H5T_TIME:
+ case H5T_STRING:
+ case H5T_OPAQUE:
+ case H5T_COMPOUND:
+ case H5T_REFERENCE:
+ case H5T_ENUM:
+ case H5T_VLEN:
+ case H5T_ARRAY:
+ case H5T_NO_CLASS:
+ case H5T_NCLASSES:
+ default:
+ return;
} /* end switch */
}
@@ -185,24 +184,24 @@ void print_type(hid_t type)
* Purpose: Returns a pointer to the last component absolute name
*-------------------------------------------------------------------------
*/
-H5_ATTR_PURE const char*
+H5_ATTR_PURE const char *
diff_basename(const char *name)
{
size_t i;
- if(name == NULL)
+ if (name == NULL)
return NULL;
/* Find the end of the base name */
i = HDstrlen(name);
- while(i > 0 && '/' == name[i - 1])
+ while (i > 0 && '/' == name[i - 1])
--i;
/* Skip backward over base name */
- while(i > 0 && '/' != name[i - 1])
+ while (i > 0 && '/' != name[i - 1])
--i;
- return(name+i);
+ return (name + i);
}
/*-------------------------------------------------------------------------
@@ -211,28 +210,28 @@ diff_basename(const char *name)
* Purpose: Returns the type as a string
*-------------------------------------------------------------------------
*/
-H5_ATTR_CONST const char*
+H5_ATTR_CONST const char *
get_type(h5trav_type_t type)
{
- switch(type) {
+ switch (type) {
case H5TRAV_TYPE_DATASET:
- return("H5G_DATASET");
+ return ("H5G_DATASET");
case H5TRAV_TYPE_GROUP:
- return("H5G_GROUP");
+ return ("H5G_GROUP");
case H5TRAV_TYPE_NAMED_DATATYPE:
- return("H5G_TYPE");
+ return ("H5G_TYPE");
case H5TRAV_TYPE_LINK:
- return("H5G_LINK");
+ return ("H5G_LINK");
case H5TRAV_TYPE_UDLINK:
- return("H5G_UDLINK");
+ return ("H5G_UDLINK");
case H5TRAV_TYPE_UNKNOWN:
default:
- return("unknown type");
+ return ("unknown type");
}
}
@@ -242,10 +241,10 @@ get_type(h5trav_type_t type)
* Purpose: Returns the sign as a string
*-------------------------------------------------------------------------
*/
-H5_ATTR_CONST const char*
+H5_ATTR_CONST const char *
get_sign(H5T_sign_t sign)
{
- switch(sign) {
+ switch (sign) {
case H5T_SGN_NONE:
return "H5T_SGN_NONE";
@@ -263,54 +262,53 @@ get_sign(H5T_sign_t sign)
} /* end switch */
}
-
/*-------------------------------------------------------------------------
* Function: get_class
*
* Purpose: Returns the class as a string
*-------------------------------------------------------------------------
*/
-H5_ATTR_CONST const char*
+H5_ATTR_CONST const char *
get_class(H5T_class_t tclass)
{
- switch(tclass) {
+ switch (tclass) {
case H5T_TIME:
- return("H5T_TIME");
+ return ("H5T_TIME");
case H5T_INTEGER:
- return("H5T_INTEGER");
+ return ("H5T_INTEGER");
case H5T_FLOAT:
- return("H5T_FLOAT");
+ return ("H5T_FLOAT");
case H5T_STRING:
- return("H5T_STRING");
+ return ("H5T_STRING");
case H5T_BITFIELD:
- return("H5T_BITFIELD");
+ return ("H5T_BITFIELD");
case H5T_OPAQUE:
- return("H5T_OPAQUE");
+ return ("H5T_OPAQUE");
case H5T_COMPOUND:
- return("H5T_COMPOUND");
+ return ("H5T_COMPOUND");
case H5T_REFERENCE:
- return("H5T_REFERENCE");
+ return ("H5T_REFERENCE");
case H5T_ENUM:
- return("H5T_ENUM");
+ return ("H5T_ENUM");
case H5T_VLEN:
- return("H5T_VLEN");
+ return ("H5T_VLEN");
case H5T_ARRAY:
- return("H5T_ARRAY");
+ return ("H5T_ARRAY");
case H5T_NO_CLASS:
case H5T_NCLASSES:
default:
- return("Invalid class");
+ return ("Invalid class");
} /* end switch */
} /* end get_class() */
@@ -320,33 +318,33 @@ get_class(H5T_class_t tclass)
* Purpose: print number of differences found
*-------------------------------------------------------------------------
*/
-void print_found(hsize_t nfound)
+void
+print_found(hsize_t nfound)
{
- if(g_Parallel)
+ if (g_Parallel)
parallel_print("%" PRIuHSIZE " differences found\n", nfound);
else
- HDfprintf(stdout,"%" PRIuHSIZE " differences found\n",nfound);
+ HDfprintf(stdout, "%" PRIuHSIZE " differences found\n", nfound);
}
-
/*-----------------------------------------------------------------
* Function: match_up_memsize
*
* Purpose: match smaller memory size up to bigger memory size
*------------------------------------------------------------------
*/
-herr_t match_up_memsize (hid_t f_tid1_id, hid_t f_tid2_id,
- hid_t *m_tid1, hid_t *m_tid2,
- size_t *m_size1, size_t *m_size2)
+herr_t
+match_up_memsize(hid_t f_tid1_id, hid_t f_tid2_id, hid_t *m_tid1, hid_t *m_tid2, size_t *m_size1,
+ size_t *m_size2)
{
herr_t ret_value = SUCCEED;
H5TOOLS_START_DEBUG("");
- if((*m_size1) != (*m_size2)) {
- if((*m_size1) < (*m_size2)) {
+ if ((*m_size1) != (*m_size2)) {
+ if ((*m_size1) < (*m_size2)) {
H5Tclose(*m_tid1);
- if(((*m_tid1) = H5Tget_native_type(f_tid2_id, H5T_DIR_DEFAULT)) < 0)
+ if (((*m_tid1) = H5Tget_native_type(f_tid2_id, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Tget_native_type failed");
*m_size1 = H5Tget_size(*m_tid1);
@@ -354,17 +352,16 @@ herr_t match_up_memsize (hid_t f_tid1_id, hid_t f_tid2_id,
else {
H5Tclose(*m_tid2);
- if(((*m_tid2) = H5Tget_native_type(f_tid1_id, H5T_DIR_DEFAULT)) < 0)
+ if (((*m_tid2) = H5Tget_native_type(f_tid1_id, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Tget_native_type failed");
*m_size2 = H5Tget_size(*m_tid2);
} /* end else */
- } /* end if */
- if((*m_size1) != (*m_size2))
+ } /* end if */
+ if ((*m_size1) != (*m_size2))
H5TOOLS_GOTO_ERROR(FAIL, "native type sizes do not compare");
done:
H5TOOLS_ENDDEBUG("");
return ret_value;
}
-
diff --git a/tools/lib/h5tools.c b/tools/lib/h5tools.c
index 55c69a7..921abb7 100644
--- a/tools/lib/h5tools.c
+++ b/tools/lib/h5tools.c
@@ -24,50 +24,49 @@
#ifdef H5_TOOLS_DEBUG
/* global debug variables */
-int H5tools_INDENT_g = 0;
+int H5tools_INDENT_g = 0;
#endif
-
/* global variables */
H5E_auto2_t lib_func;
H5E_auto2_t tools_func;
-void *lib_edata;
-void *tools_edata;
-
-hid_t H5tools_ERR_STACK_g = H5I_INVALID_HID;
-hid_t H5tools_ERR_CLS_g = H5I_INVALID_HID;
-hid_t H5E_tools_g = H5I_INVALID_HID;
-hid_t H5E_tools_min_id_g = H5I_INVALID_HID;
-hid_t H5E_tools_min_info_id_g = H5I_INVALID_HID;
-hid_t H5E_tools_min_dbg_id_g = H5I_INVALID_HID;
-
-FILE *rawattrstream = NULL; /* should initialize to stdout but gcc moans about it */
-FILE *rawdatastream = NULL; /* should initialize to stdout but gcc moans about it */
-FILE *rawinstream = NULL; /* should initialize to stdin but gcc moans about it */
-FILE *rawoutstream = NULL; /* should initialize to stdout but gcc moans about it */
-FILE *rawerrorstream = NULL; /* should initialize to stderr but gcc moans about it */
-
-int bin_output; /* binary output */
-int bin_form = 0; /* binary form, default NATIVE */
-int region_output; /* region output */
-int oid_output; /* oid output */
-int data_output; /* data output */
-int attr_data_output; /* attribute data output */
-int compound_data;
-
-unsigned packed_bits_num; /* number of packed bits to display */
-unsigned packed_data_offset; /* offset of packed bits to display */
-unsigned packed_data_length; /* length of packed bits to display */
-unsigned long long packed_data_mask; /* mask in which packed bits to display */
-
-int enable_error_stack = 0; /* re-enable error stack; disable=0 enable=1 */
+void * lib_edata;
+void * tools_edata;
+
+hid_t H5tools_ERR_STACK_g = H5I_INVALID_HID;
+hid_t H5tools_ERR_CLS_g = H5I_INVALID_HID;
+hid_t H5E_tools_g = H5I_INVALID_HID;
+hid_t H5E_tools_min_id_g = H5I_INVALID_HID;
+hid_t H5E_tools_min_info_id_g = H5I_INVALID_HID;
+hid_t H5E_tools_min_dbg_id_g = H5I_INVALID_HID;
+
+FILE *rawattrstream = NULL; /* should initialize to stdout but gcc moans about it */
+FILE *rawdatastream = NULL; /* should initialize to stdout but gcc moans about it */
+FILE *rawinstream = NULL; /* should initialize to stdin but gcc moans about it */
+FILE *rawoutstream = NULL; /* should initialize to stdout but gcc moans about it */
+FILE *rawerrorstream = NULL; /* should initialize to stderr but gcc moans about it */
+
+int bin_output; /* binary output */
+int bin_form = 0; /* binary form, default NATIVE */
+int region_output; /* region output */
+int oid_output; /* oid output */
+int data_output; /* data output */
+int attr_data_output; /* attribute data output */
+int compound_data;
+
+unsigned packed_bits_num; /* number of packed bits to display */
+unsigned packed_data_offset; /* offset of packed bits to display */
+unsigned packed_data_length; /* length of packed bits to display */
+unsigned long long packed_data_mask; /* mask in which packed bits to display */
+
+int enable_error_stack = 0; /* re-enable error stack; disable=0 enable=1 */
/* sort parameters */
-H5_index_t sort_by = H5_INDEX_NAME; /* sort_by [creation_order | name] */
-H5_iter_order_t sort_order = H5_ITER_INC; /* sort_order [ascending | descending] */
+H5_index_t sort_by = H5_INDEX_NAME; /* sort_by [creation_order | name] */
+H5_iter_order_t sort_order = H5_ITER_INC; /* sort_order [ascending | descending] */
/* module-scoped variables */
-static int h5tools_init_g; /* if h5tools lib has been initialized */
+static int h5tools_init_g; /* if h5tools lib has been initialized */
/* Names of VOL connectors */
const char *volnames[] = {
@@ -82,18 +81,7 @@ const char *volnames[] = {
*
*/
const char *drivernames[] = {
- "sec2",
- "direct",
- "log",
- "windows",
- "stdio",
- "core",
- "family",
- "split",
- "multi",
- "mpio",
- "ros3",
- "hdfs",
+ "sec2", "direct", "log", "windows", "stdio", "core", "family", "split", "multi", "mpio", "ros3", "hdfs",
};
#define NUM_VOLS (sizeof(volnames) / sizeof(volnames[0]))
@@ -241,9 +229,9 @@ h5tools_close(void)
int
h5tools_set_data_output_file(const char *fname, int is_bin)
{
- int retvalue = FAIL;
- FILE *f; /* temporary holding place for the stream pointer
- * so that rawdatastream is changed only when succeeded */
+ int retvalue = FAIL;
+ FILE *f; /* temporary holding place for the stream pointer
+ * so that rawdatastream is changed only when succeeded */
if (rawdatastream && rawdatastream != stdout) {
if (HDfclose(rawdatastream))
@@ -258,19 +246,19 @@ h5tools_set_data_output_file(const char *fname, int is_bin)
if (is_bin) {
if ((f = HDfopen(fname, "wb")) != NULL) {
rawdatastream = f;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
}
else {
if ((f = HDfopen(fname, "w")) != NULL) {
rawdatastream = f;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
}
}
else {
rawdatastream = NULL;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
return retvalue;
@@ -289,9 +277,9 @@ h5tools_set_data_output_file(const char *fname, int is_bin)
int
h5tools_set_attr_output_file(const char *fname, int is_bin)
{
- int retvalue = FAIL;
- FILE *f; /* temporary holding place for the stream pointer
- * so that rawattrstream is changed only when succeeded */
+ int retvalue = FAIL;
+ FILE *f; /* temporary holding place for the stream pointer
+ * so that rawattrstream is changed only when succeeded */
if (rawattrstream && rawattrstream != stdout) {
if (HDfclose(rawattrstream))
@@ -306,19 +294,19 @@ h5tools_set_attr_output_file(const char *fname, int is_bin)
if (is_bin) {
if ((f = HDfopen(fname, "wb")) != NULL) {
rawattrstream = f;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
}
else {
if ((f = HDfopen(fname, "w")) != NULL) {
rawattrstream = f;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
}
}
else {
rawattrstream = NULL;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
return retvalue;
@@ -338,9 +326,9 @@ h5tools_set_attr_output_file(const char *fname, int is_bin)
int
h5tools_set_input_file(const char *fname, int is_bin)
{
- int retvalue = FAIL;
- FILE *f; /* temporary holding place for the stream pointer
- * so that rawinstream is changed only when succeeded */
+ int retvalue = FAIL;
+ FILE *f; /* temporary holding place for the stream pointer
+ * so that rawinstream is changed only when succeeded */
if (rawinstream && rawinstream != stdin) {
if (HDfclose(rawinstream))
@@ -354,19 +342,19 @@ h5tools_set_input_file(const char *fname, int is_bin)
if (is_bin) {
if ((f = HDfopen(fname, "rb")) != NULL) {
rawinstream = f;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
}
else {
if ((f = HDfopen(fname, "r")) != NULL) {
rawinstream = f;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
}
}
else {
rawinstream = NULL;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
return retvalue;
@@ -386,9 +374,9 @@ h5tools_set_input_file(const char *fname, int is_bin)
int
h5tools_set_output_file(const char *fname, int is_bin)
{
- int retvalue = FAIL;
- FILE *f; /* temporary holding place for the stream pointer
- * so that rawoutstream is changed only when succeeded */
+ int retvalue = FAIL;
+ FILE *f; /* temporary holding place for the stream pointer
+ * so that rawoutstream is changed only when succeeded */
if (rawoutstream && rawoutstream != stdout) {
if (HDfclose(rawoutstream))
@@ -402,19 +390,19 @@ h5tools_set_output_file(const char *fname, int is_bin)
if (is_bin) {
if ((f = HDfopen(fname, "wb")) != NULL) {
rawoutstream = f;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
}
else {
if ((f = HDfopen(fname, "w")) != NULL) {
rawoutstream = f;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
}
}
else {
rawoutstream = NULL;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
return retvalue;
@@ -433,9 +421,9 @@ h5tools_set_output_file(const char *fname, int is_bin)
int
h5tools_set_error_file(const char *fname, int is_bin)
{
- int retvalue = FAIL;
- FILE *f; /* temporary holding place for the stream pointer
- * so that rawerrorstream is changed only when succeeded */
+ int retvalue = FAIL;
+ FILE *f; /* temporary holding place for the stream pointer
+ * so that rawerrorstream is changed only when succeeded */
if (rawerrorstream && rawerrorstream != stderr) {
if (HDfclose(rawerrorstream))
@@ -446,23 +434,23 @@ h5tools_set_error_file(const char *fname, int is_bin)
/* First check if filename is string "NULL" */
if (fname != NULL) {
- /* binary output */
+ /* binary output */
if (is_bin) {
if ((f = HDfopen(fname, "wb")) != NULL) {
rawerrorstream = f;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
}
else {
if ((f = HDfopen(fname, "w")) != NULL) {
rawerrorstream = f;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
}
}
else {
rawerrorstream = NULL;
- retvalue = SUCCEED;
+ retvalue = SUCCEED;
}
return retvalue;
@@ -502,7 +490,7 @@ h5tools_set_fapl_vfd(hid_t fapl_id, h5tools_vfd_info_t *vfd_info)
unsigned long long log_flags = H5FD_LOG_LOC_IO | H5FD_LOG_ALLOC;
/* Log Driver */
- if (H5Pset_fapl_log(fapl_id, NULL, log_flags, (size_t) 0) < 0)
+ if (H5Pset_fapl_log(fapl_id, NULL, log_flags, (size_t)0) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Pset_fapl_log failed");
}
else if (!HDstrcmp(vfd_info->name, drivernames[WINDOWS_VFD_IDX])) {
@@ -521,7 +509,7 @@ h5tools_set_fapl_vfd(hid_t fapl_id, h5tools_vfd_info_t *vfd_info)
}
else if (!HDstrcmp(vfd_info->name, drivernames[CORE_VFD_IDX])) {
/* Core Driver */
- if (H5Pset_fapl_core(fapl_id, (size_t) H5_MB, TRUE) < 0)
+ if (H5Pset_fapl_core(fapl_id, (size_t)H5_MB, TRUE) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Pset_fapl_core failed");
}
else if (!HDstrcmp(vfd_info->name, drivernames[FAMILY_VFD_IDX])) {
@@ -529,7 +517,7 @@ h5tools_set_fapl_vfd(hid_t fapl_id, h5tools_vfd_info_t *vfd_info)
/* Set member size to be 0 to indicate the current first member size
* is the member size.
*/
- if (H5Pset_fapl_family(fapl_id, (hsize_t) 0, H5P_DEFAULT) < 0)
+ if (H5Pset_fapl_family(fapl_id, (hsize_t)0, H5P_DEFAULT) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Pset_fapl_family failed");
}
else if (!HDstrcmp(vfd_info->name, drivernames[SPLIT_VFD_IDX])) {
@@ -601,9 +589,9 @@ static herr_t
h5tools_set_fapl_vol(hid_t fapl_id, h5tools_vol_info_t *vol_info)
{
htri_t connector_is_registered;
- hid_t connector_id = H5I_INVALID_HID;
- void *connector_info = NULL;
- herr_t ret_value = SUCCEED;
+ hid_t connector_id = H5I_INVALID_HID;
+ void * connector_info = NULL;
+ herr_t ret_value = SUCCEED;
switch (vol_info->type) {
case VOL_BY_NAME:
@@ -617,7 +605,7 @@ h5tools_set_fapl_vol(hid_t fapl_id, h5tools_vol_info_t *vol_info)
else {
/* Check for VOL connectors that ship with the library, then try
* registering by name if that fails.
- */
+ */
if (!HDstrcmp(vol_info->u.name, H5VL_NATIVE_NAME)) {
connector_id = H5VL_NATIVE;
}
@@ -700,11 +688,10 @@ done:
*-------------------------------------------------------------------------
*/
hid_t
-h5tools_get_fapl(hid_t prev_fapl_id, h5tools_vol_info_t *vol_info,
- h5tools_vfd_info_t *vfd_info)
+h5tools_get_fapl(hid_t prev_fapl_id, h5tools_vol_info_t *vol_info, h5tools_vfd_info_t *vfd_info)
{
hid_t new_fapl_id = H5I_INVALID_HID;
- hid_t ret_value = H5I_INVALID_HID;
+ hid_t ret_value = H5I_INVALID_HID;
if (prev_fapl_id < 0)
H5TOOLS_GOTO_ERROR(FAIL, "invalid FAPL");
@@ -756,7 +743,7 @@ herr_t
h5tools_get_vfd_name(hid_t fapl_id, char *drivername, size_t drivername_size)
{
hid_t fapl_vol_id = H5I_INVALID_HID;
- herr_t ret_value = SUCCEED;
+ herr_t ret_value = SUCCEED;
if (fapl_id < 0)
H5TOOLS_GOTO_ERROR(FAIL, "invalid FAPL");
@@ -875,11 +862,11 @@ done:
*-------------------------------------------------------------------------
*/
hid_t
-h5tools_fopen(const char *fname, unsigned flags, hid_t fapl_id, hbool_t use_specific_driver,
- char *drivername, size_t drivername_size)
+h5tools_fopen(const char *fname, unsigned flags, hid_t fapl_id, hbool_t use_specific_driver, char *drivername,
+ size_t drivername_size)
{
- hid_t fid = H5I_INVALID_HID;
- hid_t tmp_fapl_id = H5I_INVALID_HID;
+ hid_t fid = H5I_INVALID_HID;
+ hid_t tmp_fapl_id = H5I_INVALID_HID;
hid_t used_fapl_id = H5I_INVALID_HID;
unsigned volnum, drivernum;
hid_t ret_value = H5I_INVALID_HID;
@@ -898,9 +885,8 @@ h5tools_fopen(const char *fname, unsigned flags, hid_t fapl_id, hbool_t use_spec
fid = H5Fopen(fname, flags, fapl_id);
}
else {
- H5E_BEGIN_TRY {
- fid = H5Fopen(fname, flags, fapl_id);
- } H5E_END_TRY;
+ H5E_BEGIN_TRY { fid = H5Fopen(fname, flags, fapl_id); }
+ H5E_END_TRY;
}
/* If we succeeded in opening the file, we're done. */
@@ -925,9 +911,9 @@ h5tools_fopen(const char *fname, unsigned flags, hid_t fapl_id, hbool_t use_spec
for (volnum = 0; volnum < NUM_VOLS; volnum++) {
h5tools_vol_info_t vol_info;
- vol_info.type = VOL_BY_NAME;
- vol_info.info_string = NULL;
- vol_info.u.name = volnames[volnum];
+ vol_info.type = VOL_BY_NAME;
+ vol_info.info_string = NULL;
+ vol_info.u.name = volnames[volnum];
/* TODO: For now, we have no way of determining if an arbitrary
* VOL connector is native-terminal so we only try VFDs with the
@@ -948,15 +934,16 @@ h5tools_fopen(const char *fname, unsigned flags, hid_t fapl_id, hbool_t use_spec
if (drivernum == LOG_VFD_IDX)
continue;
- vfd_info.info = NULL;
- vfd_info.name = drivernames[drivernum];
+ vfd_info.info = NULL;
+ vfd_info.name = drivernames[drivernum];
/* Get a fapl reflecting the selected VOL connector and VFD */
if ((tmp_fapl_id = h5tools_get_fapl(fapl_id, &vol_info, &vfd_info)) < 0)
continue;
/* Can we open the file with this combo? */
- if ((fid = h5tools_fopen(fname, flags, tmp_fapl_id, TRUE, drivername, drivername_size)) >= 0) {
+ if ((fid = h5tools_fopen(fname, flags, tmp_fapl_id, TRUE, drivername, drivername_size)) >=
+ 0) {
used_fapl_id = tmp_fapl_id;
H5TOOLS_GOTO_DONE(fid);
}
@@ -1041,12 +1028,12 @@ h5tools_detect_vlen(hid_t tid)
/* recursive detect any vlen data values in type (compound, array ...) */
ret = H5Tdetect_class(tid, H5T_VLEN);
- if((ret == TRUE) || (ret < 0))
+ if ((ret == TRUE) || (ret < 0))
goto done;
/* recursive detect any vlen string in type (compound, array ...) */
ret = h5tools_detect_vlen_str(tid);
- if((ret == TRUE) || (ret < 0))
+ if ((ret == TRUE) || (ret < 0))
goto done;
done:
@@ -1067,42 +1054,42 @@ htri_t
h5tools_detect_vlen_str(hid_t tid)
{
H5T_class_t tclass = -1;
- htri_t ret = FALSE;
+ htri_t ret = FALSE;
ret = H5Tis_variable_str(tid);
- if((ret == TRUE) || (ret < 0))
+ if ((ret == TRUE) || (ret < 0))
goto done;
tclass = H5Tget_class(tid);
- if(tclass == H5T_ARRAY || tclass == H5T_VLEN) {
+ if (tclass == H5T_ARRAY || tclass == H5T_VLEN) {
hid_t btid = H5Tget_super(tid);
- if(btid < 0) {
+ if (btid < 0) {
ret = (htri_t)btid;
goto done;
}
ret = h5tools_detect_vlen_str(btid);
- if((ret == TRUE) || (ret < 0)) {
+ if ((ret == TRUE) || (ret < 0)) {
H5Tclose(btid);
goto done;
}
}
- else if(tclass == H5T_COMPOUND) {
+ else if (tclass == H5T_COMPOUND) {
unsigned nmembs;
- int snmembs = H5Tget_nmembers(tid);
+ int snmembs = H5Tget_nmembers(tid);
unsigned u;
- if(snmembs < 0) {
+ if (snmembs < 0) {
ret = FAIL;
goto done;
}
nmembs = (unsigned)snmembs;
- for(u = 0; u < nmembs; u++) {
+ for (u = 0; u < nmembs; u++) {
hid_t mtid = H5Tget_member_type(tid, u);
ret = h5tools_detect_vlen_str(mtid);
- if((ret == TRUE) || (ret < 0)) {
+ if ((ret == TRUE) || (ret < 0)) {
H5Tclose(mtid);
goto done;
}
@@ -1125,13 +1112,13 @@ done:
*-------------------------------------------------------------------------
*/
void
-h5tools_simple_prefix(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- hsize_t elmtno, int secnum)
+h5tools_simple_prefix(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hsize_t elmtno,
+ int secnum)
{
h5tools_str_t prefix;
- h5tools_str_t str; /*temporary for indentation */
- size_t templength = 0;
- unsigned u, indentlevel = 0;
+ h5tools_str_t str; /*temporary for indentation */
+ size_t templength = 0;
+ unsigned u, indentlevel = 0;
if (stream == NULL)
return;
@@ -1145,7 +1132,8 @@ h5tools_simple_prefix(FILE *stream, const h5tool_format_t *info, h5tools_context
HDmemset(&str, 0, sizeof(h5tools_str_t));
/* Terminate previous line, if any */
- H5TOOLS_DEBUG("before CR elmtno=%ld, ctx->cur_column=%d, info->idx_fmt=%s, info->line_suf=%s", elmtno, ctx->cur_column, info->idx_fmt, info->line_suf);
+ H5TOOLS_DEBUG("before CR elmtno=%ld, ctx->cur_column=%d, info->idx_fmt=%s, info->line_suf=%s", elmtno,
+ ctx->cur_column, info->idx_fmt, info->line_suf);
if (ctx->cur_column) {
PUTSTREAM(OPT(info->line_suf, ""), stream);
HDputc('\n', stream);
@@ -1199,8 +1187,8 @@ h5tools_simple_prefix(FILE *stream, const h5tool_format_t *info, h5tools_context
H5TOOLS_DEBUG("prefix=%s - templength=%d", prefix.s, templength);
ctx->cur_column = ctx->prev_prefix_len = templength;
- ctx->cur_elmt = 0;
- ctx->need_prefix = 0;
+ ctx->cur_elmt = 0;
+ ctx->need_prefix = 0;
H5TOOLS_DEBUG("prefix=%s - str=%s", prefix.s, str.s);
/* Free string */
@@ -1222,12 +1210,12 @@ h5tools_simple_prefix(FILE *stream, const h5tool_format_t *info, h5tools_context
*/
void
h5tools_region_simple_prefix(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- hsize_t elmtno, hsize_t *ptdata, int secnum)
+ hsize_t elmtno, hsize_t *ptdata, int secnum)
{
h5tools_str_t prefix;
- h5tools_str_t str; /*temporary for indentation */
- size_t templength = 0;
- unsigned u, indentlevel = 0;
+ h5tools_str_t str; /*temporary for indentation */
+ size_t templength = 0;
+ unsigned u, indentlevel = 0;
if (stream == NULL)
return;
@@ -1287,8 +1275,8 @@ h5tools_region_simple_prefix(FILE *stream, const h5tool_format_t *info, h5tools_
}
ctx->cur_column = ctx->prev_prefix_len = templength;
- ctx->cur_elmt = 0;
- ctx->need_prefix = 0;
+ ctx->cur_elmt = 0;
+ ctx->need_prefix = 0;
/* Free string */
h5tools_str_close(&prefix);
@@ -1320,13 +1308,14 @@ h5tools_region_simple_prefix(FILE *stream, const h5tool_format_t *info, h5tools_
*/
hbool_t
h5tools_render_element(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- h5tools_str_t *buffer, hsize_t *curr_pos, size_t ncols, hsize_t local_elmt_counter, hsize_t elmt_counter)
+ h5tools_str_t *buffer, hsize_t *curr_pos, size_t ncols, hsize_t local_elmt_counter,
+ hsize_t elmt_counter)
{
- hbool_t dimension_break = TRUE;
- char *s = NULL;
- char *section = NULL; /* a section of output */
- int secnum; /* section sequence number */
- int multiline; /* datum was multiline */
+ hbool_t dimension_break = TRUE;
+ char * s = NULL;
+ char * section = NULL; /* a section of output */
+ int secnum; /* section sequence number */
+ int multiline; /* datum was multiline */
if (stream == NULL)
return dimension_break;
@@ -1342,9 +1331,8 @@ h5tools_render_element(FILE *stream, const h5tool_format_t *info, h5tools_contex
* current location...
*/
if (info->line_multi_new == 1 &&
- (ctx->cur_column + h5tools_count_ncols(s) +
- HDstrlen(OPT(info->elmt_suf2, " ")) +
- HDstrlen(OPT(info->line_suf, ""))) > ncols) {
+ (ctx->cur_column + h5tools_count_ncols(s) + HDstrlen(OPT(info->elmt_suf2, " ")) +
+ HDstrlen(OPT(info->line_suf, ""))) > ncols) {
if (ctx->prev_multiline) {
/*
* ... and the previous element also occupied more than one
@@ -1352,9 +1340,8 @@ h5tools_render_element(FILE *stream, const h5tool_format_t *info, h5tools_contex
*/
ctx->need_prefix = TRUE;
}
- else if ((ctx->prev_prefix_len + h5tools_count_ncols(s) +
- HDstrlen(OPT(info->elmt_suf2, " ")) +
- HDstrlen(OPT(info->line_suf, ""))) <= ncols) {
+ else if ((ctx->prev_prefix_len + h5tools_count_ncols(s) + HDstrlen(OPT(info->elmt_suf2, " ")) +
+ HDstrlen(OPT(info->line_suf, ""))) <= ncols) {
/*
* ...but *could* fit on one line otherwise, then we
* should end the current line and start this element on its
@@ -1376,23 +1363,21 @@ h5tools_render_element(FILE *stream, const h5tool_format_t *info, h5tools_contex
if (elmt_counter == ctx->size_last_dim) {
ctx->need_prefix = TRUE;
- dimension_break = FALSE;
+ dimension_break = FALSE;
}
H5TOOLS_DEBUG("ctx->need_prefix=%d", ctx->need_prefix);
}
- H5TOOLS_DEBUG("elmt_counter=%ld - ctx->size_last_dim=%ld info->line_suf=%s", elmt_counter, ctx->size_last_dim, info->line_suf);
+ H5TOOLS_DEBUG("elmt_counter=%ld - ctx->size_last_dim=%ld info->line_suf=%s", elmt_counter,
+ ctx->size_last_dim, info->line_suf);
/*
* If the previous element occupied multiple lines and this element
* is too long to fit on a line then start this element at the
* beginning of the line.
*/
- if (info->line_multi_new == 1 &&
- ctx->prev_multiline &&
- (ctx->cur_column +
- h5tools_count_ncols(s) +
- HDstrlen(OPT(info->elmt_suf2, " ")) +
- HDstrlen(OPT(info->line_suf, ""))) > ncols)
+ if (info->line_multi_new == 1 && ctx->prev_multiline &&
+ (ctx->cur_column + h5tools_count_ncols(s) + HDstrlen(OPT(info->elmt_suf2, " ")) +
+ HDstrlen(OPT(info->line_suf, ""))) > ncols)
ctx->need_prefix = TRUE;
H5TOOLS_DEBUG("ctx->need_prefix=%d", ctx->need_prefix);
@@ -1410,9 +1395,7 @@ h5tools_render_element(FILE *stream, const h5tool_format_t *info, h5tools_contex
* one-at a time.
*/
multiline = 0;
- for (secnum = 0, multiline = 0;
- (section = HDstrtok(secnum ? NULL : s, OPTIONAL_LINE_BREAK));
- secnum++) {
+ for (secnum = 0, multiline = 0; (section = HDstrtok(secnum ? NULL : s, OPTIONAL_LINE_BREAK)); secnum++) {
/*
* If the current section plus possible suffix and end-of-line
* information would cause the output to wrap then we need to
@@ -1422,9 +1405,8 @@ h5tools_render_element(FILE *stream, const h5tool_format_t *info, h5tools_contex
/*
* check for displaying prefix for each section
*/
- if ( (ctx->cur_column + HDstrlen(section) +
- HDstrlen(OPT(info->elmt_suf2, " ")) +
- HDstrlen(OPT(info->line_suf, ""))) > ncols)
+ if ((ctx->cur_column + HDstrlen(section) + HDstrlen(OPT(info->elmt_suf2, " ")) +
+ HDstrlen(OPT(info->line_suf, ""))) > ncols)
ctx->need_prefix = 1;
/*
@@ -1441,7 +1423,8 @@ h5tools_render_element(FILE *stream, const h5tool_format_t *info, h5tools_contex
* this is necessary to print the array indices
*/
*curr_pos = ctx->sm_pos + local_elmt_counter;
- H5TOOLS_DEBUG("curr_pos=%ld - ctx->sm_pos=%ld - ctx->ndims=%ld", *curr_pos, ctx->sm_pos, ctx->ndims);
+ H5TOOLS_DEBUG("curr_pos=%ld - ctx->sm_pos=%ld - ctx->ndims=%ld", *curr_pos, ctx->sm_pos,
+ ctx->ndims);
h5tools_simple_prefix(stream, info, ctx, *curr_pos, secnum);
}
@@ -1490,13 +1473,14 @@ h5tools_render_element(FILE *stream, const h5tool_format_t *info, h5tools_contex
*/
hbool_t
h5tools_render_region_element(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- h5tools_str_t *buffer, hsize_t *curr_pos, size_t ncols, hsize_t *ptdata, hsize_t local_elmt_counter, hsize_t elmt_counter)
+ h5tools_str_t *buffer, hsize_t *curr_pos, size_t ncols, hsize_t *ptdata,
+ hsize_t local_elmt_counter, hsize_t elmt_counter)
{
- hbool_t dimension_break = TRUE;
- char *s = NULL;
- char *section = NULL; /* a section of output */
- int secnum; /* section sequence number */
- int multiline; /* datum was multiline */
+ hbool_t dimension_break = TRUE;
+ char * s = NULL;
+ char * section = NULL; /* a section of output */
+ int secnum; /* section sequence number */
+ int multiline; /* datum was multiline */
H5TOOLS_START_DEBUG("");
H5TOOLS_DEBUG("elmt_counter=%ld - local_elmt_counter=%ld", elmt_counter, local_elmt_counter);
@@ -1508,9 +1492,8 @@ h5tools_render_region_element(FILE *stream, const h5tool_format_t *info, h5tools
* current location...
*/
if (info->line_multi_new == 1 &&
- (ctx->cur_column + h5tools_count_ncols(s) +
- HDstrlen(OPT(info->elmt_suf2, " ")) +
- HDstrlen(OPT(info->line_suf, ""))) > ncols) {
+ (ctx->cur_column + h5tools_count_ncols(s) + HDstrlen(OPT(info->elmt_suf2, " ")) +
+ HDstrlen(OPT(info->line_suf, ""))) > ncols) {
if (ctx->prev_multiline) {
/*
* ... and the previous element also occupied more than one
@@ -1518,9 +1501,8 @@ h5tools_render_region_element(FILE *stream, const h5tool_format_t *info, h5tools
*/
ctx->need_prefix = TRUE;
}
- else if ((ctx->prev_prefix_len + h5tools_count_ncols(s) +
- HDstrlen(OPT(info->elmt_suf2, " ")) +
- HDstrlen(OPT(info->line_suf, ""))) <= ncols) {
+ else if ((ctx->prev_prefix_len + h5tools_count_ncols(s) + HDstrlen(OPT(info->elmt_suf2, " ")) +
+ HDstrlen(OPT(info->line_suf, ""))) <= ncols) {
/*
* ...but *could* fit on one line otherwise, then we
* should end the current line and start this element on its
@@ -1541,7 +1523,7 @@ h5tools_render_region_element(FILE *stream, const h5tool_format_t *info, h5tools
if (elmt_counter == ctx->size_last_dim) {
ctx->need_prefix = TRUE;
- dimension_break = FALSE;
+ dimension_break = FALSE;
}
}
@@ -1551,9 +1533,8 @@ h5tools_render_region_element(FILE *stream, const h5tool_format_t *info, h5tools
* beginning of the line.
*/
if (info->line_multi_new == 1 && ctx->prev_multiline &&
- (ctx->cur_column + h5tools_count_ncols(s) +
- HDstrlen(OPT(info->elmt_suf2, " ")) +
- HDstrlen(OPT(info->line_suf, ""))) > ncols)
+ (ctx->cur_column + h5tools_count_ncols(s) + HDstrlen(OPT(info->elmt_suf2, " ")) +
+ HDstrlen(OPT(info->line_suf, ""))) > ncols)
ctx->need_prefix = TRUE;
/*
@@ -1581,9 +1562,8 @@ h5tools_render_region_element(FILE *stream, const h5tool_format_t *info, h5tools
* this check to happen for the first line
*/
if ((!info->skip_first || local_elmt_counter) &&
- (ctx->cur_column + HDstrlen(section) +
- HDstrlen(OPT(info->elmt_suf2, " ")) +
- HDstrlen(OPT(info->line_suf, ""))) > ncols)
+ (ctx->cur_column + HDstrlen(section) + HDstrlen(OPT(info->elmt_suf2, " ")) +
+ HDstrlen(OPT(info->line_suf, ""))) > ncols)
ctx->need_prefix = 1;
/*
@@ -1631,7 +1611,7 @@ h5tools_render_region_element(FILE *stream, const h5tool_format_t *info, h5tools
void
init_acc_pos(unsigned ndims, hsize_t *dims, hsize_t *acc, hsize_t *pos, hsize_t *p_min_idx)
{
- int i;
+ int i;
unsigned j;
H5TOOLS_START_DEBUG("");
@@ -1639,7 +1619,7 @@ init_acc_pos(unsigned ndims, hsize_t *dims, hsize_t *acc, hsize_t *pos, hsize_t
for (i = 0; (unsigned)i < ndims; i++)
p_min_idx[i] = 0;
- if(ndims > 0) {
+ if (ndims > 0) {
acc[ndims - 1] = 1;
for (i = ((int)ndims - 2); i >= 0; i--) {
acc[i] = acc[i + 1] * dims[i + 1];
@@ -1664,14 +1644,14 @@ init_acc_pos(unsigned ndims, hsize_t *dims, hsize_t *acc, hsize_t *pos, hsize_t
hsize_t
calc_acc_pos(unsigned ndims, hsize_t elmtno, hsize_t *acc, hsize_t *pos)
{
- int i;
- hsize_t curr_pos = elmtno;
+ int i;
+ hsize_t curr_pos = elmtno;
H5TOOLS_START_DEBUG("");
- if(ndims > 0) {
- for(i = 0; i < (int)ndims; i++) {
- if(curr_pos > 0) {
+ if (ndims > 0) {
+ for (i = 0; i < (int)ndims; i++) {
+ if (curr_pos > 0) {
H5TOOLS_DEBUG("curr_pos=%ld - ctx->acc[%d]=%ld", curr_pos, i, acc[i]);
pos[i] = curr_pos / acc[i];
curr_pos -= acc[i] * pos[i];
@@ -1697,20 +1677,20 @@ calc_acc_pos(unsigned ndims, hsize_t elmtno, hsize_t *acc, hsize_t *pos)
*-------------------------------------------------------------------------
*/
int
-render_bin_output(FILE *stream, hid_t container, hid_t tid, void *_mem, hsize_t block_nelmts)
+render_bin_output(FILE *stream, hid_t container, hid_t tid, void *_mem, hsize_t block_nelmts)
{
- unsigned char *mem = (unsigned char*)_mem;
- size_t size; /* datum size */
+ unsigned char *mem = (unsigned char *)_mem;
+ size_t size; /* datum size */
hsize_t block_index;
H5T_class_t type_class;
hbool_t past_catch = FALSE;
- int ret_value = 0;
+ int ret_value = 0;
H5TOOLS_START_DEBUG("");
- if((size = H5Tget_size(tid)) == 0)
+ if ((size = H5Tget_size(tid)) == 0)
H5TOOLS_THROW((-1), "H5Tget_size failed");
- if((type_class = H5Tget_class(tid)) < 0)
+ if ((type_class = H5Tget_class(tid)) < 0)
H5TOOLS_THROW((-1), "H5Tget_class failed");
switch (type_class) {
@@ -1720,194 +1700,188 @@ render_bin_output(FILE *stream, hid_t container, hid_t tid, void *_mem, hsize_t
case H5T_BITFIELD:
H5TOOLS_DEBUG("numbers");
block_index = block_nelmts * size;
- while(block_index > 0) {
- size_t bytes_in = 0; /* # of bytes to write */
- size_t bytes_wrote = 0; /* # of bytes written */
+ while (block_index > 0) {
+ size_t bytes_in = 0; /* # of bytes to write */
+ size_t bytes_wrote = 0; /* # of bytes written */
- if(block_index > sizeof(size_t))
+ if (block_index > sizeof(size_t))
bytes_in = sizeof(size_t);
else
bytes_in = (size_t)block_index;
bytes_wrote = HDfwrite(mem, 1, bytes_in, stream);
- if(bytes_wrote != bytes_in || (0 == bytes_wrote && HDferror(stream)))
+ if (bytes_wrote != bytes_in || (0 == bytes_wrote && HDferror(stream)))
H5TOOLS_THROW((-1), "fwrite failed");
block_index -= (hsize_t)bytes_wrote;
mem = mem + bytes_wrote;
}
break;
- case H5T_STRING:
- {
- unsigned int i;
- H5T_str_t pad;
- char *s = NULL;
- unsigned char tempuchar;
-
- H5TOOLS_DEBUG("H5T_STRING");
- pad = H5Tget_strpad(tid);
-
- for (block_index = 0; block_index < block_nelmts; block_index++) {
- mem = ((unsigned char*)_mem) + block_index * size;
-
- if (H5Tis_variable_str(tid)) {
- s = *(char **)((void *)mem);
- if (s != NULL)
- size = HDstrlen(s);
- else
- H5TOOLS_THROW((-1), "NULL string");
- }
- else {
- s = (char *) mem;
- }
- for (i = 0; i < size && (s[i] || pad != H5T_STR_NULLTERM); i++) {
- HDmemcpy(&tempuchar, &s[i], sizeof(unsigned char));
- if (1 != HDfwrite(&tempuchar, sizeof(unsigned char), 1, stream))
- H5TOOLS_THROW((-1), "fwrite failed");
- } /* i */
- } /* for (block_index = 0; block_index < block_nelmts; block_index++) */
- }
- break;
- case H5T_COMPOUND:
- {
- int snmembs;
- unsigned nmembs;
-
- H5TOOLS_DEBUG("H5T_COMPOUND");
- if((snmembs = H5Tget_nmembers(tid)) < 0)
- H5TOOLS_THROW((-1), "H5Tget_nmembers of compound failed");
- nmembs = (unsigned)snmembs;
-
- for (block_index = 0; block_index < block_nelmts; block_index++) {
- unsigned j;
-
- mem = ((unsigned char*)_mem) + block_index * size;
- for (j = 0; j < nmembs; j++) {
- hid_t memb = H5I_INVALID_HID;
- size_t offset;
-
- offset = H5Tget_member_offset(tid, j);
- memb = H5Tget_member_type(tid, j);
-
- if (render_bin_output(stream, container, memb, mem + offset, 1) < 0) {
- H5Tclose(memb);
- H5TOOLS_THROW((-1), "render_bin_output of compound member failed");
- }
+ case H5T_STRING: {
+ unsigned int i;
+ H5T_str_t pad;
+ char * s = NULL;
+ unsigned char tempuchar;
- H5Tclose(memb);
- }
- }
- }
- break;
- case H5T_ARRAY:
- {
- int k, ndims;
- hsize_t dims[H5S_MAX_RANK], temp_nelmts, nelmts;
- hid_t memb = H5I_INVALID_HID;
-
- H5TOOLS_DEBUG("H5T_ARRAY");
- /* get the array's base datatype for each element */
- memb = H5Tget_super(tid);
- ndims = H5Tget_array_ndims(tid);
- H5Tget_array_dims2(tid, dims);
- if(ndims >= 1 && ndims <= H5S_MAX_RANK) {
- /* calculate the number of array elements */
- for (k = 0, nelmts = 1; k < ndims; k++) {
- temp_nelmts = nelmts;
- temp_nelmts *= dims[k];
- nelmts = (size_t) temp_nelmts;
- }
+ H5TOOLS_DEBUG("H5T_STRING");
+ pad = H5Tget_strpad(tid);
+
+ for (block_index = 0; block_index < block_nelmts; block_index++) {
+ mem = ((unsigned char *)_mem) + block_index * size;
+
+ if (H5Tis_variable_str(tid)) {
+ s = *(char **)((void *)mem);
+ if (s != NULL)
+ size = HDstrlen(s);
+ else
+ H5TOOLS_THROW((-1), "NULL string");
}
else {
- H5Tclose(memb);
- H5TOOLS_THROW((-1), "calculate the number of array elements failed");
+ s = (char *)mem;
}
+ for (i = 0; i < size && (s[i] || pad != H5T_STR_NULLTERM); i++) {
+ HDmemcpy(&tempuchar, &s[i], sizeof(unsigned char));
+ if (1 != HDfwrite(&tempuchar, sizeof(unsigned char), 1, stream))
+ H5TOOLS_THROW((-1), "fwrite failed");
+ } /* i */
+ } /* for (block_index = 0; block_index < block_nelmts; block_index++) */
+ } break;
+ case H5T_COMPOUND: {
+ int snmembs;
+ unsigned nmembs;
+
+ H5TOOLS_DEBUG("H5T_COMPOUND");
+ if ((snmembs = H5Tget_nmembers(tid)) < 0)
+ H5TOOLS_THROW((-1), "H5Tget_nmembers of compound failed");
+ nmembs = (unsigned)snmembs;
- for (block_index = 0; block_index < block_nelmts; block_index++) {
- mem = ((unsigned char*)_mem) + block_index * size;
- /* dump the array element */
- if (render_bin_output(stream, container, memb, mem, nelmts) < 0) {
+ for (block_index = 0; block_index < block_nelmts; block_index++) {
+ unsigned j;
+
+ mem = ((unsigned char *)_mem) + block_index * size;
+ for (j = 0; j < nmembs; j++) {
+ hid_t memb = H5I_INVALID_HID;
+ size_t offset;
+
+ offset = H5Tget_member_offset(tid, j);
+ memb = H5Tget_member_type(tid, j);
+
+ if (render_bin_output(stream, container, memb, mem + offset, 1) < 0) {
H5Tclose(memb);
- H5TOOLS_THROW((-1), "render_bin_output failed");
+ H5TOOLS_THROW((-1), "render_bin_output of compound member failed");
}
+
+ H5Tclose(memb);
}
- H5Tclose(memb);
}
- break;
- case H5T_VLEN:
- {
- hsize_t nelmts;
- hid_t memb = H5I_INVALID_HID;
-
- H5TOOLS_DEBUG("H5T_VLEN");
- /* get the VL sequences's base datatype for each element */
- memb = H5Tget_super(tid);
-
- for (block_index = 0; block_index < block_nelmts; block_index++) {
- mem = ((unsigned char*)_mem) + block_index * size;
- /* Get the number of sequence elements */
- nelmts = ((hvl_t *)((void *)mem))->len;
-
- /* dump the array element */
- if (render_bin_output(stream, container, memb, ((char *) (((hvl_t *)((void *)mem))->p)), nelmts) < 0) {
- H5Tclose(memb);
- H5TOOLS_THROW((-1), "render_bin_output failed");
- }
+ } break;
+ case H5T_ARRAY: {
+ int k, ndims;
+ hsize_t dims[H5S_MAX_RANK], temp_nelmts, nelmts;
+ hid_t memb = H5I_INVALID_HID;
+
+ H5TOOLS_DEBUG("H5T_ARRAY");
+ /* get the array's base datatype for each element */
+ memb = H5Tget_super(tid);
+ ndims = H5Tget_array_ndims(tid);
+ H5Tget_array_dims2(tid, dims);
+ if (ndims >= 1 && ndims <= H5S_MAX_RANK) {
+ /* calculate the number of array elements */
+ for (k = 0, nelmts = 1; k < ndims; k++) {
+ temp_nelmts = nelmts;
+ temp_nelmts *= dims[k];
+ nelmts = (size_t)temp_nelmts;
}
+ }
+ else {
H5Tclose(memb);
+ H5TOOLS_THROW((-1), "calculate the number of array elements failed");
}
- break;
- case H5T_REFERENCE:
- {
- H5TOOLS_DEBUG("reference class type");
- if (H5Tequal(tid, H5T_STD_REF)) {
- H5TOOLS_DEBUG("H5T_STD_REF");
- if (region_output) {
- /* region data */
- hid_t region_id = H5I_INVALID_HID;
- hid_t region_space = H5I_INVALID_HID;
- H5S_sel_type region_type;
-
- for (block_index = 0; block_index < block_nelmts; block_index++) {
- mem = ((unsigned char*)_mem) + block_index * size;
- if((region_id = H5Ropen_object((H5R_ref_t *)mem, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- H5TOOLS_INFO("H5Ropen_object H5T_STD_REF failed");
- else {
- if((region_space = H5Ropen_region((H5R_ref_t *)mem, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if (!h5tools_is_zero(mem, H5Tget_size(H5T_STD_REF))) {
- region_type = H5Sget_select_type(region_space);
- if(region_type == H5S_SEL_POINTS)
- render_bin_output_region_points(region_space, region_id, stream, container);
- else
- render_bin_output_region_blocks(region_space, region_id, stream, container);
- }
- else {
- H5TOOLS_INFO("H5Ropen_object H5T_STD_REF NULL");
- }
- H5Sclose(region_space);
- } /* end if (region_space >= 0) */
- H5Dclose(region_id);
- }
- }
- } /* end if (region_output... */
- }
- else if (H5Tequal(tid, H5T_STD_REF_DSETREG)) {
- /* if (size == H5R_DSET_REG_REF_BUF_SIZE) */
- H5TOOLS_DEBUG("H5T_STD_REF_DSETREG");
+
+ for (block_index = 0; block_index < block_nelmts; block_index++) {
+ mem = ((unsigned char *)_mem) + block_index * size;
+ /* dump the array element */
+ if (render_bin_output(stream, container, memb, mem, nelmts) < 0) {
+ H5Tclose(memb);
+ H5TOOLS_THROW((-1), "render_bin_output failed");
}
- else if (H5Tequal(tid, H5T_STD_REF_OBJ)) {
- /* if (size == H5R_OBJ_REF_BUF_SIZE) */
- H5TOOLS_DEBUG("H5T_STD_REF_OBJ");
+ }
+ H5Tclose(memb);
+ } break;
+ case H5T_VLEN: {
+ hsize_t nelmts;
+ hid_t memb = H5I_INVALID_HID;
+
+ H5TOOLS_DEBUG("H5T_VLEN");
+ /* get the VL sequences's base datatype for each element */
+ memb = H5Tget_super(tid);
+
+ for (block_index = 0; block_index < block_nelmts; block_index++) {
+ mem = ((unsigned char *)_mem) + block_index * size;
+ /* Get the number of sequence elements */
+ nelmts = ((hvl_t *)((void *)mem))->len;
+
+ /* dump the array element */
+ if (render_bin_output(stream, container, memb, ((char *)(((hvl_t *)((void *)mem))->p)),
+ nelmts) < 0) {
+ H5Tclose(memb);
+ H5TOOLS_THROW((-1), "render_bin_output failed");
}
}
- break;
+ H5Tclose(memb);
+ } break;
+ case H5T_REFERENCE: {
+ H5TOOLS_DEBUG("reference class type");
+ if (H5Tequal(tid, H5T_STD_REF)) {
+ H5TOOLS_DEBUG("H5T_STD_REF");
+ if (region_output) {
+ /* region data */
+ hid_t region_id = H5I_INVALID_HID;
+ hid_t region_space = H5I_INVALID_HID;
+ H5S_sel_type region_type;
+
+ for (block_index = 0; block_index < block_nelmts; block_index++) {
+ mem = ((unsigned char *)_mem) + block_index * size;
+ if ((region_id = H5Ropen_object((H5R_ref_t *)mem, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ H5TOOLS_INFO("H5Ropen_object H5T_STD_REF failed");
+ else {
+ if ((region_space = H5Ropen_region((H5R_ref_t *)mem, H5P_DEFAULT, H5P_DEFAULT)) >=
+ 0) {
+ if (!h5tools_is_zero(mem, H5Tget_size(H5T_STD_REF))) {
+ region_type = H5Sget_select_type(region_space);
+ if (region_type == H5S_SEL_POINTS)
+ render_bin_output_region_points(region_space, region_id, stream,
+ container);
+ else
+ render_bin_output_region_blocks(region_space, region_id, stream,
+ container);
+ }
+ else {
+ H5TOOLS_INFO("H5Ropen_object H5T_STD_REF NULL");
+ }
+ H5Sclose(region_space);
+ } /* end if (region_space >= 0) */
+ H5Dclose(region_id);
+ }
+ }
+ } /* end if (region_output... */
+ }
+ else if (H5Tequal(tid, H5T_STD_REF_DSETREG)) {
+ /* if (size == H5R_DSET_REG_REF_BUF_SIZE) */
+ H5TOOLS_DEBUG("H5T_STD_REF_DSETREG");
+ }
+ else if (H5Tequal(tid, H5T_STD_REF_OBJ)) {
+ /* if (size == H5R_OBJ_REF_BUF_SIZE) */
+ H5TOOLS_DEBUG("H5T_STD_REF_OBJ");
+ }
+ } break;
case H5T_TIME:
case H5T_OPAQUE:
H5TOOLS_DEBUG("H5T_OPAQUE");
for (block_index = 0; block_index < block_nelmts; block_index++) {
- mem = ((unsigned char*)_mem) + block_index * size;
+ mem = ((unsigned char *)_mem) + block_index * size;
if (size != HDfwrite(mem, sizeof(char), size, stream))
H5TOOLS_THROW((-1), "fwrite failed");
} /* end for */
@@ -1921,7 +1895,7 @@ render_bin_output(FILE *stream, hid_t container, hid_t tid, void *_mem, hsize_t
break;
} /* end switch */
-CATCH
+ CATCH
H5TOOLS_ENDDEBUG("");
return ret_value;
}
@@ -1938,55 +1912,55 @@ CATCH
*-------------------------------------------------------------------------
*/
int
-render_bin_output_region_data_blocks(hid_t region_id, FILE *stream,
- hid_t container, unsigned ndims, hid_t type_id, hsize_t nblocks, hsize_t *ptdata)
+render_bin_output_region_data_blocks(hid_t region_id, FILE *stream, hid_t container, unsigned ndims,
+ hid_t type_id, hsize_t nblocks, hsize_t *ptdata)
{
- hsize_t *dims1 = NULL;
- hsize_t *start = NULL;
- hsize_t *count = NULL;
- hsize_t numelem;
- hsize_t total_size[H5S_MAX_RANK];
- unsigned jndx;
- size_t type_size;
- hid_t mem_space = H5I_INVALID_HID;
- void *region_buf = NULL;
- hbool_t past_catch = FALSE;
- hsize_t blkndx;
- hid_t sid1 = H5I_INVALID_HID;
- int ret_value = -1;
+ hsize_t *dims1 = NULL;
+ hsize_t *start = NULL;
+ hsize_t *count = NULL;
+ hsize_t numelem;
+ hsize_t total_size[H5S_MAX_RANK];
+ unsigned jndx;
+ size_t type_size;
+ hid_t mem_space = H5I_INVALID_HID;
+ void * region_buf = NULL;
+ hbool_t past_catch = FALSE;
+ hsize_t blkndx;
+ hid_t sid1 = H5I_INVALID_HID;
+ int ret_value = -1;
H5TOOLS_START_DEBUG("");
/* Get the dataspace of the dataset */
- if((sid1 = H5Dget_space(region_id)) < 0)
+ if ((sid1 = H5Dget_space(region_id)) < 0)
H5TOOLS_THROW((-1), "H5Dget_space failed");
/* Allocate space for the dimension array */
- if((dims1 = (hsize_t *) HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
+ if ((dims1 = (hsize_t *)HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
H5TOOLS_THROW((-1), "Could not allocate buffer for dims");
/* find the dimensions of each data space from the block coordinates */
numelem = 1;
for (jndx = 0; jndx < ndims; jndx++) {
dims1[jndx] = ptdata[jndx + ndims] - ptdata[jndx] + 1;
- numelem = dims1[jndx] * numelem;
+ numelem = dims1[jndx] * numelem;
}
/* Create dataspace for reading buffer */
- if((mem_space = H5Screate_simple((int)ndims, dims1, NULL)) < 0)
+ if ((mem_space = H5Screate_simple((int)ndims, dims1, NULL)) < 0)
H5TOOLS_THROW((-1), "H5Screate_simple failed");
- if((type_size = H5Tget_size(type_id)) == 0)
+ if ((type_size = H5Tget_size(type_id)) == 0)
H5TOOLS_THROW((-1), "H5Tget_size failed");
- if((region_buf = HDmalloc(type_size * (size_t)numelem)) == NULL)
+ if ((region_buf = HDmalloc(type_size * (size_t)numelem)) == NULL)
H5TOOLS_THROW((-1), "Could not allocate region buffer");
/* Select (x , x , ..., x ) x (y , y , ..., y ) hyperslab for reading memory dataset */
/* 1 2 n 1 2 n */
- if((start = (hsize_t *) HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
+ if ((start = (hsize_t *)HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
H5TOOLS_THROW((-1), "Could not allocate buffer for start");
- if((count = (hsize_t *) HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
+ if ((count = (hsize_t *)HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
H5TOOLS_THROW((-1), "Could not allocate buffer for count");
for (blkndx = 0; blkndx < nblocks; blkndx++) {
@@ -1995,31 +1969,30 @@ render_bin_output_region_data_blocks(hid_t region_id, FILE *stream,
count[jndx] = dims1[jndx];
}
- if(H5Sselect_hyperslab(sid1, H5S_SELECT_SET, start, NULL, count, NULL) < 0)
+ if (H5Sselect_hyperslab(sid1, H5S_SELECT_SET, start, NULL, count, NULL) < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Sselect_hyperslab failed");
- if(H5Dread(region_id, type_id, mem_space, sid1, H5P_DEFAULT, region_buf) < 0)
+ if (H5Dread(region_id, type_id, mem_space, sid1, H5P_DEFAULT, region_buf) < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Dread failed");
- if(H5Sget_simple_extent_dims(mem_space, total_size, NULL) < 0)
+ if (H5Sget_simple_extent_dims(mem_space, total_size, NULL) < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Sget_simple_extent_dims failed");
- if(render_bin_output(stream, container, type_id, (char*)region_buf, numelem) < 0)
+ if (render_bin_output(stream, container, type_id, (char *)region_buf, numelem) < 0)
H5TOOLS_GOTO_ERROR((-1), "render_bin_output of data region failed");
/* Render the region data element end */
-done:
- ;
+done:;
} /* end for (blkndx = 0; blkndx < nblocks; blkndx++) */
-CATCH
+ CATCH
HDfree(start);
HDfree(count);
HDfree(region_buf);
HDfree(dims1);
- if(H5Sclose(mem_space) < 0)
+ if (H5Sclose(mem_space) < 0)
H5TOOLS_ERROR((-1), "H5Sclose failed");
- if(H5Sclose(sid1) < 0)
+ if (H5Sclose(sid1) < 0)
H5TOOLS_ERROR((-1), "H5Sclose failed");
H5TOOLS_ENDDEBUG("");
@@ -2037,40 +2010,39 @@ CATCH
*-------------------------------------------------------------------------
*/
hbool_t
-render_bin_output_region_blocks(hid_t region_space, hid_t region_id,
- FILE *stream, hid_t container)
+render_bin_output_region_blocks(hid_t region_space, hid_t region_id, FILE *stream, hid_t container)
{
- hssize_t snblocks;
- hsize_t nblocks;
- hsize_t alloc_size;
- hsize_t *ptdata = NULL;
- int sndims;
- unsigned ndims;
- hid_t dtype = H5I_INVALID_HID;
- hid_t type_id = H5I_INVALID_HID;
- hbool_t past_catch = FALSE;
- hbool_t ret_value = TRUE;
+ hssize_t snblocks;
+ hsize_t nblocks;
+ hsize_t alloc_size;
+ hsize_t *ptdata = NULL;
+ int sndims;
+ unsigned ndims;
+ hid_t dtype = H5I_INVALID_HID;
+ hid_t type_id = H5I_INVALID_HID;
+ hbool_t past_catch = FALSE;
+ hbool_t ret_value = TRUE;
H5TOOLS_START_DEBUG("");
- if((snblocks = H5Sget_select_hyper_nblocks(region_space)) <= 0)
+ if ((snblocks = H5Sget_select_hyper_nblocks(region_space)) <= 0)
H5TOOLS_THROW(FALSE, "H5Sget_select_hyper_nblocks failed");
nblocks = (hsize_t)snblocks;
/* Print block information */
- if((sndims = H5Sget_simple_extent_ndims(region_space)) < 0)
+ if ((sndims = H5Sget_simple_extent_ndims(region_space)) < 0)
H5TOOLS_THROW(FALSE, "H5Sget_simple_extent_ndims failed");
ndims = (unsigned)sndims;
alloc_size = nblocks * ndims * 2 * sizeof(ptdata[0]);
- if((ptdata = (hsize_t*) HDmalloc((size_t) alloc_size)) == NULL)
+ if ((ptdata = (hsize_t *)HDmalloc((size_t)alloc_size)) == NULL)
H5TOOLS_GOTO_ERROR(FALSE, "Could not allocate buffer for ptdata");
- if(H5Sget_select_hyper_blocklist(region_space, (hsize_t) 0, nblocks, ptdata) < 0)
+ if (H5Sget_select_hyper_blocklist(region_space, (hsize_t)0, nblocks, ptdata) < 0)
H5TOOLS_GOTO_ERROR(FALSE, "H5Rget_select_hyper_blocklist failed");
- if((dtype = H5Dget_type(region_id)) < 0)
+ if ((dtype = H5Dget_type(region_id)) < 0)
H5TOOLS_GOTO_ERROR(FALSE, "H5Dget_type failed");
- if((type_id = H5Tget_native_type(dtype, H5T_DIR_DEFAULT)) < 0)
+ if ((type_id = H5Tget_native_type(dtype, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(FALSE, "H5Tget_native_type failed");
render_bin_output_region_data_blocks(region_id, stream, container, ndims, type_id, nblocks, ptdata);
@@ -2078,15 +2050,15 @@ render_bin_output_region_blocks(hid_t region_space, hid_t region_id,
done:
HDfree(ptdata);
- if(type_id > 0 && H5Tclose(type_id) < 0)
+ if (type_id > 0 && H5Tclose(type_id) < 0)
H5TOOLS_ERROR(FALSE, "H5Tclose failed");
- if(dtype > 0 && H5Tclose(dtype) < 0)
+ if (dtype > 0 && H5Tclose(dtype) < 0)
H5TOOLS_ERROR(FALSE, "H5Tclose failed");
H5_LEAVE(TRUE)
-CATCH
+ CATCH
H5TOOLS_ENDDEBUG("");
return ret_value;
}
@@ -2109,44 +2081,43 @@ CATCH
*-------------------------------------------------------------------------
*/
int
-render_bin_output_region_data_points(hid_t region_space, hid_t region_id,
- FILE *stream, hid_t container,
- unsigned ndims, hid_t type_id, hsize_t npoints)
+render_bin_output_region_data_points(hid_t region_space, hid_t region_id, FILE *stream, hid_t container,
+ unsigned ndims, hid_t type_id, hsize_t npoints)
{
hsize_t *dims1 = NULL;
size_t type_size;
- hid_t mem_space = H5I_INVALID_HID;
- void *region_buf = NULL;
- int ret_value = 0;
+ hid_t mem_space = H5I_INVALID_HID;
+ void * region_buf = NULL;
+ int ret_value = 0;
H5TOOLS_START_DEBUG("");
- if((type_size = H5Tget_size(type_id)) == 0)
+ if ((type_size = H5Tget_size(type_id)) == 0)
H5TOOLS_GOTO_ERROR((-1), "H5Tget_size failed");
- if((region_buf = HDmalloc(type_size * (size_t)npoints)) == NULL)
+ if ((region_buf = HDmalloc(type_size * (size_t)npoints)) == NULL)
H5TOOLS_GOTO_ERROR((-1), "Could not allocate buffer for region");
/* Allocate space for the dimension array */
- if((dims1 = (hsize_t *) HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
+ if ((dims1 = (hsize_t *)HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
H5TOOLS_GOTO_ERROR((-1), "Could not allocate buffer for dims");
dims1[0] = npoints;
- if((mem_space = H5Screate_simple(1, dims1, NULL)) < 0)
+ if ((mem_space = H5Screate_simple(1, dims1, NULL)) < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Screate_simple failed");
- if(H5Dread(region_id, type_id, mem_space, region_space, H5P_DEFAULT, region_buf) < 0)
+ if (H5Dread(region_id, type_id, mem_space, region_space, H5P_DEFAULT, region_buf) < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Dread failed");
- if(H5Sget_simple_extent_dims(region_space, dims1, NULL) < 0)
+ if (H5Sget_simple_extent_dims(region_space, dims1, NULL) < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Sget_simple_extent_dims failed");
- if(render_bin_output(stream, container, type_id, (char*)region_buf, npoints) < 0)
+ if (render_bin_output(stream, container, type_id, (char *)region_buf, npoints) < 0)
H5TOOLS_GOTO_ERROR((-1), "render_bin_output of data points failed");
done:
HDfree(region_buf);
HDfree(dims1);
- if(H5Sclose(mem_space) < 0)
+ if (H5Sclose(mem_space) < 0)
H5TOOLS_ERROR((-1), "H5Sclose failed");
H5TOOLS_ENDDEBUG("");
@@ -2164,45 +2135,44 @@ done:
*-------------------------------------------------------------------------
*/
hbool_t
-render_bin_output_region_points(hid_t region_space, hid_t region_id,
- FILE *stream, hid_t container)
+render_bin_output_region_points(hid_t region_space, hid_t region_id, FILE *stream, hid_t container)
{
hssize_t snpoints;
hsize_t npoints;
int sndims;
unsigned ndims;
- hid_t dtype = H5I_INVALID_HID;
- hid_t type_id = H5I_INVALID_HID;
+ hid_t dtype = H5I_INVALID_HID;
+ hid_t type_id = H5I_INVALID_HID;
hbool_t past_catch = FALSE;
- hbool_t ret_value = TRUE;
+ hbool_t ret_value = TRUE;
H5TOOLS_START_DEBUG("");
- if((snpoints = H5Sget_select_elem_npoints(region_space)) <= 0)
+ if ((snpoints = H5Sget_select_elem_npoints(region_space)) <= 0)
H5TOOLS_THROW(FALSE, "H5Sget_select_elem_npoints failed");
npoints = (hsize_t)snpoints;
/* Allocate space for the dimension array */
- if((sndims = H5Sget_simple_extent_ndims(region_space)) < 0)
+ if ((sndims = H5Sget_simple_extent_ndims(region_space)) < 0)
H5TOOLS_THROW(FALSE, "H5Sget_simple_extent_ndims failed");
ndims = (unsigned)sndims;
- if((dtype = H5Dget_type(region_id)) < 0)
+ if ((dtype = H5Dget_type(region_id)) < 0)
H5TOOLS_GOTO_ERROR(FALSE, "H5Dget_type failed");
- if((type_id = H5Tget_native_type(dtype, H5T_DIR_DEFAULT)) < 0)
+ if ((type_id = H5Tget_native_type(dtype, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(FALSE, "H5Tget_native_type failed");
render_bin_output_region_data_points(region_space, region_id, stream, container, ndims, type_id, npoints);
done:
- if(type_id > 0 && H5Tclose(type_id) < 0)
+ if (type_id > 0 && H5Tclose(type_id) < 0)
H5TOOLS_ERROR(FALSE, "H5Tclose failed");
- if(dtype > 0 && H5Tclose(dtype) < 0)
+ if (dtype > 0 && H5Tclose(dtype) < 0)
H5TOOLS_ERROR(FALSE, "H5Tclose failed");
H5_LEAVE(ret_value)
-CATCH
+ CATCH
H5TOOLS_ENDDEBUG("");
return ret_value;
}
@@ -2219,7 +2189,7 @@ CATCH
H5_ATTR_PURE hbool_t
h5tools_is_zero(const void *_mem, size_t size)
{
- const unsigned char *mem = (const unsigned char *) _mem;
+ const unsigned char *mem = (const unsigned char *)_mem;
while (size-- > 0)
if (mem[size])
@@ -2246,31 +2216,29 @@ h5tools_is_zero(const void *_mem, size_t size)
*-------------------------------------------------------------------------
*/
hbool_t
-h5tools_is_obj_same(hid_t loc_id1, const char *name1,
- hid_t loc_id2, const char *name2)
+h5tools_is_obj_same(hid_t loc_id1, const char *name1, hid_t loc_id2, const char *name2)
{
H5O_info2_t oinfo1, oinfo2;
- hbool_t ret_val = FALSE;
+ hbool_t ret_val = FALSE;
- if ( name1 && HDstrcmp(name1, "."))
- H5Oget_info_by_name3(loc_id1, name1, &oinfo1, H5O_INFO_BASIC, H5P_DEFAULT);
+ if (name1 && HDstrcmp(name1, "."))
+ H5Oget_info_by_name3(loc_id1, name1, &oinfo1, H5O_INFO_BASIC, H5P_DEFAULT);
else
- H5Oget_info3(loc_id1, &oinfo1, H5O_INFO_BASIC);
+ H5Oget_info3(loc_id1, &oinfo1, H5O_INFO_BASIC);
- if ( name2 && HDstrcmp(name2, "."))
- H5Oget_info_by_name3(loc_id2, name2, &oinfo2, H5O_INFO_BASIC, H5P_DEFAULT);
+ if (name2 && HDstrcmp(name2, "."))
+ H5Oget_info_by_name3(loc_id2, name2, &oinfo2, H5O_INFO_BASIC, H5P_DEFAULT);
else
- H5Oget_info3(loc_id2, &oinfo2, H5O_INFO_BASIC);
+ H5Oget_info3(loc_id2, &oinfo2, H5O_INFO_BASIC);
if (oinfo1.fileno == oinfo2.fileno) {
int token_cmp_val;
H5Otoken_cmp(loc_id1, &oinfo1.token, &oinfo2.token, &token_cmp_val);
- if(!token_cmp_val)
+ if (!token_cmp_val)
ret_val = TRUE;
}
return ret_val;
}
-
diff --git a/tools/lib/h5tools.h b/tools/lib/h5tools.h
index 7d3f40a..e3baeff 100644
--- a/tools/lib/h5tools.h
+++ b/tools/lib/h5tools.h
@@ -23,88 +23,98 @@
#include "hdf5.h"
#include "h5tools_error.h"
-#define ESCAPE_HTML 1
-#define OPT(X,S) ((X) ? (X) : (S))
-#define OPTIONAL_LINE_BREAK "\001" /* Special strings embedded in the output */
+#define ESCAPE_HTML 1
+#define OPT(X, S) ((X) ? (X) : (S))
+#define OPTIONAL_LINE_BREAK "\001" /* Special strings embedded in the output */
#define START_OF_DATA 0x0001
-#define END_OF_DATA 0x0002
+#define END_OF_DATA 0x0002
/* format for hsize_t */
-#define HSIZE_T_FORMAT "%" H5_PRINTF_LL_WIDTH "u"
+#define HSIZE_T_FORMAT "%" H5_PRINTF_LL_WIDTH "u"
-#define H5TOOLS_DUMP_MAX_RANK H5S_MAX_RANK
+#define H5TOOLS_DUMP_MAX_RANK H5S_MAX_RANK
/* Stream macros */
-#define FLUSHSTREAM(S) if(S != NULL) HDfflush(S)
-#define PRINTSTREAM(S, F, ...) if(S != NULL) HDfprintf(S, F, __VA_ARGS__)
-#define PRINTVALSTREAM(S, V) if(S != NULL) HDfprintf(S, V)
-#define PUTSTREAM(X,S) do { if(S != NULL) HDfputs(X, S); } while(0)
+#define FLUSHSTREAM(S) \
+ if (S != NULL) \
+ HDfflush(S)
+#define PRINTSTREAM(S, F, ...) \
+ if (S != NULL) \
+ HDfprintf(S, F, __VA_ARGS__)
+#define PRINTVALSTREAM(S, V) \
+ if (S != NULL) \
+ HDfprintf(S, V)
+#define PUTSTREAM(X, S) \
+ do { \
+ if (S != NULL) \
+ HDfputs(X, S); \
+ } while (0)
/*
* Strings for output - these were duplicated from the h5dump.h
* file in order to support region reference data display
*/
-#define ATTRIBUTE "ATTRIBUTE"
-#define BLOCK "BLOCK"
-#define SUPER_BLOCK "SUPER_BLOCK"
-#define COMPRESSION "COMPRESSION"
-#define CONCATENATOR "//"
-#define COMPLEX "COMPLEX"
-#define COUNT "COUNT"
-#define CSET "CSET"
-#define CTYPE "CTYPE"
-#define DATA "DATA"
-#define DATASPACE "DATASPACE"
-#define EXTERNAL "EXTERNAL"
-#define FILENO "FILENO"
-#define HARDLINK "HARDLINK"
-#define NLINK "NLINK"
-#define OBJID "OBJECTID"
-#define OBJNO "OBJNO"
-#define S_SCALAR "SCALAR"
-#define S_SIMPLE "SIMPLE"
-#define S_NULL "NULL"
-#define SOFTLINK "SOFTLINK"
-#define EXTLINK "EXTERNAL_LINK"
-#define UDLINK "USERDEFINED_LINK"
-#define START "START"
-#define STRIDE "STRIDE"
-#define STRSIZE "STRSIZE"
-#define STRPAD "STRPAD"
-#define SUBSET "SUBSET"
-#define FILTERS "FILTERS"
-#define DEFLATE "COMPRESSION DEFLATE"
-#define DEFLATE_LEVEL "LEVEL"
-#define SHUFFLE "PREPROCESSING SHUFFLE"
-#define FLETCHER32 "CHECKSUM FLETCHER32"
-#define SZIP "COMPRESSION SZIP"
-#define NBIT "COMPRESSION NBIT"
-#define SCALEOFFSET "COMPRESSION SCALEOFFSET"
-#define SCALEOFFSET_MINBIT "MIN BITS"
-#define STORAGE_LAYOUT "STORAGE_LAYOUT"
-#define CONTIGUOUS "CONTIGUOUS"
-#define COMPACT "COMPACT"
-#define CHUNKED "CHUNKED"
-#define EXTERNAL_FILE "EXTERNAL_FILE"
-#define FILLVALUE "FILLVALUE"
-#define FILE_CONTENTS "FILE_CONTENTS"
-#define PACKED_BITS "PACKED_BITS"
-#define PACKED_OFFSET "OFFSET"
-#define PACKED_LENGTH "LENGTH"
-#define REGION "REGION"
-#define VDS_VIRTUAL "VIRTUAL"
-#define VDS_MAPPING "MAPPING"
-#define VDS_SOURCE "SOURCE"
-#define VDS_REG_HYPERSLAB "SELECTION REGULAR_HYPERSLAB"
-#define VDS_IRR_HYPERSLAB "SELECTION IRREGULAR_HYPERSLAB"
-#define VDS_POINT "POINT"
-#define VDS_SRC_FILE "FILE"
-#define VDS_SRC_DATASET "DATASET"
-#define VDS_NONE "SELECTION NONE"
-#define VDS_ALL "SELECTION ALL"
-
-#define BEGIN "{"
-#define END "}"
+#define ATTRIBUTE "ATTRIBUTE"
+#define BLOCK "BLOCK"
+#define SUPER_BLOCK "SUPER_BLOCK"
+#define COMPRESSION "COMPRESSION"
+#define CONCATENATOR "//"
+#define COMPLEX "COMPLEX"
+#define COUNT "COUNT"
+#define CSET "CSET"
+#define CTYPE "CTYPE"
+#define DATA "DATA"
+#define DATASPACE "DATASPACE"
+#define EXTERNAL "EXTERNAL"
+#define FILENO "FILENO"
+#define HARDLINK "HARDLINK"
+#define NLINK "NLINK"
+#define OBJID "OBJECTID"
+#define OBJNO "OBJNO"
+#define S_SCALAR "SCALAR"
+#define S_SIMPLE "SIMPLE"
+#define S_NULL "NULL"
+#define SOFTLINK "SOFTLINK"
+#define EXTLINK "EXTERNAL_LINK"
+#define UDLINK "USERDEFINED_LINK"
+#define START "START"
+#define STRIDE "STRIDE"
+#define STRSIZE "STRSIZE"
+#define STRPAD "STRPAD"
+#define SUBSET "SUBSET"
+#define FILTERS "FILTERS"
+#define DEFLATE "COMPRESSION DEFLATE"
+#define DEFLATE_LEVEL "LEVEL"
+#define SHUFFLE "PREPROCESSING SHUFFLE"
+#define FLETCHER32 "CHECKSUM FLETCHER32"
+#define SZIP "COMPRESSION SZIP"
+#define NBIT "COMPRESSION NBIT"
+#define SCALEOFFSET "COMPRESSION SCALEOFFSET"
+#define SCALEOFFSET_MINBIT "MIN BITS"
+#define STORAGE_LAYOUT "STORAGE_LAYOUT"
+#define CONTIGUOUS "CONTIGUOUS"
+#define COMPACT "COMPACT"
+#define CHUNKED "CHUNKED"
+#define EXTERNAL_FILE "EXTERNAL_FILE"
+#define FILLVALUE "FILLVALUE"
+#define FILE_CONTENTS "FILE_CONTENTS"
+#define PACKED_BITS "PACKED_BITS"
+#define PACKED_OFFSET "OFFSET"
+#define PACKED_LENGTH "LENGTH"
+#define REGION "REGION"
+#define VDS_VIRTUAL "VIRTUAL"
+#define VDS_MAPPING "MAPPING"
+#define VDS_SOURCE "SOURCE"
+#define VDS_REG_HYPERSLAB "SELECTION REGULAR_HYPERSLAB"
+#define VDS_IRR_HYPERSLAB "SELECTION IRREGULAR_HYPERSLAB"
+#define VDS_POINT "POINT"
+#define VDS_SRC_FILE "FILE"
+#define VDS_SRC_DATASET "DATASET"
+#define VDS_NONE "SELECTION NONE"
+#define VDS_ALL "SELECTION ALL"
+
+#define BEGIN "{"
+#define END "}"
/*
* dump structure for output - this was duplicated from the h5dump.h
@@ -205,7 +215,6 @@ typedef struct h5tools_dump_header_t {
/* Forward declaration (see declaration in h5tools_str.c) */
struct H5LD_memb_t;
-
/*
* Information about how to format output.
*/
@@ -282,19 +291,19 @@ typedef struct h5tool_format_t {
* Numeric data is also subject to the formats for individual elements.
*/
hbool_t raw;
- const char *fmt_raw;
- const char *fmt_int;
- const char *fmt_uint;
- const char *fmt_schar;
- const char *fmt_uchar;
- const char *fmt_short;
- const char *fmt_ushort;
- const char *fmt_long;
- const char *fmt_ulong;
- const char *fmt_llong;
- const char *fmt_ullong;
- const char *fmt_double;
- const char *fmt_float;
+ const char *fmt_raw;
+ const char *fmt_int;
+ const char *fmt_uint;
+ const char *fmt_schar;
+ const char *fmt_uchar;
+ const char *fmt_short;
+ const char *fmt_ushort;
+ const char *fmt_long;
+ const char *fmt_ulong;
+ const char *fmt_llong;
+ const char *fmt_ullong;
+ const char *fmt_double;
+ const char *fmt_float;
int ascii;
int str_locale;
unsigned str_repeat;
@@ -315,9 +324,9 @@ typedef struct h5tool_format_t {
* linebreaks: a boolean value to determine if we want to break the line
* after each row of an array.
*/
- const char *arr_pre;
- const char *arr_sep;
- const char *arr_suf;
+ const char *arr_pre;
+ const char *arr_sep;
+ const char *arr_suf;
int arr_linebreak;
/*
@@ -344,13 +353,12 @@ typedef struct h5tool_format_t {
*
* listv: h5watch: vector containing info about the list of compound fields to be printed.
*/
- const char *cmpd_name;
- const char *cmpd_sep;
- const char *cmpd_pre;
- const char *cmpd_suf;
- const char *cmpd_end;
- const struct H5LD_memb_t * const *cmpd_listv;
-
+ const char * cmpd_name;
+ const char * cmpd_sep;
+ const char * cmpd_pre;
+ const char * cmpd_suf;
+ const char * cmpd_end;
+ const struct H5LD_memb_t *const *cmpd_listv;
/*
* Fields associated with vlen data types.
@@ -369,10 +377,10 @@ typedef struct h5tool_format_t {
* end: a string to print after we reach the last element of
* each compound type. prints out before the suf.
*/
- const char *vlen_sep;
- const char *vlen_pre;
- const char *vlen_suf;
- const char *vlen_end;
+ const char *vlen_sep;
+ const char *vlen_pre;
+ const char *vlen_suf;
+ const char *vlen_end;
/*
* Fields associated with the individual elements.
@@ -388,9 +396,9 @@ typedef struct h5tool_format_t {
* are followed on the same line by another element. The
* default is a single space.
*/
- const char *elmt_fmt;
- const char *elmt_suf1;
- const char *elmt_suf2;
+ const char *elmt_fmt;
+ const char *elmt_suf1;
+ const char *elmt_suf2;
/*
* Fields associated with the index values printed at the left edge of
@@ -409,9 +417,9 @@ typedef struct h5tool_format_t {
* printf(3c) format which should include a format for a
* character string. The default is "%s".
*/
- const char *idx_n_fmt; /*index number format */
- const char *idx_sep; /*separator between numbers */
- const char *idx_fmt; /*entire index format */
+ const char *idx_n_fmt; /*index number format */
+ const char *idx_sep; /*separator between numbers */
+ const char *idx_fmt; /*entire index format */
/*
* Fields associated with entire lines.
@@ -467,15 +475,15 @@ typedef struct h5tool_format_t {
* indentlevel: a string that shows how far to indent if extra spacing
* is needed. dumper uses it.
*/
- unsigned line_ncols; /*columns of output */
- size_t line_per_line; /*max elements per line */
- const char *line_pre; /*prefix at front of each line */
- const char *line_1st; /*alternate pre. on first line */
- const char *line_cont; /*alternate pre. on continuation*/
- const char *line_suf; /*string to append to each line */
- const char *line_sep; /*separates lines */
- int line_multi_new; /*split multi-line outputs? */
- const char *line_indent; /*for extra identation if we need it*/
+ unsigned line_ncols; /*columns of output */
+ size_t line_per_line; /*max elements per line */
+ const char *line_pre; /*prefix at front of each line */
+ const char *line_1st; /*alternate pre. on first line */
+ const char *line_cont; /*alternate pre. on continuation*/
+ const char *line_suf; /*string to append to each line */
+ const char *line_sep; /*separates lines */
+ int line_multi_new; /*split multi-line outputs? */
+ const char *line_indent; /*for extra identation if we need it*/
/*used to skip the first set of checks for line length*/
int skip_first;
@@ -505,7 +513,7 @@ typedef struct h5tool_format_t {
} h5tool_format_t;
typedef struct subset_d {
- hsize_t *data;
+ hsize_t * data;
unsigned int len;
} subset_d;
@@ -518,35 +526,33 @@ struct subset_t {
};
typedef struct h5tools_context_t {
- size_t cur_column; /* current column for output */
- size_t cur_elmt; /* current element/output line */
- int need_prefix; /* is line prefix needed? */
+ size_t cur_column; /* current column for output */
+ size_t cur_elmt; /* current element/output line */
+ int need_prefix; /* is line prefix needed? */
unsigned ndims; /* dimensionality */
- hsize_t p_min_idx[H5S_MAX_RANK]; /* min selected index */
- hsize_t p_max_idx[H5S_MAX_RANK]; /* max selected index */
- int prev_multiline; /* was prev datum multiline? */
- size_t prev_prefix_len; /* length of previous prefix */
- int continuation; /* continuation of previous data?*/
- hsize_t size_last_dim; /* the size of the last dimension, needed so we can break after each row */
- unsigned indent_level; /* the number of times we need some extra indentation */
- unsigned default_indent_level; /* this is used when the indent level gets changed */
- hsize_t acc[H5S_MAX_RANK]; /* accumulator position */
- hsize_t pos[H5S_MAX_RANK]; /* matrix position */
- hsize_t sm_pos; /* current stripmine element position */
- const struct H5LD_memb_t * const *cmpd_listv; /* h5watch: vector containing info about the list of compound fields to be printed */
- struct subset_t *sset; /* subsetting parameters */
- int display_index; /* */
- int display_char; /* */
+ hsize_t p_min_idx[H5S_MAX_RANK]; /* min selected index */
+ hsize_t p_max_idx[H5S_MAX_RANK]; /* max selected index */
+ int prev_multiline; /* was prev datum multiline? */
+ size_t prev_prefix_len; /* length of previous prefix */
+ int continuation; /* continuation of previous data?*/
+ hsize_t size_last_dim; /* the size of the last dimension, needed so we can break after each row */
+ unsigned indent_level; /* the number of times we need some extra indentation */
+ unsigned default_indent_level; /* this is used when the indent level gets changed */
+ hsize_t acc[H5S_MAX_RANK]; /* accumulator position */
+ hsize_t pos[H5S_MAX_RANK]; /* matrix position */
+ hsize_t sm_pos; /* current stripmine element position */
+ const struct H5LD_memb_t *const
+ *cmpd_listv; /* h5watch: vector containing info about the list of compound fields to be printed */
+ struct subset_t *sset; /* subsetting parameters */
+ int display_index; /* */
+ int display_char; /* */
} h5tools_context_t;
/* VOL and VFD info structs used to set the file access property
* lists in the tools.
*/
-typedef enum {
- VOL_BY_NAME,
- VOL_BY_VALUE
-} h5tools_vol_info_type_t;
+typedef enum { VOL_BY_NAME, VOL_BY_VALUE } h5tools_vol_info_type_t;
typedef struct h5tools_vol_info_t {
h5tools_vol_info_type_t type;
@@ -556,8 +562,8 @@ typedef struct h5tools_vol_info_t {
/* Field specifying either the connector's name or value (ID) */
union {
- const char *name;
- H5VL_class_value_t value;
+ const char * name;
+ H5VL_class_value_t value;
} u;
} h5tools_vol_info_t;
@@ -600,7 +606,6 @@ typedef enum {
#include "h5tools_str.h"
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -608,92 +613,99 @@ extern "C" {
H5TOOLS_DLLVAR const char *volnames[];
H5TOOLS_DLLVAR const char *drivernames[];
-H5TOOLS_DLLVAR h5tool_format_t h5tools_dataformat;
+H5TOOLS_DLLVAR h5tool_format_t h5tools_dataformat;
H5TOOLS_DLLVAR const h5tools_dump_header_t h5tools_standardformat;
-H5TOOLS_DLLVAR const h5tools_dump_header_t* h5tools_dump_header_format;
-H5TOOLS_DLLVAR H5E_auto2_t lib_func;
-H5TOOLS_DLLVAR H5E_auto2_t tools_func;
-H5TOOLS_DLLVAR void *lib_edata;
-H5TOOLS_DLLVAR void *tools_edata;
-
-H5TOOLS_DLLVAR unsigned packed_bits_num; /* number of packed bits to display */
-H5TOOLS_DLLVAR unsigned packed_data_offset; /* offset of packed bits to display */
-H5TOOLS_DLLVAR unsigned packed_data_length; /* length of packed bits to display */
-H5TOOLS_DLLVAR unsigned long long packed_data_mask; /* mask in which packed bits to display */
-H5TOOLS_DLLVAR FILE *rawattrstream; /* output stream for raw attribute data */
-H5TOOLS_DLLVAR FILE *rawdatastream; /* output stream for raw data */
-H5TOOLS_DLLVAR FILE *rawinstream; /* input stream for raw input */
-H5TOOLS_DLLVAR FILE *rawoutstream; /* output stream for raw output */
-H5TOOLS_DLLVAR FILE *rawerrorstream; /* output stream for raw error */
-H5TOOLS_DLLVAR int bin_output; /* binary output */
-H5TOOLS_DLLVAR int bin_form; /* binary form */
-H5TOOLS_DLLVAR int region_output; /* region output */
-H5TOOLS_DLLVAR int oid_output; /* oid output */
-H5TOOLS_DLLVAR int data_output; /* data output */
-H5TOOLS_DLLVAR int attr_data_output; /* attribute data output */
+H5TOOLS_DLLVAR const h5tools_dump_header_t *h5tools_dump_header_format;
+H5TOOLS_DLLVAR H5E_auto2_t lib_func;
+H5TOOLS_DLLVAR H5E_auto2_t tools_func;
+H5TOOLS_DLLVAR void * lib_edata;
+H5TOOLS_DLLVAR void * tools_edata;
+
+H5TOOLS_DLLVAR unsigned packed_bits_num; /* number of packed bits to display */
+H5TOOLS_DLLVAR unsigned packed_data_offset; /* offset of packed bits to display */
+H5TOOLS_DLLVAR unsigned packed_data_length; /* length of packed bits to display */
+H5TOOLS_DLLVAR unsigned long long packed_data_mask; /* mask in which packed bits to display */
+H5TOOLS_DLLVAR FILE *rawattrstream; /* output stream for raw attribute data */
+H5TOOLS_DLLVAR FILE *rawdatastream; /* output stream for raw data */
+H5TOOLS_DLLVAR FILE *rawinstream; /* input stream for raw input */
+H5TOOLS_DLLVAR FILE *rawoutstream; /* output stream for raw output */
+H5TOOLS_DLLVAR FILE *rawerrorstream; /* output stream for raw error */
+H5TOOLS_DLLVAR int bin_output; /* binary output */
+H5TOOLS_DLLVAR int bin_form; /* binary form */
+H5TOOLS_DLLVAR int region_output; /* region output */
+H5TOOLS_DLLVAR int oid_output; /* oid output */
+H5TOOLS_DLLVAR int data_output; /* data output */
+H5TOOLS_DLLVAR int attr_data_output; /* attribute data output */
/* sort parameters */
-H5TOOLS_DLLVAR H5_index_t sort_by; /* sort_by [creation_order | name] */
-H5TOOLS_DLLVAR H5_iter_order_t sort_order; /* sort_order [ascending | descending] */
+H5TOOLS_DLLVAR H5_index_t sort_by; /* sort_by [creation_order | name] */
+H5TOOLS_DLLVAR H5_iter_order_t sort_order; /* sort_order [ascending | descending] */
/* things to display or which are set via command line parameters */
-H5TOOLS_DLLVAR int enable_error_stack; /* re-enable error stack; disable=0 enable=1 */
+H5TOOLS_DLLVAR int enable_error_stack; /* re-enable error stack; disable=0 enable=1 */
/* Strings for output */
-#define H5_TOOLS_GROUP "GROUP"
-#define H5_TOOLS_DATASET "DATASET"
-#define H5_TOOLS_DATATYPE "DATATYPE"
-#define H5_TOOLS_ATTRIBUTE "ATTRIBUTE"
-#define H5_TOOLS_UNKNOWN "UNKNOWN"
+#define H5_TOOLS_GROUP "GROUP"
+#define H5_TOOLS_DATASET "DATASET"
+#define H5_TOOLS_DATATYPE "DATATYPE"
+#define H5_TOOLS_ATTRIBUTE "ATTRIBUTE"
+#define H5_TOOLS_UNKNOWN "UNKNOWN"
/* Definitions of useful routines */
-H5TOOLS_DLL void h5tools_init(void);
-H5TOOLS_DLL void h5tools_close(void);
-
-H5TOOLS_DLL void h5tools_error_report(void);
-H5TOOLS_DLL int h5tools_set_data_output_file(const char *fname, int is_bin);
-H5TOOLS_DLL int h5tools_set_attr_output_file(const char *fname, int is_bin);
-H5TOOLS_DLL int h5tools_set_input_file(const char *fname, int is_bin);
-H5TOOLS_DLL int h5tools_set_output_file(const char *fname, int is_bin);
-H5TOOLS_DLL int h5tools_set_error_file(const char *fname, int is_bin);
-
-H5TOOLS_DLL hid_t h5tools_get_fapl(hid_t prev_fapl_id, h5tools_vol_info_t *vol_info, h5tools_vfd_info_t *vfd_info);
-H5TOOLS_DLL herr_t h5tools_get_vfd_name(hid_t fapl_id,
- char *drivername, size_t drivername_size);
-H5TOOLS_DLL hid_t h5tools_fopen(const char *fname, unsigned flags, hid_t fapl,
- hbool_t use_specific_driver, char *drivername, size_t drivername_size);
+H5TOOLS_DLL void h5tools_init(void);
+H5TOOLS_DLL void h5tools_close(void);
+
+H5TOOLS_DLL void h5tools_error_report(void);
+H5TOOLS_DLL int h5tools_set_data_output_file(const char *fname, int is_bin);
+H5TOOLS_DLL int h5tools_set_attr_output_file(const char *fname, int is_bin);
+H5TOOLS_DLL int h5tools_set_input_file(const char *fname, int is_bin);
+H5TOOLS_DLL int h5tools_set_output_file(const char *fname, int is_bin);
+H5TOOLS_DLL int h5tools_set_error_file(const char *fname, int is_bin);
+
+H5TOOLS_DLL hid_t h5tools_get_fapl(hid_t prev_fapl_id, h5tools_vol_info_t *vol_info,
+ h5tools_vfd_info_t *vfd_info);
+H5TOOLS_DLL herr_t h5tools_get_vfd_name(hid_t fapl_id, char *drivername, size_t drivername_size);
+H5TOOLS_DLL hid_t h5tools_fopen(const char *fname, unsigned flags, hid_t fapl, hbool_t use_specific_driver,
+ char *drivername, size_t drivername_size);
H5TOOLS_DLL hid_t h5tools_get_little_endian_type(hid_t type);
H5TOOLS_DLL hid_t h5tools_get_big_endian_type(hid_t type);
H5TOOLS_DLL htri_t h5tools_detect_vlen(hid_t tid);
H5TOOLS_DLL htri_t h5tools_detect_vlen_str(hid_t tid);
H5TOOLS_DLL hbool_t h5tools_is_obj_same(hid_t loc_id1, const char *name1, hid_t loc_id2, const char *name2);
-H5TOOLS_DLL void init_acc_pos(unsigned ndims, hsize_t *dims, hsize_t *acc, hsize_t *pos, hsize_t *p_min_idx);
+H5TOOLS_DLL void init_acc_pos(unsigned ndims, hsize_t *dims, hsize_t *acc, hsize_t *pos, hsize_t *p_min_idx);
H5TOOLS_DLL hsize_t calc_acc_pos(unsigned ndims, hsize_t elemtno, hsize_t *acc, hsize_t *pos);
H5TOOLS_DLL hbool_t h5tools_is_zero(const void *_mem, size_t size);
-H5TOOLS_DLL int h5tools_canreadf(const char* name, hid_t dcpl_id);
+H5TOOLS_DLL int h5tools_canreadf(const char *name, hid_t dcpl_id);
H5TOOLS_DLL int h5tools_can_encode(H5Z_filter_t filtn);
-H5TOOLS_DLL void h5tools_simple_prefix(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- hsize_t elmtno, int secnum);
-H5TOOLS_DLL void h5tools_region_simple_prefix(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- hsize_t elmtno, hsize_t *ptdata, int secnum);
+H5TOOLS_DLL void h5tools_simple_prefix(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
+ hsize_t elmtno, int secnum);
+H5TOOLS_DLL void h5tools_region_simple_prefix(FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx, hsize_t elmtno, hsize_t *ptdata,
+ int secnum);
H5TOOLS_DLL int render_bin_output(FILE *stream, hid_t container, hid_t tid, void *_mem, hsize_t nelmts);
H5TOOLS_DLL int render_bin_output_region_data_blocks(hid_t region_id, FILE *stream, hid_t container,
- unsigned ndims, hid_t type_id, hsize_t nblocks, hsize_t *ptdata);
-H5TOOLS_DLL hbool_t render_bin_output_region_blocks(hid_t region_space, hid_t region_id, FILE *stream, hid_t container);
-H5TOOLS_DLL int render_bin_output_region_data_points(hid_t region_space, hid_t region_id, FILE* stream, hid_t container,
- unsigned ndims, hid_t type_id, hsize_t npoints);
-H5TOOLS_DLL hbool_t render_bin_output_region_points(hid_t region_space, hid_t region_id, FILE *stream, hid_t container);
-
-H5TOOLS_DLL hbool_t h5tools_render_element(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, h5tools_str_t *buffer,
- hsize_t *curr_pos, size_t ncols, hsize_t local_elmt_counter, hsize_t elmt_counter);
-H5TOOLS_DLL hbool_t h5tools_render_region_element(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, h5tools_str_t *buffer,
- hsize_t *curr_pos, size_t ncols, hsize_t *ptdata, hsize_t local_elmt_counter, hsize_t elmt_counter);
+ unsigned ndims, hid_t type_id, hsize_t nblocks,
+ hsize_t *ptdata);
+H5TOOLS_DLL hbool_t render_bin_output_region_blocks(hid_t region_space, hid_t region_id, FILE *stream,
+ hid_t container);
+H5TOOLS_DLL int render_bin_output_region_data_points(hid_t region_space, hid_t region_id, FILE *stream,
+ hid_t container, unsigned ndims, hid_t type_id,
+ hsize_t npoints);
+H5TOOLS_DLL hbool_t render_bin_output_region_points(hid_t region_space, hid_t region_id, FILE *stream,
+ hid_t container);
+
+H5TOOLS_DLL hbool_t h5tools_render_element(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
+ h5tools_str_t *buffer, hsize_t *curr_pos, size_t ncols,
+ hsize_t local_elmt_counter, hsize_t elmt_counter);
+H5TOOLS_DLL hbool_t h5tools_render_region_element(FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx, h5tools_str_t *buffer,
+ hsize_t *curr_pos, size_t ncols, hsize_t *ptdata,
+ hsize_t local_elmt_counter, hsize_t elmt_counter);
#ifdef __cplusplus
}
#endif
#endif /* H5TOOLS_H__ */
-
diff --git a/tools/lib/h5tools_dump.c b/tools/lib/h5tools_dump.c
index 4ba89fa..56ffd27 100644
--- a/tools/lib/h5tools_dump.c
+++ b/tools/lib/h5tools_dump.c
@@ -23,192 +23,193 @@
#include "H5private.h"
h5tool_format_t h5tools_dataformat = {
- 0, /*raw */
-
- "", /*fmt_raw */
- "%d", /*fmt_int */
- "%u", /*fmt_uint */
- "%hhd", /*fmt_schar */
- "%u", /*fmt_uchar */
- "%d", /*fmt_short */
- "%u", /*fmt_ushort */
- "%ld", /*fmt_long */
- "%lu", /*fmt_ulong */
- NULL, /*fmt_llong */
- NULL, /*fmt_ullong */
- "%g", /*fmt_double */
- "%g", /*fmt_float */
-
- 0, /*ascii */
- 0, /*str_locale */
- 0, /*str_repeat */
-
- "[ ", /*arr_pre */
- ",", /*arr_sep */
- " ]", /*arr_suf */
- 1, /*arr_linebreak */
-
- "", /*cmpd_name */
- ",\n", /*cmpd_sep */
- "{", /*cmpd_pre */
- "}", /*cmpd_suf */
- "\n", /*cmpd_end */
- NULL, /* cmpd_listv */
-
- ", ", /*vlen_sep */
- "(", /*vlen_pre */
- ")", /*vlen_suf */
- "", /*vlen_end */
-
- "%s", /*elmt_fmt */
- ",", /*elmt_suf1 */
- " ", /*elmt_suf2 */
-
- "", /*idx_n_fmt */
- "", /*idx_sep */
- "", /*idx_fmt */
-
- 80, /*line_ncols *//*standard default columns */
- 0, /*line_per_line */
- "", /*line_pre */
- "%s", /*line_1st */
- "%s", /*line_cont */
- "", /*line_suf */
- "", /*line_sep */
- 1, /*line_multi_new */
- " ", /*line_indent */
-
- 1, /*skip_first */
-
- 1, /*obj_hidefileno */
+ 0, /*raw */
+
+ "", /*fmt_raw */
+ "%d", /*fmt_int */
+ "%u", /*fmt_uint */
+ "%hhd", /*fmt_schar */
+ "%u", /*fmt_uchar */
+ "%d", /*fmt_short */
+ "%u", /*fmt_ushort */
+ "%ld", /*fmt_long */
+ "%lu", /*fmt_ulong */
+ NULL, /*fmt_llong */
+ NULL, /*fmt_ullong */
+ "%g", /*fmt_double */
+ "%g", /*fmt_float */
+
+ 0, /*ascii */
+ 0, /*str_locale */
+ 0, /*str_repeat */
+
+ "[ ", /*arr_pre */
+ ",", /*arr_sep */
+ " ]", /*arr_suf */
+ 1, /*arr_linebreak */
+
+ "", /*cmpd_name */
+ ",\n", /*cmpd_sep */
+ "{", /*cmpd_pre */
+ "}", /*cmpd_suf */
+ "\n", /*cmpd_end */
+ NULL, /* cmpd_listv */
+
+ ", ", /*vlen_sep */
+ "(", /*vlen_pre */
+ ")", /*vlen_suf */
+ "", /*vlen_end */
+
+ "%s", /*elmt_fmt */
+ ",", /*elmt_suf1 */
+ " ", /*elmt_suf2 */
+
+ "", /*idx_n_fmt */
+ "", /*idx_sep */
+ "", /*idx_fmt */
+
+ 80,
+ /*line_ncols */ /*standard default columns */
+ 0, /*line_per_line */
+ "", /*line_pre */
+ "%s", /*line_1st */
+ "%s", /*line_cont */
+ "", /*line_suf */
+ "", /*line_sep */
+ 1, /*line_multi_new */
+ " ", /*line_indent */
+
+ 1, /*skip_first */
+
+ 1, /*obj_hidefileno */
" %" PRIuHADDR, /*obj_format */
- 1, /*dset_hidefileno */
+ 1, /*dset_hidefileno */
"DATASET %s ", /*dset_format */
- "%s", /*dset_blockformat_pre */
- "%s", /*dset_ptformat_pre */
- "%s", /*dset_ptformat */
- 1, /*array indices */
- 1 /*escape non printable characters */
+ "%s", /*dset_blockformat_pre */
+ "%s", /*dset_ptformat_pre */
+ "%s", /*dset_ptformat */
+ 1, /*array indices */
+ 1 /*escape non printable characters */
};
const h5tools_dump_header_t h5tools_standardformat = {
-"standardformat", /*name */
-"HDF5", /*filebegin */
-"", /*fileend */
-SUPER_BLOCK, /*bootblockbegin */
-"", /*bootblockend */
-H5_TOOLS_GROUP, /*groupbegin */
-"", /*groupend */
-H5_TOOLS_DATASET, /*datasetbegin */
-"", /*datasetend */
-ATTRIBUTE, /*attributebegin */
-"", /*attributeend */
-H5_TOOLS_DATATYPE, /*datatypebegin */
-"", /*datatypeend */
-DATASPACE, /*dataspacebegin */
-"", /*dataspaceend */
-DATA, /*databegin */
-"", /*dataend */
-SOFTLINK, /*softlinkbegin */
-"", /*softlinkend */
-EXTLINK, /*extlinkbegin */
-"", /*extlinkend */
-UDLINK, /*udlinkbegin */
-"", /*udlinkend */
-SUBSET, /*subsettingbegin */
-"", /*subsettingend */
-START, /*startbegin */
-"", /*startend */
-STRIDE, /*stridebegin */
-"", /*strideend */
-COUNT, /*countbegin */
-"", /*countend */
-BLOCK, /*blockbegin */
-"", /*blockend */
-
-"{", /*fileblockbegin */
-"}", /*fileblockend */
-"{", /*bootblockblockbegin */
-"}", /*bootblockblockend */
-"{", /*groupblockbegin */
-"}", /*groupblockend */
-"{", /*datasetblockbegin */
-"}", /*datasetblockend */
-"{", /*attributeblockbegin */
-"}", /*attributeblockend */
-"", /*datatypeblockbegin */
-"", /*datatypeblockend */
-"", /*dataspaceblockbegin */
-"", /*dataspaceblockend */
-"{", /*datablockbegin */
-"}", /*datablockend */
-"{", /*softlinkblockbegin */
-"}", /*softlinkblockend */
-"{", /*extlinkblockbegin */
-"}", /*extlinkblockend */
-"{", /*udlinkblockbegin */
-"}", /*udlinkblockend */
-"{", /*strblockbegin */
-"}", /*strblockend */
-"{", /*enumblockbegin */
-"}", /*enumblockend */
-"{", /*structblockbegin */
-"}", /*structblockend */
-"{", /*vlenblockbegin */
-"}", /*vlenblockend */
-"{", /*subsettingblockbegin */
-"}", /*subsettingblockend */
-"(", /*startblockbegin */
-");", /*startblockend */
-"(", /*strideblockbegin */
-");", /*strideblockend */
-"(", /*countblockbegin */
-");", /*countblockend */
-"(", /*blockblockbegin */
-");", /*blockblockend */
-
-"", /*dataspacedescriptionbegin */
-"", /*dataspacedescriptionend */
-"(", /*dataspacedimbegin */
-")", /*dataspacedimend */
-
-"", /*virtualselectionbegin */
-"", /*virtualselectionend */
-"{", /*virtualselectionblockbegin */
-"}", /*virtualselectionblockend */
-"\"", /*virtualfilenamebeginbegin */
-"\"", /*virtualfilenamebeginend */
-"\"", /*virtualdatasetnamebegin */
-"\"", /*virtualdtatasetnameend */
+ "standardformat", /*name */
+ "HDF5", /*filebegin */
+ "", /*fileend */
+ SUPER_BLOCK, /*bootblockbegin */
+ "", /*bootblockend */
+ H5_TOOLS_GROUP, /*groupbegin */
+ "", /*groupend */
+ H5_TOOLS_DATASET, /*datasetbegin */
+ "", /*datasetend */
+ ATTRIBUTE, /*attributebegin */
+ "", /*attributeend */
+ H5_TOOLS_DATATYPE, /*datatypebegin */
+ "", /*datatypeend */
+ DATASPACE, /*dataspacebegin */
+ "", /*dataspaceend */
+ DATA, /*databegin */
+ "", /*dataend */
+ SOFTLINK, /*softlinkbegin */
+ "", /*softlinkend */
+ EXTLINK, /*extlinkbegin */
+ "", /*extlinkend */
+ UDLINK, /*udlinkbegin */
+ "", /*udlinkend */
+ SUBSET, /*subsettingbegin */
+ "", /*subsettingend */
+ START, /*startbegin */
+ "", /*startend */
+ STRIDE, /*stridebegin */
+ "", /*strideend */
+ COUNT, /*countbegin */
+ "", /*countend */
+ BLOCK, /*blockbegin */
+ "", /*blockend */
+
+ "{", /*fileblockbegin */
+ "}", /*fileblockend */
+ "{", /*bootblockblockbegin */
+ "}", /*bootblockblockend */
+ "{", /*groupblockbegin */
+ "}", /*groupblockend */
+ "{", /*datasetblockbegin */
+ "}", /*datasetblockend */
+ "{", /*attributeblockbegin */
+ "}", /*attributeblockend */
+ "", /*datatypeblockbegin */
+ "", /*datatypeblockend */
+ "", /*dataspaceblockbegin */
+ "", /*dataspaceblockend */
+ "{", /*datablockbegin */
+ "}", /*datablockend */
+ "{", /*softlinkblockbegin */
+ "}", /*softlinkblockend */
+ "{", /*extlinkblockbegin */
+ "}", /*extlinkblockend */
+ "{", /*udlinkblockbegin */
+ "}", /*udlinkblockend */
+ "{", /*strblockbegin */
+ "}", /*strblockend */
+ "{", /*enumblockbegin */
+ "}", /*enumblockend */
+ "{", /*structblockbegin */
+ "}", /*structblockend */
+ "{", /*vlenblockbegin */
+ "}", /*vlenblockend */
+ "{", /*subsettingblockbegin */
+ "}", /*subsettingblockend */
+ "(", /*startblockbegin */
+ ");", /*startblockend */
+ "(", /*strideblockbegin */
+ ");", /*strideblockend */
+ "(", /*countblockbegin */
+ ");", /*countblockend */
+ "(", /*blockblockbegin */
+ ");", /*blockblockend */
+
+ "", /*dataspacedescriptionbegin */
+ "", /*dataspacedescriptionend */
+ "(", /*dataspacedimbegin */
+ ")", /*dataspacedimend */
+
+ "", /*virtualselectionbegin */
+ "", /*virtualselectionend */
+ "{", /*virtualselectionblockbegin */
+ "}", /*virtualselectionblockend */
+ "\"", /*virtualfilenamebeginbegin */
+ "\"", /*virtualfilenamebeginend */
+ "\"", /*virtualdatasetnamebegin */
+ "\"", /*virtualdtatasetnameend */
};
-const h5tools_dump_header_t* h5tools_dump_header_format;
-table_t *h5dump_type_table = NULL; /* type table reference for datatype dump */
+const h5tools_dump_header_t *h5tools_dump_header_format;
+table_t * h5dump_type_table = NULL; /* type table reference for datatype dump */
/* local prototypes */
-static int h5tools_print_region_data_blocks(hid_t region_id,
- FILE *stream, const h5tool_format_t *info, h5tools_context_t *cur_ctx,
- h5tools_str_t *buffer, /* string into which to render */
- size_t ncols, unsigned ndims, hid_t type_id, hsize_t nblocks, hsize_t *ptdata);
+static int h5tools_print_region_data_blocks(hid_t region_id, FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *cur_ctx,
+ h5tools_str_t * buffer, /* string into which to render */
+ size_t ncols, unsigned ndims, hid_t type_id, hsize_t nblocks,
+ hsize_t *ptdata);
-static int h5tools_print_region_data_points(hid_t region_space, hid_t region_id,
- FILE *stream, const h5tool_format_t *info, h5tools_context_t *cur_ctx,
- h5tools_str_t *buffer, size_t ncols,
- unsigned ndims, hid_t type_id, hsize_t npoints, hsize_t *ptdata);
+static int h5tools_print_region_data_points(hid_t region_space, hid_t region_id, FILE *stream,
+ const h5tool_format_t *info, h5tools_context_t *cur_ctx,
+ h5tools_str_t *buffer, size_t ncols, unsigned ndims,
+ hid_t type_id, hsize_t npoints, hsize_t *ptdata);
void h5tools_print_dims(h5tools_str_t *buffer, hsize_t *s, int dims);
-void h5tools_dump_subsetting_header(FILE *stream, const h5tool_format_t *info,
- h5tools_context_t *ctx, int dims);
+void h5tools_dump_subsetting_header(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
+ int dims);
-static void h5tools_print_virtual_selection(hid_t vspace,
- FILE *stream, const h5tool_format_t *info,
- h5tools_context_t *ctx, /* in,out */
- h5tools_str_t *buffer, /* string into which to render */
- hsize_t *curr_pos, /* total data element position */
- size_t ncols);
+static void h5tools_print_virtual_selection(hid_t vspace, FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx, /* in,out */
+ h5tools_str_t * buffer, /* string into which to render */
+ hsize_t * curr_pos, /* total data element position */
+ size_t ncols);
void
h5tools_dump_init(void)
@@ -253,27 +254,27 @@ h5tools_dump_init(void)
*-------------------------------------------------------------------------
*/
int
-h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, /* in,out */
+h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, /* in,out */
hid_t container, unsigned flags, hsize_t nelmts, hid_t type, void *_mem)
{
- unsigned char *mem = (unsigned char*) _mem;
- hsize_t i; /* element counter */
- size_t size; /* size of each datum */
+ unsigned char *mem = (unsigned char *)_mem;
+ hsize_t i; /* element counter */
+ size_t size; /* size of each datum */
hbool_t dimension_break = TRUE;
- size_t ncols = 80; /* available output width */
- h5tools_str_t buffer; /* string into which to render */
- hsize_t curr_pos = 0; /* total data element position */
- hsize_t elmt_counter = 0;/* counts the # elements printed.
- * I (ptl?) needed something that
- * isn't going to get reset when a new
- * line is formed. I'm going to use
- * this var to count elements and
- * break after we see a number equal
- * to the ctx->size_last_dim. */
- int ret_value = 0;
-
- H5TOOLS_START_DEBUG(" file=%p", (void*)stream);
- H5TOOLS_DEBUG("rawdata file=%p", (void*)rawdatastream);
+ size_t ncols = 80; /* available output width */
+ h5tools_str_t buffer; /* string into which to render */
+ hsize_t curr_pos = 0; /* total data element position */
+ hsize_t elmt_counter = 0; /* counts the # elements printed.
+ * I (ptl?) needed something that
+ * isn't going to get reset when a new
+ * line is formed. I'm going to use
+ * this var to count elements and
+ * break after we see a number equal
+ * to the ctx->size_last_dim. */
+ int ret_value = 0;
+
+ H5TOOLS_START_DEBUG(" file=%p", (void *)stream);
+ H5TOOLS_DEBUG("rawdata file=%p", (void *)rawdatastream);
/* binary dump */
if (bin_output && (rawdatastream != NULL)) {
H5TOOLS_DEBUG("render_bin_output");
@@ -298,7 +299,7 @@ h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, h5tools_cont
H5TOOLS_DEBUG("data render start:%ld", nelmts);
for (i = 0; i < nelmts; i++, ctx->cur_elmt++, elmt_counter++) {
- void* memref = mem + i * size;
+ void *memref = mem + i * size;
/* Render the data element begin*/
h5tools_str_reset(&buffer);
@@ -307,16 +308,16 @@ h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, h5tools_cont
if (i + 1 < nelmts || (flags & END_OF_DATA) == 0)
h5tools_str_append(&buffer, "%s", OPT(info->elmt_suf1, ","));
- dimension_break = h5tools_render_element(stream, info, ctx, &buffer,
- &curr_pos, ncols, i, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, ncols, i, elmt_counter);
/* Render the data element end*/
- if(FALSE == dimension_break)
+ if (FALSE == dimension_break)
elmt_counter = 0;
} /* end for (i = 0; i < nelmts... */
H5TOOLS_DEBUG("data render finish");
h5tools_str_close(&buffer);
- }/* else bin */
+ } /* else bin */
H5TOOLS_ENDDEBUG("exit");
return ret_value;
@@ -346,47 +347,47 @@ h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, h5tools_cont
*-------------------------------------------------------------------------
*/
hbool_t
-h5tools_dump_region_attribute(hid_t region_id,
- FILE *stream, const h5tool_format_t *info,
- h5tools_context_t *ctx, /* in,out */
- h5tools_str_t *buffer, /* string into which to render */
- hsize_t *curr_pos, /* total data element position */
- size_t ncols, hsize_t region_elmt_counter, /* element counter */
- hsize_t elmt_counter)
+h5tools_dump_region_attribute(hid_t region_id, FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx, /* in,out */
+ h5tools_str_t * buffer, /* string into which to render */
+ hsize_t * curr_pos, /* total data element position */
+ size_t ncols, hsize_t region_elmt_counter, /* element counter */
+ hsize_t elmt_counter)
{
hbool_t dimension_break = TRUE;
- hid_t atype = H5I_INVALID_HID;
- hid_t type_id = H5I_INVALID_HID;
- hid_t region_space = H5I_INVALID_HID;
+ hid_t atype = H5I_INVALID_HID;
+ hid_t type_id = H5I_INVALID_HID;
+ hid_t region_space = H5I_INVALID_HID;
h5tool_format_t outputformat; /* Use to disable prefix for DATA attribute display */
hbool_t past_catch = FALSE;
- hbool_t ret_value = TRUE;
+ hbool_t ret_value = TRUE;
HDassert(info);
HDassert(ctx);
HDassert(buffer);
- outputformat = *info;
+ outputformat = *info;
outputformat.idx_fmt = "";
outputformat.idx_n_fmt = "";
outputformat.idx_sep = "";
outputformat.line_pre = "";
- H5TOOLS_DEBUG("enter file=%p", (void*)stream);
- H5TOOLS_DEBUG("rawdata file=%p", (void*)rawdatastream);
+ H5TOOLS_DEBUG("enter file=%p", (void *)stream);
+ H5TOOLS_DEBUG("rawdata file=%p", (void *)rawdatastream);
/* Render the region { element begin */
h5tools_str_reset(buffer);
h5tools_str_append(buffer, " {");
- dimension_break = h5tools_render_element(stream, &outputformat, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break = h5tools_render_element(stream, &outputformat, ctx, buffer, curr_pos, ncols,
+ region_elmt_counter, elmt_counter);
/* Render the region { element end */
- if((region_space = H5Aget_space(region_id)) < 0)
+ if ((region_space = H5Aget_space(region_id)) < 0)
H5TOOLS_GOTO_ERROR(dimension_break, "H5Aget_space failed");
- if((atype = H5Aget_type(region_id)) < 0)
+ if ((atype = H5Aget_type(region_id)) < 0)
H5TOOLS_GOTO_ERROR(dimension_break, "H5Aget_type failed");
- if((type_id = H5Tget_native_type(atype, H5T_DIR_DEFAULT)) < 0)
+ if ((type_id = H5Tget_native_type(atype, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(dimension_break, "H5Tget_native_type failed");
ctx->indent_level++;
@@ -394,9 +395,8 @@ h5tools_dump_region_attribute(hid_t region_id,
/* Render the datatype element begin */
h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "%s %s ",
- h5tools_dump_header_format->datatypebegin,
- h5tools_dump_header_format->datatypeblockbegin);
+ h5tools_str_append(buffer, "%s %s ", h5tools_dump_header_format->datatypebegin,
+ h5tools_dump_header_format->datatypeblockbegin);
ctx->need_prefix = TRUE;
ctx->indent_level++;
@@ -411,7 +411,8 @@ h5tools_dump_region_attribute(hid_t region_id,
if (HDstrlen(h5tools_dump_header_format->datatypeend))
h5tools_str_append(buffer, "%s", h5tools_dump_header_format->datatypeend);
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
/* Render the datatype element end */
ctx->need_prefix = TRUE;
@@ -430,7 +431,8 @@ h5tools_dump_region_attribute(hid_t region_id,
if (HDstrlen(h5tools_dump_header_format->dataspaceend))
h5tools_str_append(buffer, "%s", h5tools_dump_header_format->dataspaceblockend);
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
/* Render the dataspace element end */
if (region_output) {
@@ -440,10 +442,10 @@ h5tools_dump_region_attribute(hid_t region_id,
}
done:
- if(H5Tclose(type_id) < 0)
+ if (H5Tclose(type_id) < 0)
H5TOOLS_ERROR(dimension_break, "H5Tclose failed");
- if(H5Tclose(atype) < 0)
+ if (H5Tclose(atype) < 0)
H5TOOLS_ERROR(dimension_break, "H5Tclose failed");
ctx->indent_level--;
@@ -452,12 +454,13 @@ done:
/* Render the region } element begin */
h5tools_str_reset(buffer);
h5tools_str_append(buffer, "}");
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
/* Render the region } element end */
H5_LEAVE(dimension_break)
-CATCH
+ CATCH
H5TOOLS_ENDDEBUG("");
return ret_value;
@@ -482,30 +485,32 @@ CATCH
*-------------------------------------------------------------------------
*/
static int
-h5tools_print_region_data_blocks(hid_t region_id, FILE *stream, const h5tool_format_t *info, h5tools_context_t *cur_ctx,
- h5tools_str_t *buffer, /* string into which to render */
- size_t ncols, unsigned ndims, hid_t type_id, hsize_t nblocks, hsize_t *ptdata)
+h5tools_print_region_data_blocks(hid_t region_id, FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *cur_ctx,
+ h5tools_str_t * buffer, /* string into which to render */
+ size_t ncols, unsigned ndims, hid_t type_id, hsize_t nblocks,
+ hsize_t *ptdata)
{
- hbool_t dimension_break = TRUE;
- hsize_t *dims1 = NULL;
- hsize_t *start = NULL;
- hsize_t *count = NULL;
- hsize_t blkndx;
- hsize_t total_size[H5S_MAX_RANK];
- hsize_t elmtno; /* elemnt index */
- hsize_t curr_pos = 0;
- unsigned int region_flags; /* buffer extent flags */
- hsize_t numelem;
- hsize_t numindex;
- unsigned indx;
- unsigned jndx;
- hbool_t past_catch = FALSE;
- size_t type_size;
- hid_t mem_space = H5I_INVALID_HID;
- hid_t sid1 = H5I_INVALID_HID;
+ hbool_t dimension_break = TRUE;
+ hsize_t * dims1 = NULL;
+ hsize_t * start = NULL;
+ hsize_t * count = NULL;
+ hsize_t blkndx;
+ hsize_t total_size[H5S_MAX_RANK];
+ hsize_t elmtno; /* elemnt index */
+ hsize_t curr_pos = 0;
+ unsigned int region_flags; /* buffer extent flags */
+ hsize_t numelem;
+ hsize_t numindex;
+ unsigned indx;
+ unsigned jndx;
+ hbool_t past_catch = FALSE;
+ size_t type_size;
+ hid_t mem_space = H5I_INVALID_HID;
+ hid_t sid1 = H5I_INVALID_HID;
h5tools_context_t ctx;
- void *region_buf = NULL;
- int ret_value = 0;
+ void * region_buf = NULL;
+ int ret_value = 0;
HDassert(info);
HDassert(cur_ctx);
@@ -516,56 +521,56 @@ h5tools_print_region_data_blocks(hid_t region_id, FILE *stream, const h5tool_for
H5TOOLS_START_DEBUG("");
- if((type_size = H5Tget_size(type_id)) == 0)
+ if ((type_size = H5Tget_size(type_id)) == 0)
H5TOOLS_THROW(FAIL, "H5Tget_size failed");
/* Get the dataspace of the dataset */
- if((sid1 = H5Dget_space(region_id)) < 0)
+ if ((sid1 = H5Dget_space(region_id)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Dget_space failed");
/* Allocate space for the dimension array */
- if((dims1 = (hsize_t *) HDmalloc((size_t)(sizeof(hsize_t) * ndims))) == NULL)
+ if ((dims1 = (hsize_t *)HDmalloc((size_t)(sizeof(hsize_t) * ndims))) == NULL)
H5TOOLS_GOTO_ERROR(FAIL, "Could not allocate buffer for dims");
/* find the dimensions of each data space from the block coordinates */
numelem = 1;
for (jndx = 0; jndx < ndims; jndx++) {
dims1[jndx] = ptdata[jndx + ndims] - ptdata[jndx] + 1;
- numelem = dims1[jndx] * numelem;
+ numelem = dims1[jndx] * numelem;
}
/* Create dataspace for reading buffer */
- if((mem_space = H5Screate_simple((int)ndims, dims1, NULL)) < 0)
+ if ((mem_space = H5Screate_simple((int)ndims, dims1, NULL)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Screate_simple failed");
- if((region_buf = HDmalloc(type_size * (size_t)numelem)) == NULL)
+ if ((region_buf = HDmalloc(type_size * (size_t)numelem)) == NULL)
H5TOOLS_GOTO_ERROR(FAIL, "Could not allocate region buffer");
/* Select (x , x , ..., x ) x (y , y , ..., y ) hyperslab for reading memory dataset */
/* 1 2 n 1 2 n */
- if((start = (hsize_t *) HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
+ if ((start = (hsize_t *)HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
H5TOOLS_GOTO_ERROR(FAIL, "Could not allocate buffer for start");
- if((count = (hsize_t *) HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
+ if ((count = (hsize_t *)HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
H5TOOLS_GOTO_ERROR(FAIL, "Could not allocate buffer for count");
- curr_pos = 0;
- ctx.indent_level = cur_ctx->indent_level;
- ctx.cur_column = cur_ctx->cur_column;
+ curr_pos = 0;
+ ctx.indent_level = cur_ctx->indent_level;
+ ctx.cur_column = cur_ctx->cur_column;
ctx.prev_multiline = cur_ctx->prev_multiline;
- ctx.ndims = ndims;
+ ctx.ndims = ndims;
for (blkndx = 0; blkndx < nblocks; blkndx++) {
ctx.need_prefix = TRUE;
- ctx.cur_elmt = 0;
+ ctx.cur_elmt = 0;
for (indx = 0; indx < ndims; indx++) {
start[indx] = ptdata[indx + blkndx * ndims * 2];
count[indx] = dims1[indx];
}
- if(H5Sselect_hyperslab(sid1, H5S_SELECT_SET, start, NULL, count, NULL) >= 0) {
- if(H5Dread(region_id, type_id, mem_space, sid1, H5P_DEFAULT, region_buf) >= 0) {
+ if (H5Sselect_hyperslab(sid1, H5S_SELECT_SET, start, NULL, count, NULL) >= 0) {
+ if (H5Dread(region_id, type_id, mem_space, sid1, H5P_DEFAULT, region_buf) >= 0) {
ctx.indent_level++;
- if(H5Sget_simple_extent_dims(mem_space, total_size, NULL) >= 0) {
+ if (H5Sget_simple_extent_dims(mem_space, total_size, NULL) >= 0) {
/* assume entire data space to be printed */
init_acc_pos(ctx.ndims, total_size, ctx.acc, ctx.pos, ctx.p_min_idx);
@@ -581,9 +586,9 @@ h5tools_print_region_data_blocks(hid_t region_id, FILE *stream, const h5tool_for
for (indx = 0; indx < (unsigned)ctx.ndims; indx++)
ctx.p_max_idx[indx] = dims1[indx];
- curr_pos = 0;
- ctx.sm_pos = blkndx * 2 * ndims;
- ctx.size_last_dim = dims1[ndims-1];
+ curr_pos = 0;
+ ctx.sm_pos = blkndx * 2 * ndims;
+ ctx.size_last_dim = dims1[ndims - 1];
h5tools_region_simple_prefix(stream, info, &ctx, curr_pos, ptdata, 0);
@@ -595,16 +600,16 @@ h5tools_print_region_data_blocks(hid_t region_id, FILE *stream, const h5tool_for
h5tools_str_append(buffer, "%s", numindex ? OPTIONAL_LINE_BREAK "" : "");
h5tools_str_sprint(buffer, info, region_id, type_id,
- ((char*)region_buf + numindex * type_size), &ctx);
+ ((char *)region_buf + numindex * type_size), &ctx);
if (numindex + 1 < numelem || (region_flags & END_OF_DATA) == 0)
h5tools_str_append(buffer, "%s", OPT(info->elmt_suf1, ","));
dimension_break = h5tools_render_region_element(stream, info, &ctx, buffer, &curr_pos,
- ncols, ptdata, numindex, elmtno);
+ ncols, ptdata, numindex, elmtno);
/* Render the region data element end */
- if(FALSE == dimension_break)
+ if (FALSE == dimension_break)
elmtno = 0;
} /* end for (numindex = 0; numindex < numelem; numindex++, elmtno++, ctx.cur_elmt++) */
}
@@ -629,11 +634,11 @@ done:
HDfree(region_buf);
HDfree(dims1);
- if(H5Sclose(mem_space) < 0)
+ if (H5Sclose(mem_space) < 0)
H5TOOLS_ERROR(FAIL, "H5Sclose failed");
- if(H5Sclose(sid1) < 0)
+ if (H5Sclose(sid1) < 0)
H5TOOLS_ERROR(FAIL, "H5Sclose failed");
-CATCH
+ CATCH
H5TOOLS_ENDDEBUG("");
return ret_value;
@@ -663,45 +668,44 @@ CATCH
*-------------------------------------------------------------------------
*/
hbool_t
-h5tools_dump_region_data_blocks(hid_t region_space, hid_t region_id,
- FILE *stream, const h5tool_format_t *info,
- h5tools_context_t *ctx, /* in,out */
- h5tools_str_t *buffer, /* string into which to render */
- hsize_t *curr_pos, /* total data element position */
- size_t ncols, hsize_t region_elmt_counter, /* element counter */
- hsize_t elmt_counter)
+h5tools_dump_region_data_blocks(hid_t region_space, hid_t region_id, FILE *stream,
+ const h5tool_format_t *info, h5tools_context_t *ctx, /* in,out */
+ h5tools_str_t *buffer, /* string into which to render */
+ hsize_t * curr_pos, /* total data element position */
+ size_t ncols, hsize_t region_elmt_counter, /* element counter */
+ hsize_t elmt_counter)
{
- hbool_t dimension_break = TRUE;
- hssize_t snblocks;
- hsize_t nblocks;
- hsize_t alloc_size;
- hsize_t *ptdata = NULL;
- int sndims;
- unsigned ndims;
- hsize_t indx;
- hid_t dtype = H5I_INVALID_HID;
- hid_t type_id = H5I_INVALID_HID;
- h5tool_format_t outputformat; /* Use to disable prefix for DATA attribute display */
- hbool_t past_catch = FALSE;
- hbool_t ret_value = TRUE;
+ hbool_t dimension_break = TRUE;
+ hssize_t snblocks;
+ hsize_t nblocks;
+ hsize_t alloc_size;
+ hsize_t * ptdata = NULL;
+ int sndims;
+ unsigned ndims;
+ hsize_t indx;
+ hid_t dtype = H5I_INVALID_HID;
+ hid_t type_id = H5I_INVALID_HID;
+ h5tool_format_t outputformat; /* Use to disable prefix for DATA attribute display */
+ hbool_t past_catch = FALSE;
+ hbool_t ret_value = TRUE;
HDassert(info);
HDassert(ctx);
HDassert(buffer);
H5TOOLS_START_DEBUG("");
- outputformat = *info;
+ outputformat = *info;
outputformat.idx_fmt = "";
outputformat.idx_n_fmt = "";
outputformat.idx_sep = "";
outputformat.line_pre = "";
- if((snblocks = H5Sget_select_hyper_nblocks(region_space)) <= 0)
+ if ((snblocks = H5Sget_select_hyper_nblocks(region_space)) <= 0)
H5TOOLS_THROW(dimension_break, "H5Sget_select_hyper_nblocks failed");
nblocks = (hsize_t)snblocks;
/* Print block information */
- if((sndims = H5Sget_simple_extent_ndims(region_space)) < 0)
+ if ((sndims = H5Sget_simple_extent_ndims(region_space)) < 0)
H5TOOLS_THROW(dimension_break, "H5Sget_simple_extent_ndims failed");
ndims = (unsigned)sndims;
@@ -711,7 +715,8 @@ h5tools_dump_region_data_blocks(hid_t region_space, hid_t region_id,
h5tools_str_reset(buffer);
h5tools_str_append(buffer, " {");
- dimension_break = h5tools_render_element(stream, &outputformat, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break = h5tools_render_element(stream, &outputformat, ctx, buffer, curr_pos, ncols,
+ region_elmt_counter, elmt_counter);
/* Render the region { element end */
ctx->indent_level++;
@@ -722,46 +727,46 @@ h5tools_dump_region_data_blocks(hid_t region_space, hid_t region_id,
h5tools_str_append(buffer, "REGION_TYPE BLOCK ");
alloc_size = nblocks * ndims * 2 * sizeof(ptdata[0]);
- HDassert(alloc_size == (hsize_t) ((size_t) alloc_size)); /*check for overflow*/
- if((ptdata = (hsize_t*) HDmalloc((size_t) alloc_size)) == NULL)
+ HDassert(alloc_size == (hsize_t)((size_t)alloc_size)); /*check for overflow*/
+ if ((ptdata = (hsize_t *)HDmalloc((size_t)alloc_size)) == NULL)
H5TOOLS_GOTO_ERROR(dimension_break, "Could not allocate buffer for ptdata");
- if(H5Sget_select_hyper_blocklist(region_space, (hsize_t)0, nblocks, ptdata) < 0)
+ if (H5Sget_select_hyper_blocklist(region_space, (hsize_t)0, nblocks, ptdata) < 0)
H5TOOLS_GOTO_ERROR(dimension_break, "H5Rget_select_hyper_blocklist failed");
- for(indx = 0; indx < nblocks; indx++) {
+ for (indx = 0; indx < nblocks; indx++) {
unsigned loop_indx;
- h5tools_str_append(buffer, outputformat.dset_blockformat_pre,
- indx ? "," OPTIONAL_LINE_BREAK " " : "", (unsigned long)indx);
+ h5tools_str_append(buffer, outputformat.dset_blockformat_pre, indx ? "," OPTIONAL_LINE_BREAK " " : "",
+ (unsigned long)indx);
/* Start coordinates and opposite corner */
for (loop_indx = 0; loop_indx < ndims; loop_indx++)
h5tools_str_append(buffer, "%s" HSIZE_T_FORMAT, loop_indx ? "," : "(",
- ptdata[indx * 2 * ndims + loop_indx]);
+ ptdata[indx * 2 * ndims + loop_indx]);
for (loop_indx = 0; loop_indx < ndims; loop_indx++)
h5tools_str_append(buffer, "%s" HSIZE_T_FORMAT, loop_indx ? "," : ")-(",
- ptdata[indx * 2 * ndims + loop_indx + ndims]);
+ ptdata[indx * 2 * ndims + loop_indx + ndims]);
h5tools_str_append(buffer, ")");
} /* end for (indx = 0; indx < nblocks; indx++) */
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
/* Render the region datatype info and indices element end */
ctx->need_prefix = TRUE;
- if((dtype = H5Dget_type(region_id)) < 0)
+ if ((dtype = H5Dget_type(region_id)) < 0)
H5TOOLS_GOTO_ERROR(dimension_break, "H5Dget_type failed");
- if((type_id = H5Tget_native_type(dtype, H5T_DIR_DEFAULT)) < 0)
+ if ((type_id = H5Tget_native_type(dtype, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(dimension_break, "H5Tget_native_type failed");
/* Render the datatype element begin */
h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "%s %s ",
- h5tools_dump_header_format->datatypebegin,
- h5tools_dump_header_format->datatypeblockbegin);
+ h5tools_str_append(buffer, "%s %s ", h5tools_dump_header_format->datatypebegin,
+ h5tools_dump_header_format->datatypeblockbegin);
ctx->indent_level++;
h5tools_print_datatype(stream, buffer, info, ctx, dtype, TRUE);
@@ -775,7 +780,8 @@ h5tools_dump_region_data_blocks(hid_t region_space, hid_t region_id,
if (HDstrlen(h5tools_dump_header_format->datatypeend))
h5tools_str_append(buffer, "%s", h5tools_dump_header_format->datatypeend);
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
/* Render the datatype element end */
ctx->need_prefix = TRUE;
@@ -794,7 +800,8 @@ h5tools_dump_region_data_blocks(hid_t region_space, hid_t region_id,
if (HDstrlen(h5tools_dump_header_format->dataspaceend))
h5tools_str_append(buffer, "%s", h5tools_dump_header_format->dataspaceblockend);
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
/* Render the dataspace element end */
if (region_output) {
@@ -802,24 +809,25 @@ h5tools_dump_region_data_blocks(hid_t region_space, hid_t region_id,
/* Render the databegin element begin */
h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "%s %s",
- h5tools_dump_header_format->databegin,
- h5tools_dump_header_format->datablockbegin);
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ h5tools_str_append(buffer, "%s %s", h5tools_dump_header_format->databegin,
+ h5tools_dump_header_format->datablockbegin);
+ dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols,
+ region_elmt_counter, elmt_counter);
/* Render the databegin element end */
ctx->need_prefix = TRUE;
- h5tools_print_region_data_blocks(region_id, rawdatastream, info, ctx, buffer, ncols, ndims, type_id, nblocks, ptdata);
+ h5tools_print_region_data_blocks(region_id, rawdatastream, info, ctx, buffer, ncols, ndims, type_id,
+ nblocks, ptdata);
}
done:
HDfree(ptdata);
- if(type_id > 0 && H5Tclose(type_id) < 0)
+ if (type_id > 0 && H5Tclose(type_id) < 0)
H5TOOLS_ERROR(dimension_break, "H5Tclose failed");
- if(dtype > 0 && H5Tclose(dtype) < 0)
+ if (dtype > 0 && H5Tclose(dtype) < 0)
H5TOOLS_ERROR(dimension_break, "H5Tclose failed");
if (region_output) {
@@ -827,16 +835,16 @@ done:
/* Render the dataend element begin */
h5tools_str_reset(buffer);
- if(HDstrlen(h5tools_dump_header_format->datablockend)) {
+ if (HDstrlen(h5tools_dump_header_format->datablockend)) {
h5tools_str_append(buffer, "%s", h5tools_dump_header_format->datablockend);
- if(HDstrlen(h5tools_dump_header_format->dataend))
+ if (HDstrlen(h5tools_dump_header_format->dataend))
h5tools_str_append(buffer, " ");
}
- if(HDstrlen(h5tools_dump_header_format->dataend))
+ if (HDstrlen(h5tools_dump_header_format->dataend))
h5tools_str_append(buffer, "%s", h5tools_dump_header_format->dataend);
- dimension_break = h5tools_render_element(stream, &outputformat, ctx, buffer, curr_pos,
- ncols, region_elmt_counter, elmt_counter);
+ dimension_break = h5tools_render_element(stream, &outputformat, ctx, buffer, curr_pos, ncols,
+ region_elmt_counter, elmt_counter);
/* Render the dataend element end */
}
@@ -846,12 +854,13 @@ done:
/* Render the region } element begin */
h5tools_str_reset(buffer);
h5tools_str_append(buffer, "}");
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
/* Render the region } element end */
H5_LEAVE(dimension_break)
-CATCH
+ CATCH
H5TOOLS_ENDDEBUG("");
@@ -877,25 +886,25 @@ CATCH
*-------------------------------------------------------------------------
*/
static int
-h5tools_print_region_data_points(hid_t region_space, hid_t region_id,
- FILE *stream, const h5tool_format_t *info, h5tools_context_t *cur_ctx,
- h5tools_str_t *buffer, size_t ncols,
- unsigned ndims, hid_t type_id, hsize_t npoints, hsize_t *ptdata)
+h5tools_print_region_data_points(hid_t region_space, hid_t region_id, FILE *stream,
+ const h5tool_format_t *info, h5tools_context_t *cur_ctx,
+ h5tools_str_t *buffer, size_t ncols, unsigned ndims, hid_t type_id,
+ hsize_t npoints, hsize_t *ptdata)
{
- hbool_t dimension_break = TRUE;
- hsize_t *dims1 = NULL;
- hsize_t elmtno; /* elemnt index */
- hsize_t curr_pos = 0;
- hsize_t total_size[H5S_MAX_RANK];
- hsize_t jndx;
- unsigned indx;
- size_t type_size;
- unsigned int region_flags; /* buffer extent flags */
- hid_t mem_space = H5I_INVALID_HID;
- void *region_buf = NULL;
+ hbool_t dimension_break = TRUE;
+ hsize_t * dims1 = NULL;
+ hsize_t elmtno; /* elemnt index */
+ hsize_t curr_pos = 0;
+ hsize_t total_size[H5S_MAX_RANK];
+ hsize_t jndx;
+ unsigned indx;
+ size_t type_size;
+ unsigned int region_flags; /* buffer extent flags */
+ hid_t mem_space = H5I_INVALID_HID;
+ void * region_buf = NULL;
h5tools_context_t ctx;
- hbool_t past_catch = FALSE;
- int ret_value = 0;
+ hbool_t past_catch = FALSE;
+ int ret_value = 0;
HDassert(info);
HDassert(cur_ctx);
@@ -907,38 +916,38 @@ h5tools_print_region_data_points(hid_t region_space, hid_t region_id,
HDmemset(&ctx, 0, sizeof(ctx));
/* Allocate space for the dimension array */
- if((dims1 = (hsize_t *) HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
+ if ((dims1 = (hsize_t *)HDmalloc(sizeof(hsize_t) * ndims)) == NULL)
H5TOOLS_THROW((-1), "Could not allocate buffer for dims");
dims1[0] = npoints;
/* Create dataspace for reading buffer */
- if((mem_space = H5Screate_simple(1, dims1, NULL)) < 0)
+ if ((mem_space = H5Screate_simple(1, dims1, NULL)) < 0)
H5TOOLS_THROW((-1), "H5Screate_simple failed");
- if((type_size = H5Tget_size(type_id)) == 0)
+ if ((type_size = H5Tget_size(type_id)) == 0)
H5TOOLS_THROW((-1), "H5Tget_size failed");
- if((region_buf = HDmalloc(type_size * (size_t)npoints)) == NULL)
+ if ((region_buf = HDmalloc(type_size * (size_t)npoints)) == NULL)
H5TOOLS_THROW((-1), "Could not allocate buffer for region");
- curr_pos = 0;
- ctx.indent_level = cur_ctx->indent_level;
- ctx.cur_column = cur_ctx->cur_column;
+ curr_pos = 0;
+ ctx.indent_level = cur_ctx->indent_level;
+ ctx.cur_column = cur_ctx->cur_column;
ctx.prev_multiline = cur_ctx->prev_multiline;
- ctx.ndims = ndims;
+ ctx.ndims = ndims;
- if(H5Dread(region_id, type_id, mem_space, region_space, H5P_DEFAULT, region_buf) < 0)
+ if (H5Dread(region_id, type_id, mem_space, region_space, H5P_DEFAULT, region_buf) < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Dread failed");
H5TOOLS_DEBUG("data render start:%ld", npoints);
elmtno = 0;
for (jndx = 0; jndx < npoints; jndx++, elmtno++) {
ctx.need_prefix = TRUE;
- ctx.cur_elmt = 0; /* points are always 0 */
+ ctx.cur_elmt = 0; /* points are always 0 */
ctx.indent_level++;
- if(H5Sget_simple_extent_dims(mem_space, total_size, NULL) >= 0) {
+ if (H5Sget_simple_extent_dims(mem_space, total_size, NULL) >= 0) {
/* assume entire data space to be printed */
init_acc_pos(ctx.ndims, total_size, ctx.acc, ctx.pos, ctx.p_min_idx);
@@ -956,23 +965,23 @@ h5tools_print_region_data_points(hid_t region_space, hid_t region_id,
else
ctx.size_last_dim = 0;
- curr_pos = 0; /* points requires constant 0 */
+ curr_pos = 0; /* points requires constant 0 */
h5tools_region_simple_prefix(stream, info, &ctx, curr_pos, ptdata, 0);
/* Render the point element begin */
h5tools_str_reset(buffer);
h5tools_str_append(buffer, "%s", jndx ? OPTIONAL_LINE_BREAK "" : "");
- h5tools_str_sprint(buffer, info, region_id, type_id,
- ((char*)region_buf + jndx * type_size), &ctx);
+ h5tools_str_sprint(buffer, info, region_id, type_id, ((char *)region_buf + jndx * type_size),
+ &ctx);
if (jndx + 1 < npoints || (region_flags & END_OF_DATA) == 0)
h5tools_str_append(buffer, "%s", OPT(info->elmt_suf1, ","));
- dimension_break = h5tools_render_region_element(stream, info, &ctx, buffer, &curr_pos,
- ncols, ptdata, (hsize_t)0, elmtno);
+ dimension_break = h5tools_render_region_element(stream, info, &ctx, buffer, &curr_pos, ncols,
+ ptdata, (hsize_t)0, elmtno);
/* Render the point element end */
- if(FALSE == dimension_break)
+ if (FALSE == dimension_break)
elmtno = 0;
}
else {
@@ -983,10 +992,10 @@ h5tools_print_region_data_points(hid_t region_space, hid_t region_id,
done:
HDfree(region_buf);
-CATCH
+ CATCH
HDfree(dims1);
- if(H5Sclose(mem_space) < 0)
+ if (H5Sclose(mem_space) < 0)
H5TOOLS_ERROR((-1), "H5Sclose failed");
H5TOOLS_ENDDEBUG("");
@@ -1018,42 +1027,42 @@ CATCH
*-------------------------------------------------------------------------
*/
hbool_t
-h5tools_dump_region_data_points(hid_t region_space, hid_t region_id,
- FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- h5tools_str_t *buffer, hsize_t *curr_pos, size_t ncols, hsize_t region_elmt_counter,
- hsize_t elmt_counter)
+h5tools_dump_region_data_points(hid_t region_space, hid_t region_id, FILE *stream,
+ const h5tool_format_t *info, h5tools_context_t *ctx, h5tools_str_t *buffer,
+ hsize_t *curr_pos, size_t ncols, hsize_t region_elmt_counter,
+ hsize_t elmt_counter)
{
- hbool_t dimension_break = TRUE;
- hssize_t snpoints;
- hsize_t npoints;
- hsize_t alloc_size;
- hsize_t *ptdata;
- int sndims;
- unsigned ndims;
- hsize_t indx;
- hid_t dtype = H5I_INVALID_HID;
- hid_t type_id = H5I_INVALID_HID;
- h5tool_format_t outputformat; /* Use to disable prefix for DATA attribute display */
- hbool_t past_catch = FALSE;
- hbool_t ret_value = TRUE;
+ hbool_t dimension_break = TRUE;
+ hssize_t snpoints;
+ hsize_t npoints;
+ hsize_t alloc_size;
+ hsize_t * ptdata;
+ int sndims;
+ unsigned ndims;
+ hsize_t indx;
+ hid_t dtype = H5I_INVALID_HID;
+ hid_t type_id = H5I_INVALID_HID;
+ h5tool_format_t outputformat; /* Use to disable prefix for DATA attribute display */
+ hbool_t past_catch = FALSE;
+ hbool_t ret_value = TRUE;
HDassert(info);
HDassert(ctx);
HDassert(buffer);
H5TOOLS_START_DEBUG("");
- outputformat = *info;
+ outputformat = *info;
outputformat.idx_fmt = "";
outputformat.idx_n_fmt = "";
outputformat.idx_sep = "";
outputformat.line_pre = "";
- if((snpoints = H5Sget_select_elem_npoints(region_space)) <= 0)
+ if ((snpoints = H5Sget_select_elem_npoints(region_space)) <= 0)
H5TOOLS_THROW(dimension_break, "H5Sget_select_elem_npoints failed");
npoints = (hsize_t)snpoints;
/* Allocate space for the dimension array */
- if((sndims = H5Sget_simple_extent_ndims(region_space)) < 0)
+ if ((sndims = H5Sget_simple_extent_ndims(region_space)) < 0)
H5TOOLS_THROW(dimension_break, "H5Sget_simple_extent_ndims failed");
ndims = (unsigned)sndims;
@@ -1063,7 +1072,8 @@ h5tools_dump_region_data_points(hid_t region_space, hid_t region_id,
h5tools_str_reset(buffer);
h5tools_str_append(buffer, "{");
- dimension_break = h5tools_render_element(stream, &outputformat, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break = h5tools_render_element(stream, &outputformat, ctx, buffer, curr_pos, ncols,
+ region_elmt_counter, elmt_counter);
/* Render the region { element end */
ctx->indent_level++;
@@ -1074,41 +1084,41 @@ h5tools_dump_region_data_points(hid_t region_space, hid_t region_id,
h5tools_str_append(buffer, "REGION_TYPE POINT ");
alloc_size = npoints * ndims * sizeof(ptdata[0]);
- HDassert(alloc_size == (hsize_t) ((size_t) alloc_size)); /*check for overflow*/
- if(NULL == (ptdata = (hsize_t *)HDmalloc((size_t) alloc_size)))
+ HDassert(alloc_size == (hsize_t)((size_t)alloc_size)); /*check for overflow*/
+ if (NULL == (ptdata = (hsize_t *)HDmalloc((size_t)alloc_size)))
H5TOOLS_GOTO_ERROR(dimension_break, "Could not allocate buffer for ptdata");
- if(H5Sget_select_elem_pointlist(region_space, (hsize_t) 0, npoints, ptdata) < 0)
+ if (H5Sget_select_elem_pointlist(region_space, (hsize_t)0, npoints, ptdata) < 0)
H5TOOLS_GOTO_ERROR(dimension_break, "H5Sget_select_elem_pointlist failed");
for (indx = 0; indx < npoints; indx++) {
unsigned loop_indx;
- h5tools_str_append(buffer, outputformat.dset_ptformat_pre,
- indx ? "," OPTIONAL_LINE_BREAK " " : "", (unsigned long) indx);
+ h5tools_str_append(buffer, outputformat.dset_ptformat_pre, indx ? "," OPTIONAL_LINE_BREAK " " : "",
+ (unsigned long)indx);
for (loop_indx = 0; loop_indx < ndims; loop_indx++)
h5tools_str_append(buffer, "%s" HSIZE_T_FORMAT, loop_indx ? "," : "(",
- ptdata[indx * ndims + loop_indx]);
+ ptdata[indx * ndims + loop_indx]);
h5tools_str_append(buffer, ")");
} /* end for (indx = 0; indx < npoints; indx++) */
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
/* Render the region datatype info and indices element end */
ctx->need_prefix = TRUE;
- if((dtype = H5Dget_type(region_id)) < 0)
+ if ((dtype = H5Dget_type(region_id)) < 0)
H5TOOLS_GOTO_ERROR(dimension_break, "H5Dget_type failed");
- if((type_id = H5Tget_native_type(dtype, H5T_DIR_DEFAULT)) < 0)
+ if ((type_id = H5Tget_native_type(dtype, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(dimension_break, "H5Tget_native_type failed");
/* Render the datatype element begin */
h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "%s %s ",
- h5tools_dump_header_format->datatypebegin,
- h5tools_dump_header_format->datatypeblockbegin);
+ h5tools_str_append(buffer, "%s %s ", h5tools_dump_header_format->datatypebegin,
+ h5tools_dump_header_format->datatypeblockbegin);
ctx->indent_level++;
h5tools_print_datatype(stream, buffer, info, ctx, dtype, TRUE);
@@ -1122,7 +1132,8 @@ h5tools_dump_region_data_points(hid_t region_space, hid_t region_id,
if (HDstrlen(h5tools_dump_header_format->datatypeend))
h5tools_str_append(buffer, "%s", h5tools_dump_header_format->datatypeend);
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
/* Render the datatype element end */
ctx->need_prefix = TRUE;
@@ -1141,7 +1152,8 @@ h5tools_dump_region_data_points(hid_t region_space, hid_t region_id,
if (HDstrlen(h5tools_dump_header_format->dataspaceend))
h5tools_str_append(buffer, "%s", h5tools_dump_header_format->dataspaceblockend);
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
/* Render the dataspace element end */
if (region_output) {
@@ -1150,24 +1162,25 @@ h5tools_dump_region_data_points(hid_t region_space, hid_t region_id,
/* Render the databegin element begin */
h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "%s %s",
- h5tools_dump_header_format->databegin,
- h5tools_dump_header_format->datablockbegin);
+ h5tools_str_append(buffer, "%s %s", h5tools_dump_header_format->databegin,
+ h5tools_dump_header_format->datablockbegin);
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
+ dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols,
+ region_elmt_counter, elmt_counter);
ctx->need_prefix = TRUE;
- h5tools_print_region_data_points(region_space, region_id, rawdatastream, info, ctx, buffer, ncols, ndims, type_id, npoints, ptdata);
+ h5tools_print_region_data_points(region_space, region_id, rawdatastream, info, ctx, buffer, ncols,
+ ndims, type_id, npoints, ptdata);
}
done:
HDfree(ptdata);
- if(type_id > 0 && H5Tclose(type_id) < 0)
+ if (type_id > 0 && H5Tclose(type_id) < 0)
H5TOOLS_ERROR(dimension_break, "H5Tclose failed");
- if(dtype > 0 && H5Tclose(dtype) < 0)
+ if (dtype > 0 && H5Tclose(dtype) < 0)
H5TOOLS_ERROR(dimension_break, "H5Tclose failed");
if (region_output) {
@@ -1175,16 +1188,16 @@ done:
/* Render the dataend element begin */
h5tools_str_reset(buffer);
- if(HDstrlen(h5tools_dump_header_format->datablockend)) {
+ if (HDstrlen(h5tools_dump_header_format->datablockend)) {
h5tools_str_append(buffer, "%s", h5tools_dump_header_format->datablockend);
- if(HDstrlen(h5tools_dump_header_format->dataend))
+ if (HDstrlen(h5tools_dump_header_format->dataend))
h5tools_str_append(buffer, " ");
}
- if(HDstrlen(h5tools_dump_header_format->dataend))
+ if (HDstrlen(h5tools_dump_header_format->dataend))
h5tools_str_append(buffer, "%s", h5tools_dump_header_format->dataend);
- dimension_break = h5tools_render_element(stream, &outputformat, ctx, buffer, curr_pos,
- ncols, region_elmt_counter, elmt_counter);
+ dimension_break = h5tools_render_element(stream, &outputformat, ctx, buffer, curr_pos, ncols,
+ region_elmt_counter, elmt_counter);
/* Render the dataend element end*/
}
@@ -1194,12 +1207,12 @@ done:
/* Render the region } element begin */
h5tools_str_reset(buffer);
h5tools_str_append(buffer, "}");
- dimension_break = h5tools_render_element(stream, info, ctx, buffer, curr_pos,
- ncols, region_elmt_counter, elmt_counter);
+ dimension_break =
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, ncols, region_elmt_counter, elmt_counter);
/* Render the region } element end */
H5_LEAVE(dimension_break)
-CATCH
+ CATCH
H5TOOLS_ENDDEBUG("");
@@ -1239,37 +1252,37 @@ CATCH
*-------------------------------------------------------------------------
*/
static herr_t
-h5tools_print_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- hid_t dset, hid_t p_type, hid_t f_space, hsize_t hyperslab_count,
- hsize_t *temp_start, /* start inside offset count loop */
- hsize_t *temp_count, /* count inside offset count loop */
- hsize_t *temp_block, /* block size used in loop */
- hsize_t *temp_stride, /* stride size used in loop */
- hsize_t *total_size, /* total size of dataset */
- unsigned int row_dim) /* index of row_counter dimension */
+h5tools_print_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t dset,
+ hid_t p_type, hid_t f_space, hsize_t hyperslab_count,
+ hsize_t * temp_start, /* start inside offset count loop */
+ hsize_t * temp_count, /* count inside offset count loop */
+ hsize_t * temp_block, /* block size used in loop */
+ hsize_t * temp_stride, /* stride size used in loop */
+ hsize_t * total_size, /* total size of dataset */
+ unsigned int row_dim) /* index of row_counter dimension */
{
- size_t i; /* counters */
- size_t j; /* counters */
- hsize_t zero[1] = {0}; /* vector of zeros */
- unsigned int flags; /* buffer extent flags */
- hsize_t low[H5S_MAX_RANK]; /* low bound of hyperslab */
- hsize_t high[H5S_MAX_RANK]; /* higher bound of hyperslab */
- size_t p_type_nbytes; /* size of memory type */
- hsize_t sm_size[H5S_MAX_RANK]; /* stripmine size */
- hsize_t sm_nbytes; /* bytes per stripmine */
- hssize_t ssm_nelmts; /* elements per stripmine*/
- hsize_t sm_nelmts; /* elements per stripmine*/
- unsigned char *sm_buf = NULL; /* buffer for raw data */
- hid_t sm_space = H5I_INVALID_HID; /* stripmine data space */
- hsize_t size_row_block; /* size for blocks along rows */
- hsize_t row_counter = 0;
- hbool_t past_catch = FALSE;
+ size_t i; /* counters */
+ size_t j; /* counters */
+ hsize_t zero[1] = {0}; /* vector of zeros */
+ unsigned int flags; /* buffer extent flags */
+ hsize_t low[H5S_MAX_RANK]; /* low bound of hyperslab */
+ hsize_t high[H5S_MAX_RANK]; /* higher bound of hyperslab */
+ size_t p_type_nbytes; /* size of memory type */
+ hsize_t sm_size[H5S_MAX_RANK]; /* stripmine size */
+ hsize_t sm_nbytes; /* bytes per stripmine */
+ hssize_t ssm_nelmts; /* elements per stripmine*/
+ hsize_t sm_nelmts; /* elements per stripmine*/
+ unsigned char *sm_buf = NULL; /* buffer for raw data */
+ hid_t sm_space = H5I_INVALID_HID; /* stripmine data space */
+ hsize_t size_row_block; /* size for blocks along rows */
+ hsize_t row_counter = 0;
+ hbool_t past_catch = FALSE;
/* VL data special information */
- unsigned int vl_data = 0; /* contains VL datatypes */
- herr_t ret_value = SUCCEED;
+ unsigned int vl_data = 0; /* contains VL datatypes */
+ herr_t ret_value = SUCCEED;
H5TOOLS_START_DEBUG("");
- if ((size_t) ctx->ndims > NELMTS(sm_size))
+ if ((size_t)ctx->ndims > NELMTS(sm_size))
H5TOOLS_THROW(FAIL, "ndims and sm_size comparision failed");
size_row_block = ctx->sset->block.data[row_dim];
@@ -1282,9 +1295,8 @@ h5tools_print_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_c
for (; hyperslab_count > 0; temp_start[row_dim] += temp_stride[row_dim], hyperslab_count--) {
/* jump rows if size of block exceeded
cases where block > 1 only and stride > block */
- if (size_row_block > 1
- && row_counter == size_row_block
- && ctx->sset->stride.data[row_dim] > ctx->sset->block.data[row_dim]) {
+ if (size_row_block > 1 && row_counter == size_row_block &&
+ ctx->sset->stride.data[row_dim] > ctx->sset->block.data[row_dim]) {
hsize_t increase_rows = ctx->sset->stride.data[row_dim] - ctx->sset->block.data[row_dim];
temp_start[row_dim] += increase_rows;
@@ -1294,10 +1306,10 @@ h5tools_print_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_c
row_counter++;
/* calculate the potential number of elements we're going to print */
- if(H5Sselect_hyperslab(f_space, H5S_SELECT_SET, temp_start, temp_stride, temp_count, temp_block) < 0)
+ if (H5Sselect_hyperslab(f_space, H5S_SELECT_SET, temp_start, temp_stride, temp_count, temp_block) < 0)
H5TOOLS_THROW(FAIL, "H5Sselect_hyperslab failed");
- if((ssm_nelmts = H5Sget_select_npoints(f_space)) < 0)
+ if ((ssm_nelmts = H5Sget_select_npoints(f_space)) < 0)
H5TOOLS_THROW(FAIL, "H5Sget_select_npoints failed");
sm_nelmts = (hsize_t)ssm_nelmts;
@@ -1306,7 +1318,7 @@ h5tools_print_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_c
* determine the strip mine size and allocate a buffer. the strip mine is
* a hyperslab whose size is manageable.
*/
- if((sm_nbytes = p_type_nbytes = H5Tget_size(p_type)) == 0)
+ if ((sm_nbytes = p_type_nbytes = H5Tget_size(p_type)) == 0)
H5TOOLS_THROW(FAIL, "H5Tget_size failed");
if (ctx->ndims > 0)
@@ -1319,18 +1331,18 @@ h5tools_print_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_c
HDassert(sm_nbytes > 0);
}
- HDassert(sm_nbytes == (hsize_t) ((size_t) sm_nbytes)); /*check for overflow*/
- if(NULL == (sm_buf = (unsigned char *)HDmalloc((size_t) sm_nelmts * p_type_nbytes)))
+ HDassert(sm_nbytes == (hsize_t)((size_t)sm_nbytes)); /*check for overflow*/
+ if (NULL == (sm_buf = (unsigned char *)HDmalloc((size_t)sm_nelmts * p_type_nbytes)))
H5TOOLS_THROW(FAIL, "Could not allocate buffer for strip-mine");
- if((sm_space = H5Screate_simple(1, &sm_nelmts, NULL)) < 0)
+ if ((sm_space = H5Screate_simple(1, &sm_nelmts, NULL)) < 0)
H5TOOLS_THROW(FAIL, "H5Screate_simple failed");
- if(H5Sselect_hyperslab(sm_space, H5S_SELECT_SET, zero, NULL, &sm_nelmts, NULL) < 0)
+ if (H5Sselect_hyperslab(sm_space, H5S_SELECT_SET, zero, NULL, &sm_nelmts, NULL) < 0)
H5TOOLS_THROW(FAIL, "H5Sselect_hyperslab failed");
/* read the data */
- if(H5Dread(dset, p_type, sm_space, f_space, H5P_DEFAULT, sm_buf) < 0)
+ if (H5Dread(dset, p_type, sm_space, f_space, H5P_DEFAULT, sm_buf) < 0)
H5TOOLS_THROW(FAIL, "H5Dread failed");
/* print the data */
@@ -1344,32 +1356,31 @@ h5tools_print_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_c
/* print array indices. get the lower bound of the hyperslab and calculate
the element position at the start of hyperslab */
- if(H5Sget_select_bounds(f_space, low, high) < 0)
+ if (H5Sget_select_bounds(f_space, low, high) < 0)
H5TOOLS_THROW(FAIL, "H5Sget_select_bounds failed");
/* initialize the current stripmine position; this is necessary to print the array indices */
ctx->sm_pos = 0;
- for (i = 0; i < (size_t) ctx->ndims - 1; i++) {
+ for (i = 0; i < (size_t)ctx->ndims - 1; i++) {
hsize_t offset = 1; /* accumulation of the previous dimensions */
- for (j = i + 1; j < (size_t) ctx->ndims; j++)
+ for (j = i + 1; j < (size_t)ctx->ndims; j++)
offset *= total_size[j];
ctx->sm_pos += low[i] * offset;
}
ctx->sm_pos += low[ctx->ndims - 1];
-
ctx->need_prefix = TRUE;
- if(h5tools_dump_simple_data(stream, info, ctx, dset, flags, sm_nelmts, p_type, sm_buf) < 0)
+ if (h5tools_dump_simple_data(stream, info, ctx, dset, flags, sm_nelmts, p_type, sm_buf) < 0)
H5TOOLS_THROW(FAIL, "h5tools_dump_simple_data failed");
/* Reclaim any VL memory, if necessary */
if (vl_data)
H5Treclaim(p_type, sm_space, H5P_DEFAULT, sm_buf);
- if(H5Sclose(sm_space) < 0)
+ if (H5Sclose(sm_space) < 0)
H5TOOLS_THROW(FAIL, "H5Sclose failed");
- if(sm_buf)
+ if (sm_buf)
HDfree(sm_buf);
sm_buf = NULL;
}
@@ -1380,8 +1391,8 @@ h5tools_print_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_c
} /* hyperslab_count loop */
-CATCH
- if(sm_buf)
+ CATCH
+ if (sm_buf)
HDfree(sm_buf);
H5TOOLS_ENDDEBUG("");
@@ -1421,22 +1432,22 @@ CATCH
*-------------------------------------------------------------------------
*/
static herr_t
-h5tools_display_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- hid_t dset, hid_t p_type, hid_t f_space, hsize_t *total_size)
+h5tools_display_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t dset,
+ hid_t p_type, hid_t f_space, hsize_t *total_size)
{
- size_t i; /* counters */
- hsize_t n; /* counters */
- hsize_t count; /* hyperslab count */
- hsize_t outer_count; /* offset count */
- unsigned int row_dim; /* index of row_counter dimension */
- int current_outer_dim; /* dimension for start */
- hsize_t temp_start[H5S_MAX_RANK];/* temporary start inside offset count loop */
- hsize_t max_start[H5S_MAX_RANK]; /* maximum start inside offset count loop */
- hsize_t temp_count[H5S_MAX_RANK];/* temporary count inside offset count loop */
- hsize_t temp_block[H5S_MAX_RANK];/* temporary block size used in loop */
- hsize_t temp_stride[H5S_MAX_RANK];/* temporary stride size used in loop */
- int reset_dim;
- herr_t ret_value = SUCCEED;
+ size_t i; /* counters */
+ hsize_t n; /* counters */
+ hsize_t count; /* hyperslab count */
+ hsize_t outer_count; /* offset count */
+ unsigned int row_dim; /* index of row_counter dimension */
+ int current_outer_dim; /* dimension for start */
+ hsize_t temp_start[H5S_MAX_RANK]; /* temporary start inside offset count loop */
+ hsize_t max_start[H5S_MAX_RANK]; /* maximum start inside offset count loop */
+ hsize_t temp_count[H5S_MAX_RANK]; /* temporary count inside offset count loop */
+ hsize_t temp_block[H5S_MAX_RANK]; /* temporary block size used in loop */
+ hsize_t temp_stride[H5S_MAX_RANK]; /* temporary stride size used in loop */
+ int reset_dim;
+ herr_t ret_value = SUCCEED;
if (ctx->ndims == 1)
row_dim = 0;
@@ -1446,23 +1457,23 @@ h5tools_display_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools
/* get the offset count */
outer_count = 1;
if (ctx->ndims > 2)
- for (i = 0; i < (size_t) ctx->ndims - 2; i++) {
+ for (i = 0; i < (size_t)ctx->ndims - 2; i++) {
/* block size is handled by containing h5tools_print_simple_subset call */
outer_count = outer_count * ctx->sset->count.data[i];
}
/* initialize temporary start, count and maximum start */
for (i = 0; i < ctx->ndims; i++) {
- temp_start[i] = ctx->sset->start.data[i];
- temp_count[i] = ctx->sset->count.data[i];
- temp_block[i] = ctx->sset->block.data[i];
+ temp_start[i] = ctx->sset->start.data[i];
+ temp_count[i] = ctx->sset->count.data[i];
+ temp_block[i] = ctx->sset->block.data[i];
temp_stride[i] = ctx->sset->stride.data[i];
- max_start[i] = 0;
+ max_start[i] = 0;
}
if (ctx->ndims > 2) {
- for (i = 0; i < (size_t) ctx->ndims - 2; i++) {
- max_start[i] = temp_start[i] + ctx->sset->count.data[i] * ctx->sset->stride.data[i];
+ for (i = 0; i < (size_t)ctx->ndims - 2; i++) {
+ max_start[i] = temp_start[i] + ctx->sset->count.data[i] * ctx->sset->stride.data[i];
temp_count[i] = 1;
}
}
@@ -1488,9 +1499,8 @@ h5tools_display_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools
count = 1;
}
- h5tools_print_simple_subset(stream, info, ctx, dset, p_type,
- f_space, count, temp_start, temp_count,
- temp_block, temp_stride, total_size, row_dim);
+ h5tools_print_simple_subset(stream, info, ctx, dset, p_type, f_space, count, temp_start, temp_count,
+ temp_block, temp_stride, total_size, row_dim);
if (ctx->ndims > 2) {
/* dimension for start */
@@ -1561,24 +1571,25 @@ h5tools_display_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools
*-------------------------------------------------------------------------
*/
static herr_t
-h5tools_dump_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t dset, hid_t p_type)
+h5tools_dump_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t dset,
+ hid_t p_type)
{
int sndims;
- hid_t f_space = H5I_INVALID_HID; /* file data space */
- hsize_t total_size[H5S_MAX_RANK]; /* total size of dataset*/
+ hid_t f_space = H5I_INVALID_HID; /* file data space */
+ hsize_t total_size[H5S_MAX_RANK]; /* total size of dataset*/
hbool_t past_catch = FALSE;
- herr_t ret_value = SUCCEED;
+ herr_t ret_value = SUCCEED;
H5TOOLS_START_DEBUG("");
- if((f_space = H5Dget_space(dset)) < 0)
+ if ((f_space = H5Dget_space(dset)) < 0)
H5TOOLS_THROW(FAIL, "H5Dget_space failed");
- if((sndims = H5Sget_simple_extent_ndims(f_space)) < 0)
+ if ((sndims = H5Sget_simple_extent_ndims(f_space)) < 0)
H5TOOLS_THROW(FAIL, "H5Sget_simple_extent_ndims failed");
ctx->ndims = (unsigned)sndims;
/* assume entire data space to be printed */
- if(H5Sget_simple_extent_dims(f_space, total_size, NULL) < 0)
+ if (H5Sget_simple_extent_dims(f_space, total_size, NULL) < 0)
H5TOOLS_THROW(FAIL, "H5Sget_simple_extent_dims failed");
init_acc_pos(ctx->ndims, total_size, ctx->acc, ctx->pos, ctx->p_min_idx);
@@ -1589,8 +1600,8 @@ h5tools_dump_simple_subset(FILE *stream, const h5tool_format_t *info, h5tools_co
h5tools_display_simple_subset(stream, info, ctx, dset, p_type, f_space, total_size);
-CATCH
- if(f_space >= 0 && H5Sclose(f_space) < 0)
+ CATCH
+ if (f_space >= 0 && H5Sclose(f_space) < 0)
H5TOOLS_THROW(FAIL, "H5Sclose failed");
H5TOOLS_ENDDEBUG("");
@@ -1613,44 +1624,45 @@ CATCH
*-------------------------------------------------------------------------
*/
static int
-h5tools_dump_simple_dset(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t dset, hid_t p_type)
+h5tools_dump_simple_dset(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t dset,
+ hid_t p_type)
{
- hid_t f_space = H5I_INVALID_HID; /* file data space */
- hsize_t elmtno; /* counter */
- size_t i = 0; /* counter */
- int sndims; /* rank of dataspace */
- int carry; /* counter carry value */
- hsize_t zero[8]; /* vector of zeros */
- unsigned int flags; /* buffer extent flags */
- hsize_t total_size[H5S_MAX_RANK]; /* total size of dataset*/
- hbool_t past_catch = FALSE;
+ hid_t f_space = H5I_INVALID_HID; /* file data space */
+ hsize_t elmtno; /* counter */
+ size_t i = 0; /* counter */
+ int sndims; /* rank of dataspace */
+ int carry; /* counter carry value */
+ hsize_t zero[8]; /* vector of zeros */
+ unsigned int flags; /* buffer extent flags */
+ hsize_t total_size[H5S_MAX_RANK]; /* total size of dataset*/
+ hbool_t past_catch = FALSE;
/* Print info */
- size_t p_type_nbytes; /* size of memory type */
- hsize_t p_nelmts; /* total selected elmts */
+ size_t p_type_nbytes; /* size of memory type */
+ hsize_t p_nelmts; /* total selected elmts */
/* Stripmine info */
- hsize_t sm_size[H5S_MAX_RANK]; /* stripmine size */
- hsize_t sm_nbytes; /* bytes per stripmine */
- hsize_t sm_nelmts; /* elements per stripmine*/
- unsigned char *sm_buf = NULL; /* buffer for raw data */
- hid_t sm_space = H5I_INVALID_HID; /* stripmine data space */
+ hsize_t sm_size[H5S_MAX_RANK]; /* stripmine size */
+ hsize_t sm_nbytes; /* bytes per stripmine */
+ hsize_t sm_nelmts; /* elements per stripmine*/
+ unsigned char *sm_buf = NULL; /* buffer for raw data */
+ hid_t sm_space = H5I_INVALID_HID; /* stripmine data space */
/* Hyperslab info */
- hsize_t hs_offset[H5S_MAX_RANK]; /* starting offset */
- hsize_t hs_size[H5S_MAX_RANK]; /* size this pass */
- hsize_t hs_nelmts; /* elements in request */
+ hsize_t hs_offset[H5S_MAX_RANK]; /* starting offset */
+ hsize_t hs_size[H5S_MAX_RANK]; /* size this pass */
+ hsize_t hs_nelmts; /* elements in request */
/* VL data special information */
- unsigned int vl_data = 0; /* contains VL datatypes */
- int ret_value = 0;
+ unsigned int vl_data = 0; /* contains VL datatypes */
+ int ret_value = 0;
H5TOOLS_START_DEBUG("");
if (H5I_INVALID_HID == (f_space = H5Dget_space(dset)))
H5TOOLS_GOTO_ERROR((-1), "H5Dget_space failed");
sndims = H5Sget_simple_extent_ndims(f_space);
- if(sndims < 0)
+ if (sndims < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Dget_simple_extent_ndims failed");
ctx->ndims = (unsigned)sndims;
H5TOOLS_DEBUG("sndims:%d", sndims);
@@ -1695,7 +1707,7 @@ h5tools_dump_simple_dset(FILE *stream, const h5tool_format_t *info, h5tools_cont
sm_nbytes *= sm_size[i - 1];
}
}
- if(!sm_nbytes)
+ if (!sm_nbytes)
goto done;
HDassert(sm_nbytes == (hsize_t)((size_t)sm_nbytes)); /*check for overflow*/
@@ -1703,7 +1715,7 @@ h5tools_dump_simple_dset(FILE *stream, const h5tool_format_t *info, h5tools_cont
H5TOOLS_DEBUG("stripmine size:%ld", sm_nbytes);
sm_nelmts = sm_nbytes / p_type_nbytes;
- sm_space = H5Screate_simple(1, &sm_nelmts, NULL);
+ sm_space = H5Screate_simple(1, &sm_nelmts, NULL);
H5TOOLS_DEBUG("sm_nelmts size:%ld", sm_nelmts);
H5TOOLS_DEBUG("ctx->ndims:%d", ctx->ndims);
@@ -1717,7 +1729,7 @@ h5tools_dump_simple_dset(FILE *stream, const h5tool_format_t *info, h5tools_cont
/* Calculate the hyperslab size */
if (ctx->ndims > 0) {
for (i = 0, hs_nelmts = 1; i < ctx->ndims; i++) {
- hs_size[i] = MIN(total_size[i] - hs_offset[i], sm_size[i]);
+ hs_size[i] = MIN(total_size[i] - hs_offset[i], sm_size[i]);
ctx->p_max_idx[i] = ctx->p_min_idx[i] + hs_size[i];
hs_nelmts *= hs_size[i];
}
@@ -1746,7 +1758,7 @@ h5tools_dump_simple_dset(FILE *stream, const h5tool_format_t *info, h5tools_cont
indices */
ctx->sm_pos = elmtno;
- if(h5tools_dump_simple_data(stream, info, ctx, dset, flags, hs_nelmts, p_type, sm_buf) < 0)
+ if (h5tools_dump_simple_data(stream, info, ctx, dset, flags, hs_nelmts, p_type, sm_buf) < 0)
H5TOOLS_ERROR((-1), "h5tools_dump_simple_data failed");
/* Reclaim any VL memory, if necessary */
@@ -1775,11 +1787,11 @@ h5tools_dump_simple_dset(FILE *stream, const h5tool_format_t *info, h5tools_cont
} /* if (NULL != (sm_buf...)) */
done:
- if(sm_space >= 0 && H5Sclose(sm_space) < 0)
+ if (sm_space >= 0 && H5Sclose(sm_space) < 0)
H5TOOLS_ERROR((-1), "H5Sclose failed");
- if(f_space >= 0 && H5Sclose(f_space) < 0)
+ if (f_space >= 0 && H5Sclose(f_space) < 0)
H5TOOLS_ERROR((-1), "H5Sclose failed");
-CATCH
+ CATCH
H5TOOLS_ENDDEBUG("");
return ret_value;
}
@@ -1795,33 +1807,33 @@ CATCH
*-------------------------------------------------------------------------
*/
static int
-h5tools_dump_simple_mem(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- hid_t attr_id, hid_t p_type)
+h5tools_dump_simple_mem(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t attr_id,
+ hid_t p_type)
{
- hid_t f_space = H5I_INVALID_HID; /* file data space */
+ hid_t f_space = H5I_INVALID_HID; /* file data space */
hsize_t alloc_size;
- int sndims; /* rank of dataspace */
- unsigned i; /* counters */
- hsize_t total_size[H5S_MAX_RANK]; /* total size of dataset*/
- hsize_t p_nelmts; /* total selected elmts */
+ int sndims; /* rank of dataspace */
+ unsigned i; /* counters */
+ hsize_t total_size[H5S_MAX_RANK]; /* total size of dataset*/
+ hsize_t p_nelmts; /* total selected elmts */
hbool_t past_catch = FALSE;
- unsigned char *buf = NULL; /* buffer for raw data */
- int ret_value = 0;
+ unsigned char *buf = NULL; /* buffer for raw data */
+ int ret_value = 0;
/* VL data special information */
- unsigned int vl_data = 0; /* contains VL datatypes */
+ unsigned int vl_data = 0; /* contains VL datatypes */
H5TOOLS_START_DEBUG("");
if (H5I_INVALID_HID == (f_space = H5Aget_space(attr_id)))
H5TOOLS_GOTO_ERROR((-1), "H5Dget_space failed");
sndims = H5Sget_simple_extent_ndims(f_space);
- if(sndims < 0)
+ if (sndims < 0)
H5TOOLS_THROW((-1), "H5Dget_simple_extent_ndims failed");
ctx->ndims = (unsigned)sndims;
H5TOOLS_DEBUG("sndims:%d", sndims);
- if ((size_t) ctx->ndims > NELMTS(ctx->p_min_idx))
+ if ((size_t)ctx->ndims > NELMTS(ctx->p_min_idx))
H5TOOLS_THROW((-1), "ctx->ndims > NELMTS(ctx->p_min_idx) failed");
/* Assume entire data space to be printed */
@@ -1854,7 +1866,8 @@ h5tools_dump_simple_mem(FILE *stream, const h5tool_format_t *info, h5tools_conte
H5TOOLS_DEBUG("Read the data");
/* Read the data */
if (H5Aread(attr_id, p_type, buf) >= 0) {
- if(h5tools_dump_simple_data(stream, info, ctx, attr_id, START_OF_DATA | END_OF_DATA, p_nelmts, p_type, buf) < 0)
+ if (h5tools_dump_simple_data(stream, info, ctx, attr_id, START_OF_DATA | END_OF_DATA, p_nelmts,
+ p_type, buf) < 0)
H5TOOLS_ERROR((-1), "h5tools_dump_simple_data failed");
/* Reclaim any VL memory, if necessary */
@@ -1866,9 +1879,9 @@ h5tools_dump_simple_mem(FILE *stream, const h5tool_format_t *info, h5tools_conte
HDfree(buf);
} /* if (NULL != (buf...)) */
done:
- if(f_space >= 0 && H5Sclose(f_space) < 0)
+ if (f_space >= 0 && H5Sclose(f_space) < 0)
H5TOOLS_ERROR((-1), "H5Sclose failed");
-CATCH
+ CATCH
H5TOOLS_ENDDEBUG("");
return ret_value;
}
@@ -1894,12 +1907,12 @@ CATCH
int
h5tools_dump_dset(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t dset)
{
- hid_t f_space = H5I_INVALID_HID;
- hid_t p_type = H5I_INVALID_HID;
- hid_t f_type = H5I_INVALID_HID;
- H5S_class_t space_type;
+ hid_t f_space = H5I_INVALID_HID;
+ hid_t p_type = H5I_INVALID_HID;
+ hid_t f_type = H5I_INVALID_HID;
+ H5S_class_t space_type;
h5tool_format_t info_dflt;
- int ret_value = 0;
+ int ret_value = 0;
H5TOOLS_START_DEBUG("");
/* Use default values */
@@ -1936,7 +1949,7 @@ h5tools_dump_dset(FILE *stream, const h5tool_format_t *info, h5tools_context_t *
/* Print the data */
if (space_type == H5S_SIMPLE || space_type == H5S_SCALAR) {
- if(!ctx->sset)
+ if (!ctx->sset)
ret_value = h5tools_dump_simple_dset(rawdatastream, info, ctx, dset, p_type);
else
ret_value = h5tools_dump_simple_subset(rawdatastream, info, ctx, dset, p_type);
@@ -1971,11 +1984,11 @@ done:
int
h5tools_dump_mem(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t attr_id)
{
- hid_t f_space = H5I_INVALID_HID;
- hid_t p_type = H5I_INVALID_HID;
- hid_t f_type = H5I_INVALID_HID;
- h5tool_format_t info_dflt;
- int ret_value = 0;
+ hid_t f_space = H5I_INVALID_HID;
+ hid_t p_type = H5I_INVALID_HID;
+ hid_t f_type = H5I_INVALID_HID;
+ h5tool_format_t info_dflt;
+ int ret_value = 0;
H5TOOLS_START_DEBUG("");
/* Use default values */
@@ -2040,48 +2053,48 @@ done:
*/
int
h5tools_print_datatype(FILE *stream, h5tools_str_t *buffer, const h5tool_format_t *info,
- h5tools_context_t *ctx, hid_t type, int object_search)
+ h5tools_context_t *ctx, hid_t type, int object_search)
{
- char *mname;
- hid_t mtype = H5I_INVALID_HID;
- hid_t str_type = H5I_INVALID_HID;
- hid_t super = H5I_INVALID_HID;
- hid_t tmp_type = H5I_INVALID_HID;
- int snmembers;
- int sndims;
- unsigned nmembers;
- unsigned i;
- size_t size = 0;
- size_t ncols = 80; /*available output width */
- hsize_t dims[H5TOOLS_DUMP_MAX_RANK];
- hsize_t curr_pos = 0; /* total data element position */
- H5T_str_t str_pad;
- H5T_cset_t cset;
- H5T_order_t order;
- H5T_class_t type_class;
- H5T_sign_t sign; /* sign scheme value */
- htri_t is_vlstr = FALSE;
- hbool_t past_catch = FALSE;
- const char *sign_s = NULL; /* sign scheme string */
- const char *order_s = NULL; /* byte order string */
- int ret_value = 0;
+ char * mname;
+ hid_t mtype = H5I_INVALID_HID;
+ hid_t str_type = H5I_INVALID_HID;
+ hid_t super = H5I_INVALID_HID;
+ hid_t tmp_type = H5I_INVALID_HID;
+ int snmembers;
+ int sndims;
+ unsigned nmembers;
+ unsigned i;
+ size_t size = 0;
+ size_t ncols = 80; /*available output width */
+ hsize_t dims[H5TOOLS_DUMP_MAX_RANK];
+ hsize_t curr_pos = 0; /* total data element position */
+ H5T_str_t str_pad;
+ H5T_cset_t cset;
+ H5T_order_t order;
+ H5T_class_t type_class;
+ H5T_sign_t sign; /* sign scheme value */
+ htri_t is_vlstr = FALSE;
+ hbool_t past_catch = FALSE;
+ const char *sign_s = NULL; /* sign scheme string */
+ const char *order_s = NULL; /* byte order string */
+ int ret_value = 0;
H5TOOLS_START_DEBUG("");
- if((type_class = H5Tget_class(type)) < 0)
+ if ((type_class = H5Tget_class(type)) < 0)
H5TOOLS_THROW((-1), "H5Tget_class failed");
if (object_search && H5Tcommitted(type) > 0) {
- H5O_info2_t oinfo;
- obj_t *obj = NULL; /* Found object */
+ H5O_info2_t oinfo;
+ obj_t * obj = NULL; /* Found object */
H5Oget_info3(type, &oinfo, H5O_INFO_BASIC);
obj = search_obj(h5dump_type_table, &oinfo.token);
- if(obj) {
- if(!obj->recorded) {
+ if (obj) {
+ if (!obj->recorded) {
char *obj_tok_str = NULL;
H5Otoken_to_str(type, &oinfo.token, &obj_tok_str);
- h5tools_str_append(buffer,"\"/#%s\"", obj_tok_str);
+ h5tools_str_append(buffer, "\"/#%s\"", obj_tok_str);
H5free_memory(obj_tok_str);
}
else
@@ -2099,524 +2112,535 @@ h5tools_print_datatype(FILE *stream, h5tools_str_t *buffer, const h5tool_format_
ncols = info->line_ncols;
switch (type_class) {
- case H5T_INTEGER:
- if (H5Tequal(type, H5T_STD_I8BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_I8BE");
- else if (H5Tequal(type, H5T_STD_I8LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_I8LE");
- else if (H5Tequal(type, H5T_STD_I16BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_I16BE");
- else if (H5Tequal(type, H5T_STD_I16LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_I16LE");
- else if (H5Tequal(type, H5T_STD_I32BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_I32BE");
- else if (H5Tequal(type, H5T_STD_I32LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_I32LE");
- else if (H5Tequal(type, H5T_STD_I64BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_I64BE");
- else if (H5Tequal(type, H5T_STD_I64LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_I64LE");
- else if (H5Tequal(type, H5T_STD_U8BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_U8BE");
- else if (H5Tequal(type, H5T_STD_U8LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_U8LE");
- else if (H5Tequal(type, H5T_STD_U16BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_U16BE");
- else if (H5Tequal(type, H5T_STD_U16LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_U16LE");
- else if (H5Tequal(type, H5T_STD_U32BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_U32BE");
- else if (H5Tequal(type, H5T_STD_U32LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_U32LE");
- else if (H5Tequal(type, H5T_STD_U64BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_U64BE");
- else if (H5Tequal(type, H5T_STD_U64LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_U64LE");
- else if (H5Tequal(type, H5T_NATIVE_SCHAR) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_SCHAR");
- else if (H5Tequal(type, H5T_NATIVE_UCHAR) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_UCHAR");
- else if (H5Tequal(type, H5T_NATIVE_SHORT) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_SHORT");
- else if (H5Tequal(type, H5T_NATIVE_USHORT) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_USHORT");
- else if (H5Tequal(type, H5T_NATIVE_INT) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_INT");
- else if (H5Tequal(type, H5T_NATIVE_UINT) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_UINT");
- else if (H5Tequal(type, H5T_NATIVE_LONG) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_LONG");
- else if (H5Tequal(type, H5T_NATIVE_ULONG) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_ULONG");
- else if (H5Tequal(type, H5T_NATIVE_LLONG) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_LLONG");
- else if (H5Tequal(type, H5T_NATIVE_ULLONG) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_ULLONG");
- else {
+ case H5T_INTEGER:
+ if (H5Tequal(type, H5T_STD_I8BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_I8BE");
+ else if (H5Tequal(type, H5T_STD_I8LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_I8LE");
+ else if (H5Tequal(type, H5T_STD_I16BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_I16BE");
+ else if (H5Tequal(type, H5T_STD_I16LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_I16LE");
+ else if (H5Tequal(type, H5T_STD_I32BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_I32BE");
+ else if (H5Tequal(type, H5T_STD_I32LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_I32LE");
+ else if (H5Tequal(type, H5T_STD_I64BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_I64BE");
+ else if (H5Tequal(type, H5T_STD_I64LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_I64LE");
+ else if (H5Tequal(type, H5T_STD_U8BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_U8BE");
+ else if (H5Tequal(type, H5T_STD_U8LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_U8LE");
+ else if (H5Tequal(type, H5T_STD_U16BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_U16BE");
+ else if (H5Tequal(type, H5T_STD_U16LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_U16LE");
+ else if (H5Tequal(type, H5T_STD_U32BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_U32BE");
+ else if (H5Tequal(type, H5T_STD_U32LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_U32LE");
+ else if (H5Tequal(type, H5T_STD_U64BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_U64BE");
+ else if (H5Tequal(type, H5T_STD_U64LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_U64LE");
+ else if (H5Tequal(type, H5T_NATIVE_SCHAR) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_SCHAR");
+ else if (H5Tequal(type, H5T_NATIVE_UCHAR) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_UCHAR");
+ else if (H5Tequal(type, H5T_NATIVE_SHORT) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_SHORT");
+ else if (H5Tequal(type, H5T_NATIVE_USHORT) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_USHORT");
+ else if (H5Tequal(type, H5T_NATIVE_INT) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_INT");
+ else if (H5Tequal(type, H5T_NATIVE_UINT) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_UINT");
+ else if (H5Tequal(type, H5T_NATIVE_LONG) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_LONG");
+ else if (H5Tequal(type, H5T_NATIVE_ULONG) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_ULONG");
+ else if (H5Tequal(type, H5T_NATIVE_LLONG) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_LLONG");
+ else if (H5Tequal(type, H5T_NATIVE_ULLONG) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_ULLONG");
+ else {
- /* byte order */
- if (H5Tget_size(type) > 1) {
- order = H5Tget_order(type);
- if (H5T_ORDER_LE == order)
- order_s = " little-endian";
- else if (H5T_ORDER_BE == order)
- order_s = " big-endian";
- else if (H5T_ORDER_VAX == order)
- order_s = " mixed-endian";
+ /* byte order */
+ if (H5Tget_size(type) > 1) {
+ order = H5Tget_order(type);
+ if (H5T_ORDER_LE == order)
+ order_s = " little-endian";
+ else if (H5T_ORDER_BE == order)
+ order_s = " big-endian";
+ else if (H5T_ORDER_VAX == order)
+ order_s = " mixed-endian";
+ else
+ order_s = " unknown-byte-order";
+ }
else
- order_s = " unknown-byte-order";
- }
- else
- order_s = "";
-
- /* sign */
- if ((sign = H5Tget_sign(type)) >= 0) {
- if (H5T_SGN_NONE == sign)
- sign_s = " unsigned";
- else if (H5T_SGN_2 == sign)
- sign_s = "";
+ order_s = "";
+
+ /* sign */
+ if ((sign = H5Tget_sign(type)) >= 0) {
+ if (H5T_SGN_NONE == sign)
+ sign_s = " unsigned";
+ else if (H5T_SGN_2 == sign)
+ sign_s = "";
+ else
+ sign_s = " unknown-sign";
+ }
else
sign_s = " unknown-sign";
+
+ /* print size, order, and sign */
+ h5tools_str_append(buffer, "%lu-bit%s%s integer", (unsigned long)(8 * H5Tget_size(type)),
+ order_s, sign_s);
}
- else
- sign_s = " unknown-sign";
+ break;
- /* print size, order, and sign */
- h5tools_str_append(buffer, "%lu-bit%s%s integer",
- (unsigned long) (8 * H5Tget_size(type)), order_s, sign_s);
- }
- break;
-
- case H5T_FLOAT:
- if (H5Tequal(type, H5T_IEEE_F32BE) == TRUE)
- h5tools_str_append(buffer, "H5T_IEEE_F32BE");
- else if (H5Tequal(type, H5T_IEEE_F32LE) == TRUE)
- h5tools_str_append(buffer, "H5T_IEEE_F32LE");
- else if (H5Tequal(type, H5T_IEEE_F64BE) == TRUE)
- h5tools_str_append(buffer, "H5T_IEEE_F64BE");
- else if (H5Tequal(type, H5T_IEEE_F64LE) == TRUE)
- h5tools_str_append(buffer, "H5T_IEEE_F64LE");
- else if (H5Tequal(type, H5T_VAX_F32) == TRUE)
- h5tools_str_append(buffer, "H5T_VAX_F32");
- else if (H5Tequal(type, H5T_VAX_F64) == TRUE)
- h5tools_str_append(buffer, "H5T_VAX_F64");
- else if (H5Tequal(type, H5T_NATIVE_FLOAT) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_FLOAT");
- else if (H5Tequal(type, H5T_NATIVE_DOUBLE) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_DOUBLE");
-#if H5_SIZEOF_LONG_DOUBLE !=0
- else if (H5Tequal(type, H5T_NATIVE_LDOUBLE) == TRUE)
- h5tools_str_append(buffer, "H5T_NATIVE_LDOUBLE");
+ case H5T_FLOAT:
+ if (H5Tequal(type, H5T_IEEE_F32BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_IEEE_F32BE");
+ else if (H5Tequal(type, H5T_IEEE_F32LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_IEEE_F32LE");
+ else if (H5Tequal(type, H5T_IEEE_F64BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_IEEE_F64BE");
+ else if (H5Tequal(type, H5T_IEEE_F64LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_IEEE_F64LE");
+ else if (H5Tequal(type, H5T_VAX_F32) == TRUE)
+ h5tools_str_append(buffer, "H5T_VAX_F32");
+ else if (H5Tequal(type, H5T_VAX_F64) == TRUE)
+ h5tools_str_append(buffer, "H5T_VAX_F64");
+ else if (H5Tequal(type, H5T_NATIVE_FLOAT) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_FLOAT");
+ else if (H5Tequal(type, H5T_NATIVE_DOUBLE) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_DOUBLE");
+#if H5_SIZEOF_LONG_DOUBLE != 0
+ else if (H5Tequal(type, H5T_NATIVE_LDOUBLE) == TRUE)
+ h5tools_str_append(buffer, "H5T_NATIVE_LDOUBLE");
#endif
- else {
+ else {
- /* byte order */
- if (H5Tget_size(type) > 1) {
- order = H5Tget_order(type);
- if (H5T_ORDER_LE == order)
- order_s = " little-endian";
- else if (H5T_ORDER_BE == order)
- order_s = " big-endian";
- else if (H5T_ORDER_VAX == order)
- order_s = " mixed-endian";
+ /* byte order */
+ if (H5Tget_size(type) > 1) {
+ order = H5Tget_order(type);
+ if (H5T_ORDER_LE == order)
+ order_s = " little-endian";
+ else if (H5T_ORDER_BE == order)
+ order_s = " big-endian";
+ else if (H5T_ORDER_VAX == order)
+ order_s = " mixed-endian";
+ else
+ order_s = " unknown-byte-order";
+ }
else
- order_s = " unknown-byte-order";
- }
- else
- order_s = "";
-
- /* print size and byte order */
- h5tools_str_append(buffer, "%lu-bit%s floating-point",
- (unsigned long) (8 * H5Tget_size(type)), order_s);
+ order_s = "";
- }
- break;
-
- case H5T_TIME:
- h5tools_str_append(buffer, "H5T_TIME: not yet implemented");
- break;
-
- case H5T_STRING:
- /* Make a copy of type in memory in case when TYPE is on disk, the size
- * will be bigger than in memory. This makes it easier to compare
- * types in memory. */
- tmp_type = H5Tcopy(type);
- size = H5Tget_size(tmp_type);
- str_pad = H5Tget_strpad(tmp_type);
- cset = H5Tget_cset(tmp_type);
- is_vlstr = H5Tis_variable_str(tmp_type);
-
- curr_pos = ctx->cur_column;
- h5tools_str_append(buffer, "H5T_STRING %s", h5tools_dump_header_format->strblockbegin);
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ /* print size and byte order */
+ h5tools_str_append(buffer, "%lu-bit%s floating-point", (unsigned long)(8 * H5Tget_size(type)),
+ order_s);
+ }
+ break;
- ctx->indent_level++;
+ case H5T_TIME:
+ h5tools_str_append(buffer, "H5T_TIME: not yet implemented");
+ break;
- ctx->need_prefix = TRUE;
+ case H5T_STRING:
+ /* Make a copy of type in memory in case when TYPE is on disk, the size
+ * will be bigger than in memory. This makes it easier to compare
+ * types in memory. */
+ tmp_type = H5Tcopy(type);
+ size = H5Tget_size(tmp_type);
+ str_pad = H5Tget_strpad(tmp_type);
+ cset = H5Tget_cset(tmp_type);
+ is_vlstr = H5Tis_variable_str(tmp_type);
+
+ curr_pos = ctx->cur_column;
+ h5tools_str_append(buffer, "H5T_STRING %s", h5tools_dump_header_format->strblockbegin);
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- h5tools_str_reset(buffer);
+ ctx->indent_level++;
- if (is_vlstr)
- h5tools_str_append(buffer, "%s H5T_VARIABLE;", STRSIZE);
- else
- h5tools_str_append(buffer, "%s %d;", STRSIZE, (int) size);
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ ctx->need_prefix = TRUE;
- ctx->need_prefix = TRUE;
+ h5tools_str_reset(buffer);
- h5tools_str_reset(buffer);
+ if (is_vlstr)
+ h5tools_str_append(buffer, "%s H5T_VARIABLE;", STRSIZE);
+ else
+ h5tools_str_append(buffer, "%s %d;", STRSIZE, (int)size);
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- h5tools_str_append(buffer, "%s ", STRPAD);
- switch (str_pad) {
- case H5T_STR_NULLTERM:
- h5tools_str_append(buffer, "H5T_STR_NULLTERM;");
- break;
- case H5T_STR_NULLPAD:
- h5tools_str_append(buffer, "H5T_STR_NULLPAD;");
- break;
- case H5T_STR_SPACEPAD:
- h5tools_str_append(buffer, "H5T_STR_SPACEPAD;");
- break;
- case H5T_STR_RESERVED_3:
- case H5T_STR_RESERVED_4:
- case H5T_STR_RESERVED_5:
- case H5T_STR_RESERVED_6:
- case H5T_STR_RESERVED_7:
- case H5T_STR_RESERVED_8:
- case H5T_STR_RESERVED_9:
- case H5T_STR_RESERVED_10:
- case H5T_STR_RESERVED_11:
- case H5T_STR_RESERVED_12:
- case H5T_STR_RESERVED_13:
- case H5T_STR_RESERVED_14:
- case H5T_STR_RESERVED_15:
- h5tools_str_append(buffer, "H5T_STR_UNKNOWN;");
- break;
- case H5T_STR_ERROR:
- h5tools_str_append(buffer, "H5T_STR_ERROR;");
- break;
- default:
- h5tools_str_append(buffer, "ERROR;");
- break;
- }
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ ctx->need_prefix = TRUE;
- ctx->need_prefix = TRUE;
+ h5tools_str_reset(buffer);
- h5tools_str_reset(buffer);
+ h5tools_str_append(buffer, "%s ", STRPAD);
+ switch (str_pad) {
+ case H5T_STR_NULLTERM:
+ h5tools_str_append(buffer, "H5T_STR_NULLTERM;");
+ break;
+ case H5T_STR_NULLPAD:
+ h5tools_str_append(buffer, "H5T_STR_NULLPAD;");
+ break;
+ case H5T_STR_SPACEPAD:
+ h5tools_str_append(buffer, "H5T_STR_SPACEPAD;");
+ break;
+ case H5T_STR_RESERVED_3:
+ case H5T_STR_RESERVED_4:
+ case H5T_STR_RESERVED_5:
+ case H5T_STR_RESERVED_6:
+ case H5T_STR_RESERVED_7:
+ case H5T_STR_RESERVED_8:
+ case H5T_STR_RESERVED_9:
+ case H5T_STR_RESERVED_10:
+ case H5T_STR_RESERVED_11:
+ case H5T_STR_RESERVED_12:
+ case H5T_STR_RESERVED_13:
+ case H5T_STR_RESERVED_14:
+ case H5T_STR_RESERVED_15:
+ h5tools_str_append(buffer, "H5T_STR_UNKNOWN;");
+ break;
+ case H5T_STR_ERROR:
+ h5tools_str_append(buffer, "H5T_STR_ERROR;");
+ break;
+ default:
+ h5tools_str_append(buffer, "ERROR;");
+ break;
+ }
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- h5tools_str_append(buffer, "%s ", CSET);
+ ctx->need_prefix = TRUE;
- switch (cset) {
- case H5T_CSET_ASCII:
- h5tools_str_append(buffer, "H5T_CSET_ASCII;");
- break;
- case H5T_CSET_UTF8:
- h5tools_str_append(buffer, "H5T_CSET_UTF8;");
- break;
- case H5T_CSET_RESERVED_2:
- case H5T_CSET_RESERVED_3:
- case H5T_CSET_RESERVED_4:
- case H5T_CSET_RESERVED_5:
- case H5T_CSET_RESERVED_6:
- case H5T_CSET_RESERVED_7:
- case H5T_CSET_RESERVED_8:
- case H5T_CSET_RESERVED_9:
- case H5T_CSET_RESERVED_10:
- case H5T_CSET_RESERVED_11:
- case H5T_CSET_RESERVED_12:
- case H5T_CSET_RESERVED_13:
- case H5T_CSET_RESERVED_14:
- case H5T_CSET_RESERVED_15:
- h5tools_str_append(buffer, "H5T_CSET_UNKNOWN;");
- break;
- case H5T_CSET_ERROR:
- h5tools_str_append(buffer, "H5T_CSET_ERROR;");
- break;
- default:
- h5tools_str_append(buffer, "ERROR;");
- break;
- }
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_str_reset(buffer);
- ctx->need_prefix = TRUE;
+ h5tools_str_append(buffer, "%s ", CSET);
+
+ switch (cset) {
+ case H5T_CSET_ASCII:
+ h5tools_str_append(buffer, "H5T_CSET_ASCII;");
+ break;
+ case H5T_CSET_UTF8:
+ h5tools_str_append(buffer, "H5T_CSET_UTF8;");
+ break;
+ case H5T_CSET_RESERVED_2:
+ case H5T_CSET_RESERVED_3:
+ case H5T_CSET_RESERVED_4:
+ case H5T_CSET_RESERVED_5:
+ case H5T_CSET_RESERVED_6:
+ case H5T_CSET_RESERVED_7:
+ case H5T_CSET_RESERVED_8:
+ case H5T_CSET_RESERVED_9:
+ case H5T_CSET_RESERVED_10:
+ case H5T_CSET_RESERVED_11:
+ case H5T_CSET_RESERVED_12:
+ case H5T_CSET_RESERVED_13:
+ case H5T_CSET_RESERVED_14:
+ case H5T_CSET_RESERVED_15:
+ h5tools_str_append(buffer, "H5T_CSET_UNKNOWN;");
+ break;
+ case H5T_CSET_ERROR:
+ h5tools_str_append(buffer, "H5T_CSET_ERROR;");
+ break;
+ default:
+ h5tools_str_append(buffer, "ERROR;");
+ break;
+ }
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- h5tools_str_reset(buffer);
+ ctx->need_prefix = TRUE;
- str_type = H5Tcopy(H5T_C_S1);
- if (is_vlstr)
- H5Tset_size(str_type, H5T_VARIABLE);
- else
- H5Tset_size(str_type, size);
- H5Tset_cset(str_type, cset);
- H5Tset_strpad(str_type, str_pad);
+ h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "%s ", CTYPE);
+ str_type = H5Tcopy(H5T_C_S1);
+ if (is_vlstr)
+ H5Tset_size(str_type, H5T_VARIABLE);
+ else
+ H5Tset_size(str_type, size);
+ H5Tset_cset(str_type, cset);
+ H5Tset_strpad(str_type, str_pad);
- /* Check C variable-length string first. Are the two types equal? */
- if (H5Tequal(tmp_type, str_type)) {
- h5tools_str_append(buffer, "H5T_C_S1;");
- goto found_string_type;
- }
+ h5tools_str_append(buffer, "%s ", CTYPE);
- /* Change the endianness and see if they're equal. */
- order = H5Tget_order(tmp_type);
- if(order == H5T_ORDER_LE) {
- if(H5Tset_order(str_type, H5T_ORDER_LE) < 0)
- H5TOOLS_ERROR((-1), "H5Tset_order failed");
- } /* end if */
- else if(order == H5T_ORDER_BE) {
- if(H5Tset_order(str_type, H5T_ORDER_BE) < 0)
- H5TOOLS_ERROR((-1), "H5Tset_order failed");
- } /* end if */
-
- if(H5Tequal(tmp_type, str_type)) {
- h5tools_str_append(buffer, "H5T_C_S1;");
- goto found_string_type;
- }
+ /* Check C variable-length string first. Are the two types equal? */
+ if (H5Tequal(tmp_type, str_type)) {
+ h5tools_str_append(buffer, "H5T_C_S1;");
+ goto found_string_type;
+ }
- /* If not equal to C variable-length string, check Fortran type. */
- if(H5Tclose(str_type) < 0)
- H5TOOLS_ERROR((-1), "H5Tclose failed");
- str_type = H5Tcopy(H5T_FORTRAN_S1);
+ /* Change the endianness and see if they're equal. */
+ order = H5Tget_order(tmp_type);
+ if (order == H5T_ORDER_LE) {
+ if (H5Tset_order(str_type, H5T_ORDER_LE) < 0)
+ H5TOOLS_ERROR((-1), "H5Tset_order failed");
+ } /* end if */
+ else if (order == H5T_ORDER_BE) {
+ if (H5Tset_order(str_type, H5T_ORDER_BE) < 0)
+ H5TOOLS_ERROR((-1), "H5Tset_order failed");
+ } /* end if */
+
+ if (H5Tequal(tmp_type, str_type)) {
+ h5tools_str_append(buffer, "H5T_C_S1;");
+ goto found_string_type;
+ }
- H5Tset_cset(str_type, cset);
- H5Tset_size(str_type, size);
- H5Tset_strpad(str_type, str_pad);
+ /* If not equal to C variable-length string, check Fortran type. */
+ if (H5Tclose(str_type) < 0)
+ H5TOOLS_ERROR((-1), "H5Tclose failed");
+ str_type = H5Tcopy(H5T_FORTRAN_S1);
- /* Are the two types equal? */
- if (H5Tequal(tmp_type, str_type)) {
- h5tools_str_append(buffer, "H5T_FORTRAN_S1;");
- goto found_string_type;
- }
+ H5Tset_cset(str_type, cset);
+ H5Tset_size(str_type, size);
+ H5Tset_strpad(str_type, str_pad);
- /* Change the endianness and see if they're equal. */
- order = H5Tget_order(tmp_type);
- if(order == H5T_ORDER_LE) {
- if(H5Tset_order(str_type, H5T_ORDER_LE) < 0)
- H5TOOLS_ERROR((-1), "H5Tset_order failed");
- } /* end if */
- else if(order == H5T_ORDER_BE) {
- if(H5Tset_order(str_type, H5T_ORDER_BE) < 0)
- H5TOOLS_ERROR((-1), "H5Tset_order failed");
- } /* end if */
-
- if(H5Tequal(tmp_type, str_type)) {
- h5tools_str_append(buffer, "H5T_FORTRAN_S1;");
- goto found_string_type;
- }
+ /* Are the two types equal? */
+ if (H5Tequal(tmp_type, str_type)) {
+ h5tools_str_append(buffer, "H5T_FORTRAN_S1;");
+ goto found_string_type;
+ }
- /* Type doesn't match any of above. */
- h5tools_str_append(buffer, "unknown_one_character_type;");
+ /* Change the endianness and see if they're equal. */
+ order = H5Tget_order(tmp_type);
+ if (order == H5T_ORDER_LE) {
+ if (H5Tset_order(str_type, H5T_ORDER_LE) < 0)
+ H5TOOLS_ERROR((-1), "H5Tset_order failed");
+ } /* end if */
+ else if (order == H5T_ORDER_BE) {
+ if (H5Tset_order(str_type, H5T_ORDER_BE) < 0)
+ H5TOOLS_ERROR((-1), "H5Tset_order failed");
+ } /* end if */
+
+ if (H5Tequal(tmp_type, str_type)) {
+ h5tools_str_append(buffer, "H5T_FORTRAN_S1;");
+ goto found_string_type;
+ }
- found_string_type:
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
- ctx->indent_level--;
+ /* Type doesn't match any of above. */
+ h5tools_str_append(buffer, "unknown_one_character_type;");
- ctx->need_prefix = TRUE;
+found_string_type:
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
+ ctx->indent_level--;
- h5tools_str_reset(buffer);
- if(H5Tclose(str_type) < 0)
- H5TOOLS_ERROR((-1), "H5Tclose failed");
- if(H5Tclose(tmp_type) < 0)
- H5TOOLS_ERROR((-1), "H5Tclose failed");
-
- h5tools_str_append(buffer, "%s", h5tools_dump_header_format->strblockend);
- break;
-
- case H5T_BITFIELD:
- if (H5Tequal(type, H5T_STD_B8BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_B8BE");
- else if (H5Tequal(type, H5T_STD_B8LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_B8LE");
- else if (H5Tequal(type, H5T_STD_B16BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_B16BE");
- else if (H5Tequal(type, H5T_STD_B16LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_B16LE");
- else if (H5Tequal(type, H5T_STD_B32BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_B32BE");
- else if (H5Tequal(type, H5T_STD_B32LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_B32LE");
- else if (H5Tequal(type, H5T_STD_B64BE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_B64BE");
- else if (H5Tequal(type, H5T_STD_B64LE) == TRUE)
- h5tools_str_append(buffer, "H5T_STD_B64LE");
- else
- h5tools_str_append(buffer, "undefined bitfield");
- break;
+ ctx->need_prefix = TRUE;
- case H5T_OPAQUE:
- h5tools_str_append(buffer, "H5T_OPAQUE %s", h5tools_dump_header_format->structblockbegin);
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
- ctx->indent_level++;
- {
- char *ttag;
+ h5tools_str_reset(buffer);
+ if (H5Tclose(str_type) < 0)
+ H5TOOLS_ERROR((-1), "H5Tclose failed");
+ if (H5Tclose(tmp_type) < 0)
+ H5TOOLS_ERROR((-1), "H5Tclose failed");
- if(NULL == (ttag = H5Tget_tag(type)))
- H5TOOLS_THROW((-1), "H5Tget_tag failed");
+ h5tools_str_append(buffer, "%s", h5tools_dump_header_format->strblockend);
+ break;
- ctx->need_prefix = TRUE;
+ case H5T_BITFIELD:
+ if (H5Tequal(type, H5T_STD_B8BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_B8BE");
+ else if (H5Tequal(type, H5T_STD_B8LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_B8LE");
+ else if (H5Tequal(type, H5T_STD_B16BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_B16BE");
+ else if (H5Tequal(type, H5T_STD_B16LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_B16LE");
+ else if (H5Tequal(type, H5T_STD_B32BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_B32BE");
+ else if (H5Tequal(type, H5T_STD_B32LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_B32LE");
+ else if (H5Tequal(type, H5T_STD_B64BE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_B64BE");
+ else if (H5Tequal(type, H5T_STD_B64LE) == TRUE)
+ h5tools_str_append(buffer, "H5T_STD_B64LE");
+ else
+ h5tools_str_append(buffer, "undefined bitfield");
+ break;
- h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "OPAQUE_TAG \"%s\";", ttag);
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ case H5T_OPAQUE:
+ h5tools_str_append(buffer, "H5T_OPAQUE %s", h5tools_dump_header_format->structblockbegin);
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
+ ctx->indent_level++;
+ {
+ char *ttag;
- H5free_memory(ttag);
+ if (NULL == (ttag = H5Tget_tag(type)))
+ H5TOOLS_THROW((-1), "H5Tget_tag failed");
- if((size = H5Tget_size(type)) <= 0) {
ctx->need_prefix = TRUE;
h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "OPAQUE_SIZE \"%s\";", size);
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_str_append(buffer, "OPAQUE_TAG \"%s\";", ttag);
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
+
+ H5free_memory(ttag);
+
+ if ((size = H5Tget_size(type)) <= 0) {
+ ctx->need_prefix = TRUE;
+
+ h5tools_str_reset(buffer);
+ h5tools_str_append(buffer, "OPAQUE_SIZE \"%s\";", size);
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
+ }
}
- }
- ctx->indent_level--;
+ ctx->indent_level--;
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "%s", h5tools_dump_header_format->structblockend);
- break;
+ h5tools_str_reset(buffer);
+ h5tools_str_append(buffer, "%s", h5tools_dump_header_format->structblockend);
+ break;
- case H5T_COMPOUND:
- if((snmembers = H5Tget_nmembers(type)) < 0)
- H5TOOLS_THROW((-1), "H5Tget_nmembers failed");
- nmembers = (unsigned)snmembers;
+ case H5T_COMPOUND:
+ if ((snmembers = H5Tget_nmembers(type)) < 0)
+ H5TOOLS_THROW((-1), "H5Tget_nmembers failed");
+ nmembers = (unsigned)snmembers;
- h5tools_str_append(buffer, "H5T_COMPOUND %s", h5tools_dump_header_format->structblockbegin);
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_str_append(buffer, "H5T_COMPOUND %s", h5tools_dump_header_format->structblockbegin);
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- ctx->indent_level++;
- for (i = 0; i < nmembers; i++) {
- mname = H5Tget_member_name(type, i);
- if((mtype = H5Tget_member_type(type, i)) >= 0) {
- ctx->need_prefix = TRUE;
+ ctx->indent_level++;
+ for (i = 0; i < nmembers; i++) {
+ mname = H5Tget_member_name(type, i);
+ if ((mtype = H5Tget_member_type(type, i)) >= 0) {
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(buffer);
- h5tools_print_datatype(stream, buffer, info, ctx, mtype, TRUE);
+ h5tools_str_reset(buffer);
+ h5tools_print_datatype(stream, buffer, info, ctx, mtype, TRUE);
- h5tools_str_append(buffer, " \"%s\";", mname);
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
- if(H5Tclose(mtype) < 0)
- H5TOOLS_ERROR((-1), "H5Tclose failed");
+ h5tools_str_append(buffer, " \"%s\";", mname);
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
+ if (H5Tclose(mtype) < 0)
+ H5TOOLS_ERROR((-1), "H5Tclose failed");
+ }
+ else
+ H5TOOLS_ERROR((-1), "H5Tget_member_type failed");
+ H5free_memory(mname);
}
- else
- H5TOOLS_ERROR((-1), "H5Tget_member_type failed");
- H5free_memory(mname);
- }
- ctx->indent_level--;
+ ctx->indent_level--;
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "%s", h5tools_dump_header_format->structblockend);
- break;
+ h5tools_str_reset(buffer);
+ h5tools_str_append(buffer, "%s", h5tools_dump_header_format->structblockend);
+ break;
- case H5T_REFERENCE:
- h5tools_str_append(buffer, "H5T_REFERENCE");
- if (H5Tequal(type, H5T_STD_REF_DSETREG) == TRUE) {
- h5tools_str_append(buffer, " { H5T_STD_REF_DSETREG }");
- }
- else if (H5Tequal(type, H5T_STD_REF_OBJ) == TRUE) {
- h5tools_str_append(buffer, " { H5T_STD_REF_OBJECT }");
- }
- else if (H5Tequal(type, H5T_STD_REF) == TRUE) {
- h5tools_str_append(buffer, " { H5T_STD_REF }");
- }
- else {
- h5tools_str_append(buffer, " { UNDEFINED }");
- }
- break;
+ case H5T_REFERENCE:
+ h5tools_str_append(buffer, "H5T_REFERENCE");
+ if (H5Tequal(type, H5T_STD_REF_DSETREG) == TRUE) {
+ h5tools_str_append(buffer, " { H5T_STD_REF_DSETREG }");
+ }
+ else if (H5Tequal(type, H5T_STD_REF_OBJ) == TRUE) {
+ h5tools_str_append(buffer, " { H5T_STD_REF_OBJECT }");
+ }
+ else if (H5Tequal(type, H5T_STD_REF) == TRUE) {
+ h5tools_str_append(buffer, " { H5T_STD_REF }");
+ }
+ else {
+ h5tools_str_append(buffer, " { UNDEFINED }");
+ }
+ break;
- case H5T_ENUM:
- if((super = H5Tget_super(type)) < 0)
- H5TOOLS_THROW((-1), "H5Tget_super failed");
+ case H5T_ENUM:
+ if ((super = H5Tget_super(type)) < 0)
+ H5TOOLS_THROW((-1), "H5Tget_super failed");
- h5tools_str_append(buffer, "H5T_ENUM %s", h5tools_dump_header_format->enumblockbegin);
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
- ctx->indent_level++;
+ h5tools_str_append(buffer, "H5T_ENUM %s", h5tools_dump_header_format->enumblockbegin);
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
+ ctx->indent_level++;
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(buffer);
- h5tools_print_datatype(stream, buffer, info, ctx, super, TRUE);
+ h5tools_str_reset(buffer);
+ h5tools_print_datatype(stream, buffer, info, ctx, super, TRUE);
- if(H5Tclose(super) < 0)
- H5TOOLS_ERROR((-1), "H5Tclose failed");
+ if (H5Tclose(super) < 0)
+ H5TOOLS_ERROR((-1), "H5Tclose failed");
- h5tools_str_append(buffer, ";");
- h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_str_append(buffer, ";");
+ h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- h5tools_print_enum(stream, buffer, info, ctx, type);
+ h5tools_print_enum(stream, buffer, info, ctx, type);
- ctx->indent_level--;
+ ctx->indent_level--;
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "%s", h5tools_dump_header_format->enumblockend);
+ h5tools_str_reset(buffer);
+ h5tools_str_append(buffer, "%s", h5tools_dump_header_format->enumblockend);
- break;
+ break;
- case H5T_VLEN:
- if((super = H5Tget_super(type)) < 0)
- H5TOOLS_THROW((-1), "H5Tget_super failed");
+ case H5T_VLEN:
+ if ((super = H5Tget_super(type)) < 0)
+ H5TOOLS_THROW((-1), "H5Tget_super failed");
- h5tools_str_append(buffer, "H5T_VLEN %s ", h5tools_dump_header_format->vlenblockbegin);
+ h5tools_str_append(buffer, "H5T_VLEN %s ", h5tools_dump_header_format->vlenblockbegin);
- h5tools_print_datatype(stream, buffer, info, ctx, super, TRUE);
+ h5tools_print_datatype(stream, buffer, info, ctx, super, TRUE);
- if(H5Tclose(super) < 0)
- H5TOOLS_ERROR((-1), "H5Tclose failed");
+ if (H5Tclose(super) < 0)
+ H5TOOLS_ERROR((-1), "H5Tclose failed");
- h5tools_str_append(buffer, "%s", h5tools_dump_header_format->vlenblockend);
+ h5tools_str_append(buffer, "%s", h5tools_dump_header_format->vlenblockend);
- break;
+ break;
- case H5T_ARRAY:
- h5tools_str_append(buffer, "H5T_ARRAY { ");
+ case H5T_ARRAY:
+ h5tools_str_append(buffer, "H5T_ARRAY { ");
- /* Get array information */
- if((sndims = H5Tget_array_ndims(type)) >= 0) {
- unsigned ndims = (unsigned)sndims;
+ /* Get array information */
+ if ((sndims = H5Tget_array_ndims(type)) >= 0) {
+ unsigned ndims = (unsigned)sndims;
- if(H5Tget_array_dims2(type, dims) >= 0) {
- /* Print array dimensions */
- for (i = 0; i < ndims; i++)
- h5tools_str_append(buffer, "[" HSIZE_T_FORMAT "]", dims[i]);
+ if (H5Tget_array_dims2(type, dims) >= 0) {
+ /* Print array dimensions */
+ for (i = 0; i < ndims; i++)
+ h5tools_str_append(buffer, "[" HSIZE_T_FORMAT "]", dims[i]);
- h5tools_str_append(buffer, " ");
+ h5tools_str_append(buffer, " ");
+ }
+ else
+ H5TOOLS_ERROR((-1), "H5Tget_array_dims2 failed");
}
else
- H5TOOLS_ERROR((-1), "H5Tget_array_dims2 failed");
- }
- else
- H5TOOLS_ERROR((-1), "H5Tget_array_ndims failed");
-
- /* Get array base type */
- if((super = H5Tget_super(type)) >= 0) {
- /* Print base type */
- h5tools_print_datatype(stream, buffer, info, ctx, super, TRUE);
- /* Close array base type */
- if(H5Tclose(super) < 0)
- H5TOOLS_ERROR((-1), "H5Tclose failed");
- }
- else
- H5TOOLS_ERROR((-1), "H5Tget_super failed");
+ H5TOOLS_ERROR((-1), "H5Tget_array_ndims failed");
+
+ /* Get array base type */
+ if ((super = H5Tget_super(type)) >= 0) {
+ /* Print base type */
+ h5tools_print_datatype(stream, buffer, info, ctx, super, TRUE);
+ /* Close array base type */
+ if (H5Tclose(super) < 0)
+ H5TOOLS_ERROR((-1), "H5Tclose failed");
+ }
+ else
+ H5TOOLS_ERROR((-1), "H5Tget_super failed");
- h5tools_str_append(buffer, " }");
+ h5tools_str_append(buffer, " }");
- break;
+ break;
- case H5T_NO_CLASS:
- case H5T_NCLASSES:
- default:
- h5tools_str_append(buffer, "unknown datatype");
- break;
+ case H5T_NO_CLASS:
+ case H5T_NCLASSES:
+ default:
+ h5tools_str_append(buffer, "unknown datatype");
+ break;
}
-CATCH
+ CATCH
H5TOOLS_ENDDEBUG("");
return ret_value;
}
@@ -2637,69 +2661,70 @@ h5tools_print_dataspace(h5tools_str_t *buffer, hid_t space)
{
hsize_t size[H5TOOLS_DUMP_MAX_RANK];
hsize_t maxsize[H5TOOLS_DUMP_MAX_RANK];
- int ndims = -1;
+ int ndims = -1;
H5S_class_t space_type = -1;
hbool_t past_catch = FALSE;
int i;
int ret_value = 0;
H5TOOLS_START_DEBUG("");
- if((ndims = H5Sget_simple_extent_dims(space, size, maxsize)) < 0)
+ if ((ndims = H5Sget_simple_extent_dims(space, size, maxsize)) < 0)
H5TOOLS_THROW((-1), "H5Sget_simple_extent_dims failed");
- if((space_type = H5Sget_simple_extent_type(space)) < 0)
+ if ((space_type = H5Sget_simple_extent_type(space)) < 0)
H5TOOLS_THROW((-1), "H5Sget_simple_extent_type failed");
- switch(space_type) {
- case H5S_SCALAR:
- /* scalar dataspace */
- h5tools_str_append(buffer, "%s %s", h5tools_dump_header_format->dataspacedescriptionbegin, S_SCALAR);
- break;
+ switch (space_type) {
+ case H5S_SCALAR:
+ /* scalar dataspace */
+ h5tools_str_append(buffer, "%s %s", h5tools_dump_header_format->dataspacedescriptionbegin,
+ S_SCALAR);
+ break;
- case H5S_SIMPLE:
- /* simple dataspace */
- h5tools_str_append(buffer, "%s %s { %s " HSIZE_T_FORMAT,
- h5tools_dump_header_format->dataspacedescriptionbegin, S_SIMPLE,
- h5tools_dump_header_format->dataspacedimbegin, size[0]);
+ case H5S_SIMPLE:
+ /* simple dataspace */
+ h5tools_str_append(buffer, "%s %s { %s " HSIZE_T_FORMAT,
+ h5tools_dump_header_format->dataspacedescriptionbegin, S_SIMPLE,
+ h5tools_dump_header_format->dataspacedimbegin, size[0]);
- for(i = 1; i < ndims; i++)
- h5tools_str_append(buffer, ", " HSIZE_T_FORMAT, size[i]);
+ for (i = 1; i < ndims; i++)
+ h5tools_str_append(buffer, ", " HSIZE_T_FORMAT, size[i]);
- h5tools_str_append(buffer, " %s / ", h5tools_dump_header_format->dataspacedimend);
+ h5tools_str_append(buffer, " %s / ", h5tools_dump_header_format->dataspacedimend);
- if(maxsize[0] == H5S_UNLIMITED)
- h5tools_str_append(buffer, "%s %s",
- h5tools_dump_header_format->dataspacedimbegin, "H5S_UNLIMITED");
- else
- h5tools_str_append(buffer, "%s " HSIZE_T_FORMAT,
- h5tools_dump_header_format->dataspacedimbegin, maxsize[0]);
-
- for(i = 1; i < ndims; i++)
- if(maxsize[i] == H5S_UNLIMITED)
- h5tools_str_append(buffer, ", %s", "H5S_UNLIMITED");
+ if (maxsize[0] == H5S_UNLIMITED)
+ h5tools_str_append(buffer, "%s %s", h5tools_dump_header_format->dataspacedimbegin,
+ "H5S_UNLIMITED");
else
- h5tools_str_append(buffer, ", " HSIZE_T_FORMAT, maxsize[i]);
+ h5tools_str_append(buffer, "%s " HSIZE_T_FORMAT,
+ h5tools_dump_header_format->dataspacedimbegin, maxsize[0]);
- h5tools_str_append(buffer, " %s }", h5tools_dump_header_format->dataspacedimend);
- break;
+ for (i = 1; i < ndims; i++)
+ if (maxsize[i] == H5S_UNLIMITED)
+ h5tools_str_append(buffer, ", %s", "H5S_UNLIMITED");
+ else
+ h5tools_str_append(buffer, ", " HSIZE_T_FORMAT, maxsize[i]);
- case H5S_NULL:
- /* null dataspace */
- h5tools_str_append(buffer, "%s %s", h5tools_dump_header_format->dataspacedescriptionbegin, S_NULL);
- break;
+ h5tools_str_append(buffer, " %s }", h5tools_dump_header_format->dataspacedimend);
+ break;
+
+ case H5S_NULL:
+ /* null dataspace */
+ h5tools_str_append(buffer, "%s %s", h5tools_dump_header_format->dataspacedescriptionbegin,
+ S_NULL);
+ break;
- case H5S_NO_CLASS:
- default:
- h5tools_str_append(buffer, "%s unknown dataspace %s\n", BEGIN, END);
- break;
+ case H5S_NO_CLASS:
+ default:
+ h5tools_str_append(buffer, "%s unknown dataspace %s\n", BEGIN, END);
+ break;
} /* end switch */
-CATCH
+ CATCH
H5TOOLS_ENDDEBUG("");
return ret_value;
}
-
/*-------------------------------------------------------------------------
* Function: print_enum
*
@@ -2712,37 +2737,38 @@ CATCH
*
*-----------------------------------------------------------------------*/
int
-h5tools_print_enum(FILE *stream, h5tools_str_t *buffer, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t type)
+h5tools_print_enum(FILE *stream, h5tools_str_t *buffer, const h5tool_format_t *info, h5tools_context_t *ctx,
+ hid_t type)
{
- char **name = NULL; /*member names */
+ char ** name = NULL; /*member names */
unsigned char *value = NULL; /*value array */
- unsigned char *copy = NULL; /*a pointer to value array */
+ unsigned char *copy = NULL; /*a pointer to value array */
unsigned i;
- unsigned nmembs = 0; /*number of members */
+ unsigned nmembs = 0; /*number of members */
int snmembs;
- hid_t super = H5I_INVALID_HID; /*enum base integer type */
- hid_t native = H5I_INVALID_HID; /*native integer datatype */
- H5T_sign_t sign_type; /*sign of value type */
- size_t type_size; /*value type size */
- size_t dst_size; /*destination value type size */
- size_t ncols = 80; /*available output width */
- hsize_t curr_pos = 0; /* total data element position */
+ hid_t super = H5I_INVALID_HID; /*enum base integer type */
+ hid_t native = H5I_INVALID_HID; /*native integer datatype */
+ H5T_sign_t sign_type; /*sign of value type */
+ size_t type_size; /*value type size */
+ size_t dst_size; /*destination value type size */
+ size_t ncols = 80; /*available output width */
+ hsize_t curr_pos = 0; /* total data element position */
hbool_t past_catch = FALSE;
- int ret_value = 0;
+ int ret_value = 0;
H5TOOLS_START_DEBUG("");
if (info->line_ncols > 0)
ncols = info->line_ncols;
- if((snmembs = H5Tget_nmembers(type)) < 0)
+ if ((snmembs = H5Tget_nmembers(type)) < 0)
H5TOOLS_THROW((-1), "H5Tget_nmembers failed");
nmembs = (unsigned)snmembs;
HDassert(nmembs > 0);
- if((super = H5Tget_super(type)) < 0)
+ if ((super = H5Tget_super(type)) < 0)
H5TOOLS_THROW((-1), "H5Tget_super failed");
- if((type_size = H5Tget_size(type)) <= 0)
+ if ((type_size = H5Tget_size(type)) <= 0)
H5TOOLS_THROW((-1), "H5Tget_size(type) failed");
/*
@@ -2752,12 +2778,12 @@ h5tools_print_enum(FILE *stream, h5tools_str_t *buffer, const h5tool_format_t *i
* 2. unsigned long long -- the largest native unsigned integer
* 3. raw format
*/
- if(type_size <= sizeof(long long)) {
+ if (type_size <= sizeof(long long)) {
dst_size = sizeof(long long);
- if((sign_type = H5Tget_sign(type))<0)
+ if ((sign_type = H5Tget_sign(type)) < 0)
H5TOOLS_THROW((-1), "H5Tget_sign failed");
- if(H5T_SGN_NONE == sign_type)
+ if (H5T_SGN_NONE == sign_type)
native = H5T_NATIVE_ULLONG;
else
native = H5T_NATIVE_LLONG;
@@ -2766,20 +2792,20 @@ h5tools_print_enum(FILE *stream, h5tools_str_t *buffer, const h5tool_format_t *i
dst_size = type_size;
/* Get the names and raw values of all members */
- if(NULL == (name = (char **)HDcalloc((size_t)nmembs, sizeof(char *))))
+ if (NULL == (name = (char **)HDcalloc((size_t)nmembs, sizeof(char *))))
H5TOOLS_THROW((-1), "Could not allocate buffer for member name");
- if(NULL == (value = (unsigned char *)HDcalloc((size_t)nmembs, MAX(type_size, dst_size))))
+ if (NULL == (value = (unsigned char *)HDcalloc((size_t)nmembs, MAX(type_size, dst_size))))
H5TOOLS_THROW((-1), "Could not allocate buffer for member value");
for (i = 0; i < nmembs; i++) {
name[i] = H5Tget_member_name(type, i);
- if(H5Tget_member_value(type, i, value + i * type_size) < 0)
+ if (H5Tget_member_value(type, i, value + i * type_size) < 0)
H5TOOLS_THROW((-1), "H5Tget_member_value failed");
}
/* Convert values to native datatype */
if (native > 0)
- if(H5Tconvert(super, native, (size_t)nmembs, value, NULL, H5P_DEFAULT) < 0)
+ if (H5Tconvert(super, native, (size_t)nmembs, value, NULL, H5P_DEFAULT) < 0)
H5TOOLS_THROW((-1), "H5Tconvert failed");
/*
@@ -2789,7 +2815,7 @@ h5tools_print_enum(FILE *stream, h5tools_str_t *buffer, const h5tool_format_t *i
/* Print members */
for (i = 0; i < nmembs; i++) {
- int nchars; /*number of output characters */
+ int nchars; /*number of output characters */
ctx->need_prefix = TRUE;
h5tools_simple_prefix(stream, info, ctx, (hsize_t)0, 0);
@@ -2811,35 +2837,35 @@ h5tools_print_enum(FILE *stream, h5tools_str_t *buffer, const h5tool_format_t *i
/*On SGI Altix(cobalt), wrong values were printed out with "value+i*dst_size"
*strangely, unless use another pointer "copy".*/
copy = value + i * dst_size;
- h5tools_str_append(buffer, HSIZE_T_FORMAT, *((unsigned long long *) ((void *) copy)));
+ h5tools_str_append(buffer, HSIZE_T_FORMAT, *((unsigned long long *)((void *)copy)));
}
else {
/*On SGI Altix(cobalt), wrong values were printed out with "value+i*dst_size"
*strangely, unless use another pointer "copy".*/
copy = value + i * dst_size;
- h5tools_str_append(buffer, "%" H5_PRINTF_LL_WIDTH "d", *((long long *) ((void *) copy)));
+ h5tools_str_append(buffer, "%" H5_PRINTF_LL_WIDTH "d", *((long long *)((void *)copy)));
}
h5tools_str_append(buffer, ";");
h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
}
-CATCH
- if(name) {
+ CATCH
+ if (name) {
/* Release resources */
- for(i = 0; i < nmembs; i++)
- if(name[i])
+ for (i = 0; i < nmembs; i++)
+ if (name[i])
H5free_memory(name[i]);
HDfree(name);
} /* end if */
- if(value)
+ if (value)
HDfree(value);
- if(super >= 0 && H5Tclose(super) < 0)
+ if (super >= 0 && H5Tclose(super) < 0)
H5TOOLS_THROW((-1), "Could not close datatype's super class");
- if(0 == nmembs)
+ if (0 == nmembs)
h5tools_str_append(buffer, "\n<empty>");
H5TOOLS_ENDDEBUG("");
@@ -2860,13 +2886,13 @@ CATCH
void
h5tools_dump_datatype(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t type)
{
- h5tools_str_t buffer; /* string into which to render */
- size_t ncols = 80; /* available output width */
- hsize_t curr_pos = ctx->sm_pos; /* total data element position */
- /* pass to the prefix in h5tools_simple_prefix the total position
- * instead of the current stripmine position i; this is necessary
- * to print the array indices
- */
+ h5tools_str_t buffer; /* string into which to render */
+ size_t ncols = 80; /* available output width */
+ hsize_t curr_pos = ctx->sm_pos; /* total data element position */
+ /* pass to the prefix in h5tools_simple_prefix the total position
+ * instead of the current stripmine position i; this is necessary
+ * to print the array indices
+ */
/* setup */
HDmemset(&buffer, 0, sizeof(h5tools_str_t));
@@ -2877,9 +2903,8 @@ h5tools_dump_datatype(FILE *stream, const h5tool_format_t *info, h5tools_context
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s ",
- h5tools_dump_header_format->datatypebegin,
- h5tools_dump_header_format->datatypeblockbegin);
+ h5tools_str_append(&buffer, "%s %s ", h5tools_dump_header_format->datatypebegin,
+ h5tools_dump_header_format->datatypeblockbegin);
h5tools_print_datatype(stream, &buffer, info, ctx, type, TRUE);
if (HDstrlen(h5tools_dump_header_format->datatypeblockend)) {
h5tools_str_append(&buffer, "%s", h5tools_dump_header_format->datatypeblockend);
@@ -2907,13 +2932,13 @@ h5tools_dump_datatype(FILE *stream, const h5tool_format_t *info, h5tools_context
void
h5tools_dump_dataspace(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t type)
{
- h5tools_str_t buffer; /* string into which to render */
- size_t ncols = 80; /* available output width */
- hsize_t curr_pos = ctx->sm_pos; /* total data element position */
- /* pass to the prefix in h5tools_simple_prefix the total position
- * instead of the current stripmine position i; this is necessary
- * to print the array indices
- */
+ h5tools_str_t buffer; /* string into which to render */
+ size_t ncols = 80; /* available output width */
+ hsize_t curr_pos = ctx->sm_pos; /* total data element position */
+ /* pass to the prefix in h5tools_simple_prefix the total position
+ * instead of the current stripmine position i; this is necessary
+ * to print the array indices
+ */
/* setup */
HDmemset(&buffer, 0, sizeof(h5tools_str_t));
@@ -2924,8 +2949,7 @@ h5tools_dump_dataspace(FILE *stream, const h5tool_format_t *info, h5tools_contex
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s ",
- h5tools_dump_header_format->dataspacebegin);
+ h5tools_str_append(&buffer, "%s ", h5tools_dump_header_format->dataspacebegin);
h5tools_print_dataspace(&buffer, type);
@@ -2955,13 +2979,13 @@ h5tools_dump_dataspace(FILE *stream, const h5tool_format_t *info, h5tools_contex
void
h5tools_dump_oid(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t oid)
{
- h5tools_str_t buffer; /* string into which to render */
- size_t ncols = 80; /* available output width */
- hsize_t curr_pos = ctx->sm_pos; /* total data element position */
- /* pass to the prefix in h5tools_simple_prefix the total position
- * instead of the current stripmine position i; this is necessary
- * to print the array indices
- */
+ h5tools_str_t buffer; /* string into which to render */
+ size_t ncols = 80; /* available output width */
+ hsize_t curr_pos = ctx->sm_pos; /* total data element position */
+ /* pass to the prefix in h5tools_simple_prefix the total position
+ * instead of the current stripmine position i; this is necessary
+ * to print the array indices
+ */
/* setup */
HDmemset(&buffer, 0, sizeof(h5tools_str_t));
@@ -2988,38 +3012,43 @@ h5tools_dump_oid(FILE *stream, const h5tool_format_t *info, h5tools_context_t *c
*/
static void
h5tools_print_virtual_selection(hid_t vspace, FILE *stream, const h5tool_format_t *info,
- h5tools_context_t *ctx, /* in,out*/
- h5tools_str_t *buffer, /* string into which to render */
- hsize_t *curr_pos, /* total data element position */
- size_t ncols)
+ h5tools_context_t *ctx, /* in,out*/
+ h5tools_str_t * buffer, /* string into which to render */
+ hsize_t * curr_pos, /* total data element position */
+ size_t ncols)
{
- switch(H5Sget_select_type(vspace)) {
- case H5S_SEL_NONE: /* Nothing selected */
+ switch (H5Sget_select_type(vspace)) {
+ case H5S_SEL_NONE: /* Nothing selected */
ctx->need_prefix = TRUE;
h5tools_str_reset(buffer);
h5tools_str_append(buffer, "%s", VDS_NONE);
break;
- case H5S_SEL_POINTS: /* Sequence of points selected */
+ case H5S_SEL_POINTS: /* Sequence of points selected */
h5tools_str_reset(buffer);
- h5tools_str_append(buffer, "%s %s ", VDS_POINT, h5tools_dump_header_format->virtualselectionblockbegin);
+ h5tools_str_append(buffer, "%s %s ", VDS_POINT,
+ h5tools_dump_header_format->virtualselectionblockbegin);
h5tools_str_dump_space_points(buffer, vspace, info);
h5tools_str_append(buffer, " %s", h5tools_dump_header_format->virtualselectionblockend);
break;
- case H5S_SEL_HYPERSLABS: /* "New-style" hyperslab selection defined */
+ case H5S_SEL_HYPERSLABS: /* "New-style" hyperslab selection defined */
ctx->need_prefix = TRUE;
h5tools_str_reset(buffer);
if (H5Sis_regular_hyperslab(vspace)) {
- h5tools_str_append(buffer, "%s %s ", VDS_REG_HYPERSLAB, h5tools_dump_header_format->virtualselectionblockbegin);
- h5tools_render_element(stream, info, ctx, buffer, curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_append(buffer, "%s %s ", VDS_REG_HYPERSLAB,
+ h5tools_dump_header_format->virtualselectionblockbegin);
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
h5tools_str_reset(buffer);
h5tools_str_dump_space_slabs(buffer, vspace, info, ctx);
}
else {
- h5tools_str_append(buffer, "%s %s ", VDS_IRR_HYPERSLAB, h5tools_dump_header_format->virtualselectionblockbegin);
- h5tools_render_element(stream, info, ctx, buffer, curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_append(buffer, "%s %s ", VDS_IRR_HYPERSLAB,
+ h5tools_dump_header_format->virtualselectionblockbegin);
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
ctx->indent_level++;
ctx->need_prefix = TRUE;
h5tools_simple_prefix(stream, info, ctx, *curr_pos, 0);
@@ -3028,13 +3057,14 @@ h5tools_print_virtual_selection(hid_t vspace, FILE *stream, const h5tool_format_
h5tools_str_dump_space_blocks(buffer, vspace, info);
ctx->indent_level--;
}
- h5tools_render_element(stream, info, ctx, buffer, curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
ctx->need_prefix = TRUE;
h5tools_str_reset(buffer);
h5tools_str_append(buffer, "%s", h5tools_dump_header_format->virtualselectionblockend);
break;
- case H5S_SEL_ALL: /* Entire extent selected */
+ case H5S_SEL_ALL: /* Entire extent selected */
ctx->need_prefix = TRUE;
h5tools_str_reset(buffer);
@@ -3045,7 +3075,7 @@ h5tools_print_virtual_selection(hid_t vspace, FILE *stream, const h5tool_format_
default:
h5tools_str_append(buffer, "Unknown Selection");
}
- h5tools_render_element(stream, info, ctx, buffer, curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_render_element(stream, info, ctx, buffer, curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
}
/*-------------------------------------------------------------------------
@@ -3057,17 +3087,17 @@ h5tools_print_virtual_selection(hid_t vspace, FILE *stream, const h5tool_format_
*-------------------------------------------------------------------------
*/
void
-h5tools_print_fill_value(h5tools_str_t *buffer/*in,out*/, const h5tool_format_t *info,
- h5tools_context_t *ctx/*in,out*/, hid_t dcpl, hid_t type_id, hid_t obj_id)
+h5tools_print_fill_value(h5tools_str_t *buffer /*in,out*/, const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, hid_t dcpl, hid_t type_id, hid_t obj_id)
{
- size_t size;
- hid_t n_type = H5I_INVALID_HID;
- void *buf = NULL;
+ size_t size;
+ hid_t n_type = H5I_INVALID_HID;
+ void * buf = NULL;
n_type = H5Tget_native_type(type_id, H5T_DIR_DEFAULT);
size = H5Tget_size(n_type);
- buf = HDmalloc(size);
+ buf = HDmalloc(size);
H5Pget_fill_value(dcpl, n_type, buf);
@@ -3076,7 +3106,7 @@ h5tools_print_fill_value(h5tools_str_t *buffer/*in,out*/, const h5tool_format_t
H5Tclose(n_type);
if (buf)
- HDfree (buf);
+ HDfree(buf);
}
/*-------------------------------------------------------------------------
@@ -3088,32 +3118,32 @@ h5tools_print_fill_value(h5tools_str_t *buffer/*in,out*/, const h5tool_format_t
*-------------------------------------------------------------------------
*/
void
-h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
- h5tools_context_t *ctx, hid_t dcpl_id, hid_t type_id, hid_t dset_id)
+h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t dcpl_id,
+ hid_t type_id, hid_t dset_id)
{
- int nfilters; /* number of filters */
- int rank; /* rank */
+ int nfilters; /* number of filters */
+ int rank; /* rank */
int i;
unsigned j;
- unsigned filt_flags; /* filter flags */
- unsigned cd_values[20]; /* filter client data values */
+ unsigned filt_flags; /* filter flags */
+ unsigned cd_values[20]; /* filter client data values */
unsigned szip_options_mask;
unsigned szip_pixels_per_block;
- H5Z_filter_t filtn; /* filter identification number */
+ H5Z_filter_t filtn; /* filter identification number */
H5D_fill_value_t fvstatus;
H5D_alloc_time_t at;
H5D_fill_time_t ft;
H5D_layout_t stl;
- size_t ncols = 80; /* available output width */
- size_t cd_nelmts; /* filter client number of values */
- off_t offset; /* offset of external file */
- char f_name[256]; /* filter name */
- char name[256]; /* external or virtual file name */
- hsize_t chsize[64]; /* chunk size in elements */
- hsize_t size; /* size of external file */
+ size_t ncols = 80; /* available output width */
+ size_t cd_nelmts; /* filter client number of values */
+ off_t offset; /* offset of external file */
+ char f_name[256]; /* filter name */
+ char name[256]; /* external or virtual file name */
+ hsize_t chsize[64]; /* chunk size in elements */
+ hsize_t size; /* size of external file */
hsize_t storage_size;
- hsize_t curr_pos = 0; /* total data element position */
- h5tools_str_t buffer; /* string into which to render */
+ hsize_t curr_pos = 0; /* total data element position */
+ h5tools_str_t buffer; /* string into which to render */
/* setup */
HDmemset(&buffer, 0, sizeof(h5tools_str_t));
@@ -3121,13 +3151,13 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
ncols = info->line_ncols;
storage_size = H5Dget_storage_size(dset_id);
- nfilters = H5Pget_nfilters(dcpl_id);
- HDstrcpy(f_name,"\0");
+ nfilters = H5Pget_nfilters(dcpl_id);
+ HDstrcpy(f_name, "\0");
/*-------------------------------------------------------------------------
- * STORAGE_LAYOUT
- *-------------------------------------------------------------------------
- */
+ * STORAGE_LAYOUT
+ *-------------------------------------------------------------------------
+ */
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
@@ -3143,12 +3173,14 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "%s ", CHUNKED);
- rank = H5Pget_chunk(dcpl_id, (int) NELMTS(chsize), chsize);
- h5tools_str_append(&buffer, "%s " HSIZE_T_FORMAT, h5tools_dump_header_format->dataspacedimbegin, chsize[0]);
- for(i = 1; i < rank; i++)
+ rank = H5Pget_chunk(dcpl_id, (int)NELMTS(chsize), chsize);
+ h5tools_str_append(&buffer, "%s " HSIZE_T_FORMAT, h5tools_dump_header_format->dataspacedimbegin,
+ chsize[0]);
+ for (i = 1; i < rank; i++)
h5tools_str_append(&buffer, ", " HSIZE_T_FORMAT, chsize[i]);
h5tools_str_append(&buffer, " %s", h5tools_dump_header_format->dataspacedimend);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
ctx->need_prefix = TRUE;
@@ -3158,49 +3190,49 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
if (nfilters) {
hsize_t dims[H5S_MAX_RANK];
hsize_t nelmts = 1;
- double ratio = 0;
- int ok = 0;
+ double ratio = 0;
+ int ok = 0;
- hid_t tid = H5Dget_type(dset_id);
- hid_t sid = H5Dget_space(dset_id);
+ hid_t tid = H5Dget_type(dset_id);
+ hid_t sid = H5Dget_space(dset_id);
size_t datum_size = H5Tget_size(tid);
- int ndims = H5Sget_simple_extent_dims(sid, dims, NULL);
+ int ndims = H5Sget_simple_extent_dims(sid, dims, NULL);
/* only print the compression ratio for these filters */
for (i = 0; i < nfilters && !ok; i++) {
cd_nelmts = NELMTS(cd_values);
- filtn = H5Pget_filter2(dcpl_id, (unsigned) i, &filt_flags, &cd_nelmts, cd_values, sizeof(f_name),
- f_name, NULL);
- ok = (filtn >= 0);
+ filtn = H5Pget_filter2(dcpl_id, (unsigned)i, &filt_flags, &cd_nelmts, cd_values,
+ sizeof(f_name), f_name, NULL);
+ ok = (filtn >= 0);
}
- if(ndims && ok) {
+ if (ndims && ok) {
hsize_t uncomp_size;
- for(i = 0; i < ndims; i++) {
+ for (i = 0; i < ndims; i++) {
nelmts *= dims[i];
}
uncomp_size = nelmts * datum_size;
/* compression ratio = uncompressed size / compressed size */
- if(storage_size != 0)
- ratio = (double) uncomp_size / (double) storage_size;
-
- h5tools_str_append(&buffer, "SIZE " HSIZE_T_FORMAT" (%.3f:1 COMPRESSION)", storage_size, ratio);
+ if (storage_size != 0)
+ ratio = (double)uncomp_size / (double)storage_size;
+ h5tools_str_append(&buffer, "SIZE " HSIZE_T_FORMAT " (%.3f:1 COMPRESSION)", storage_size,
+ ratio);
}
else
h5tools_str_append(&buffer, "SIZE " HSIZE_T_FORMAT, storage_size);
H5Sclose(sid);
H5Tclose(tid);
-
}
else {
h5tools_str_append(&buffer, "SIZE " HSIZE_T_FORMAT, storage_size);
}
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
ctx->indent_level--;
break;
case H5D_COMPACT:
@@ -3209,202 +3241,220 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "%s", COMPACT);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "SIZE " HSIZE_T_FORMAT, storage_size);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
ctx->indent_level--;
break;
- case H5D_CONTIGUOUS:
- {
- int n_external;
-
- n_external = H5Pget_external_count(dcpl_id);
+ case H5D_CONTIGUOUS: {
+ int n_external;
- ctx->indent_level++;
- if (n_external) {
+ n_external = H5Pget_external_count(dcpl_id);
- /* EXTERNAL FILE */
-
- ctx->need_prefix = TRUE;
+ ctx->indent_level++;
+ if (n_external) {
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s", CONTIGUOUS);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ /* EXTERNAL FILE */
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s", EXTERNAL, BEGIN);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s", CONTIGUOUS);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- ctx->indent_level++;
- for (j = 0; j < (unsigned) n_external; j++) {
- H5Pget_external(dcpl_id, j, sizeof(name), name, &offset, &size);
+ ctx->need_prefix = TRUE;
- ctx->need_prefix = TRUE;
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s %s", EXTERNAL, BEGIN);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "FILENAME %s SIZE " HSIZE_T_FORMAT, name, size);
- h5tools_str_append(&buffer, " OFFSET %ld", offset);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
- }
- ctx->indent_level--;
+ ctx->indent_level++;
+ for (j = 0; j < (unsigned)n_external; j++) {
+ H5Pget_external(dcpl_id, j, sizeof(name), name, &offset, &size);
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s", END);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_append(&buffer, "FILENAME %s SIZE " HSIZE_T_FORMAT, name, size);
+ h5tools_str_append(&buffer, " OFFSET %ld", offset);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
}
- else {
- haddr_t ioffset;
- hbool_t supported = FALSE;
+ ctx->indent_level--;
- /* NORMAL FILE */
+ ctx->need_prefix = TRUE;
- ctx->need_prefix = TRUE;
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s", END);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
+ }
+ else {
+ haddr_t ioffset;
+ hbool_t supported = FALSE;
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s", CONTIGUOUS);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ /* NORMAL FILE */
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer,"SIZE " HSIZE_T_FORMAT, storage_size);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s", CONTIGUOUS);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- /* Only dump the offset if the VOL connector implements
- * the functionality.
- */
- H5VLquery_optional(dset_id, H5VL_SUBCLS_DATASET, H5VL_NATIVE_DATASET_GET_OFFSET, &supported);
+ ctx->need_prefix = TRUE;
- if (supported) {
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "SIZE " HSIZE_T_FORMAT, storage_size);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- ctx->need_prefix = TRUE;
+ /* Only dump the offset if the VOL connector implements
+ * the functionality.
+ */
+ H5VLquery_optional(dset_id, H5VL_SUBCLS_DATASET, H5VL_NATIVE_DATASET_GET_OFFSET, &supported);
- h5tools_str_reset(&buffer);
- ioffset = H5Dget_offset(dset_id);
- if (HADDR_UNDEF == ioffset)
- h5tools_str_append(&buffer, "OFFSET HADDR_UNDEF");
- else
- h5tools_str_append(&buffer, "OFFSET %" PRIuHADDR, ioffset);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
- }
+ if (supported) {
+
+ ctx->need_prefix = TRUE;
+
+ h5tools_str_reset(&buffer);
+ ioffset = H5Dget_offset(dset_id);
+ if (HADDR_UNDEF == ioffset)
+ h5tools_str_append(&buffer, "OFFSET HADDR_UNDEF");
+ else
+ h5tools_str_append(&buffer, "OFFSET %" PRIuHADDR, ioffset);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
}
- ctx->indent_level--;
}
- break;
+ ctx->indent_level--;
+ } break;
- case H5D_VIRTUAL:
- {
- char dsetname[256]; /* virtual datset name */
- size_t n_vmaps;
+ case H5D_VIRTUAL: {
+ char dsetname[256]; /* virtual datset name */
+ size_t n_vmaps;
- H5Pget_virtual_count(dcpl_id, &n_vmaps);
+ H5Pget_virtual_count(dcpl_id, &n_vmaps);
- if (n_vmaps) {
- size_t curr_vmap;
- ssize_t H5_ATTR_NDEBUG_UNUSED ssize_out;
+ if (n_vmaps) {
+ size_t curr_vmap;
+ ssize_t H5_ATTR_NDEBUG_UNUSED ssize_out;
- ctx->indent_level++;
- for (curr_vmap = 0; curr_vmap < n_vmaps; curr_vmap++) {
- hid_t virtual_vspace = H5Pget_virtual_vspace(dcpl_id, curr_vmap);
- hid_t virtual_srcspace = H5Pget_virtual_srcspace(dcpl_id, curr_vmap);
+ ctx->indent_level++;
+ for (curr_vmap = 0; curr_vmap < n_vmaps; curr_vmap++) {
+ hid_t virtual_vspace = H5Pget_virtual_vspace(dcpl_id, curr_vmap);
+ hid_t virtual_srcspace = H5Pget_virtual_srcspace(dcpl_id, curr_vmap);
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %ld %s ", VDS_MAPPING, curr_vmap, BEGIN);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s %ld %s ", VDS_MAPPING, curr_vmap, BEGIN);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- ctx->indent_level++;
+ ctx->indent_level++;
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s", VDS_VIRTUAL, BEGIN);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s %s", VDS_VIRTUAL, BEGIN);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- ctx->indent_level++;
+ ctx->indent_level++;
- h5tools_print_virtual_selection(virtual_vspace, stream, info, ctx, &buffer, &curr_pos, (size_t) ncols);
+ h5tools_print_virtual_selection(virtual_vspace, stream, info, ctx, &buffer, &curr_pos,
+ (size_t)ncols);
- ctx->indent_level--;
+ ctx->indent_level--;
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s", END);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s", END);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s", VDS_SOURCE, BEGIN);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s %s", VDS_SOURCE, BEGIN);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- ctx->indent_level++;
+ ctx->indent_level++;
- ssize_out = H5Pget_virtual_filename(dcpl_id, curr_vmap, NULL, 0);
- HDassert(ssize_out > 0);
- HDassert((size_t)ssize_out < sizeof(name));
- H5Pget_virtual_filename(dcpl_id, curr_vmap, name, sizeof(name));
- ssize_out = H5Pget_virtual_dsetname(dcpl_id, curr_vmap, NULL, 0);
- HDassert(ssize_out > 0);
- HDassert((size_t)ssize_out < sizeof(name));
- H5Pget_virtual_dsetname(dcpl_id, curr_vmap, dsetname, sizeof(dsetname));
+ ssize_out = H5Pget_virtual_filename(dcpl_id, curr_vmap, NULL, 0);
+ HDassert(ssize_out > 0);
+ HDassert((size_t)ssize_out < sizeof(name));
+ H5Pget_virtual_filename(dcpl_id, curr_vmap, name, sizeof(name));
+ ssize_out = H5Pget_virtual_dsetname(dcpl_id, curr_vmap, NULL, 0);
+ HDassert(ssize_out > 0);
+ HDassert((size_t)ssize_out < sizeof(name));
+ H5Pget_virtual_dsetname(dcpl_id, curr_vmap, dsetname, sizeof(dsetname));
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s", VDS_SRC_FILE, h5tools_dump_header_format->virtualfilenamebegin);
- h5tools_str_append(&buffer, "%s", name);
- h5tools_str_append(&buffer, "%s", h5tools_dump_header_format->virtualfilenameend);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s %s", VDS_SRC_FILE,
+ h5tools_dump_header_format->virtualfilenamebegin);
+ h5tools_str_append(&buffer, "%s", name);
+ h5tools_str_append(&buffer, "%s", h5tools_dump_header_format->virtualfilenameend);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s", VDS_SRC_DATASET, h5tools_dump_header_format->virtualdatasetnamebegin);
- h5tools_str_append(&buffer, "%s", dsetname);
- h5tools_str_append(&buffer, "%s", h5tools_dump_header_format->virtualdatasetnameend);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s %s", VDS_SRC_DATASET,
+ h5tools_dump_header_format->virtualdatasetnamebegin);
+ h5tools_str_append(&buffer, "%s", dsetname);
+ h5tools_str_append(&buffer, "%s", h5tools_dump_header_format->virtualdatasetnameend);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- h5tools_print_virtual_selection(virtual_srcspace, stream, info, ctx, &buffer, &curr_pos, (size_t) ncols);
+ h5tools_print_virtual_selection(virtual_srcspace, stream, info, ctx, &buffer, &curr_pos,
+ (size_t)ncols);
- ctx->indent_level--;
+ ctx->indent_level--;
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s", END);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s", END);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
- ctx->indent_level--;
+ ctx->indent_level--;
- ctx->need_prefix = TRUE;
+ ctx->need_prefix = TRUE;
- h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s", END);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
- }
- ctx->indent_level--;
+ h5tools_str_reset(&buffer);
+ h5tools_str_append(&buffer, "%s", END);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
}
+ ctx->indent_level--;
}
- break;
+ } break;
case H5D_LAYOUT_ERROR:
case H5D_NLAYOUTS:
default:
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "%s", "Unknown layout");
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0);
- }/*switch*/
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
+ } /*switch*/
ctx->need_prefix = TRUE;
@@ -3413,9 +3463,9 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
/*-------------------------------------------------------------------------
- * FILTERS
- *-------------------------------------------------------------------------
- */
+ * FILTERS
+ *-------------------------------------------------------------------------
+ */
if (H5D_VIRTUAL != stl) {
ctx->need_prefix = TRUE;
@@ -3425,37 +3475,43 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
ctx->indent_level++;
- if(nfilters) {
- for(i = 0; i < nfilters; i++) {
+ if (nfilters) {
+ for (i = 0; i < nfilters; i++) {
cd_nelmts = NELMTS(cd_values);
- filtn = H5Pget_filter2(dcpl_id, (unsigned)i, &filt_flags, &cd_nelmts,
- cd_values, sizeof(f_name), f_name, NULL);
+ filtn = H5Pget_filter2(dcpl_id, (unsigned)i, &filt_flags, &cd_nelmts, cd_values,
+ sizeof(f_name), f_name, NULL);
- if(filtn < 0)
+ if (filtn < 0)
continue; /* nothing to print for invalid filter */
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- switch(filtn) {
+ switch (filtn) {
case H5Z_FILTER_DEFLATE:
- h5tools_str_append(&buffer, "%s %s %s %d %s", DEFLATE, BEGIN, DEFLATE_LEVEL, cd_values[0], END);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_str_append(&buffer, "%s %s %s %d %s", DEFLATE, BEGIN, DEFLATE_LEVEL,
+ cd_values[0], END);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
break;
case H5Z_FILTER_SHUFFLE:
h5tools_str_append(&buffer, "%s", SHUFFLE);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
break;
case H5Z_FILTER_FLETCHER32:
h5tools_str_append(&buffer, "%s", FLETCHER32);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
break;
case H5Z_FILTER_SZIP:
- szip_options_mask = cd_values[0];;
+ szip_options_mask = cd_values[0];
+ ;
szip_pixels_per_block = cd_values[1];
h5tools_str_append(&buffer, "%s %s", SZIP, BEGIN);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
ctx->indent_level++;
@@ -3463,41 +3519,46 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "PIXELS_PER_BLOCK %d", szip_pixels_per_block);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- if(szip_options_mask & H5_SZIP_CHIP_OPTION_MASK)
+ if (szip_options_mask & H5_SZIP_CHIP_OPTION_MASK)
h5tools_str_append(&buffer, "MODE %s", "HARDWARE");
- else if(szip_options_mask & H5_SZIP_ALLOW_K13_OPTION_MASK)
+ else if (szip_options_mask & H5_SZIP_ALLOW_K13_OPTION_MASK)
h5tools_str_append(&buffer, "MODE %s", "K13");
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- if(szip_options_mask & H5_SZIP_EC_OPTION_MASK)
+ if (szip_options_mask & H5_SZIP_EC_OPTION_MASK)
h5tools_str_append(&buffer, "CODING %s", "ENTROPY");
- else if(szip_options_mask & H5_SZIP_NN_OPTION_MASK)
+ else if (szip_options_mask & H5_SZIP_NN_OPTION_MASK)
h5tools_str_append(&buffer, "CODING %s", "NEAREST NEIGHBOUR");
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- if(szip_options_mask & H5_SZIP_LSB_OPTION_MASK)
+ if (szip_options_mask & H5_SZIP_LSB_OPTION_MASK)
h5tools_str_append(&buffer, "BYTE_ORDER %s", "LSB");
- else if(szip_options_mask & H5_SZIP_MSB_OPTION_MASK)
+ else if (szip_options_mask & H5_SZIP_MSB_OPTION_MASK)
h5tools_str_append(&buffer, "BYTE_ORDER %s", "MSB");
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
- if(szip_options_mask & H5_SZIP_RAW_OPTION_MASK) {
+ if (szip_options_mask & H5_SZIP_RAW_OPTION_MASK) {
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "HEADER %s", "RAW");
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
}
ctx->indent_level--;
@@ -3506,19 +3567,24 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "%s", END);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
break;
case H5Z_FILTER_NBIT:
h5tools_str_append(&buffer, "%s", NBIT);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
break;
case H5Z_FILTER_SCALEOFFSET:
- h5tools_str_append(&buffer, "%s %s %s %d %s", SCALEOFFSET, BEGIN, SCALEOFFSET_MINBIT, cd_values[0], END);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_str_append(&buffer, "%s %s %s %d %s", SCALEOFFSET, BEGIN, SCALEOFFSET_MINBIT,
+ cd_values[0], END);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
break;
default:
h5tools_str_append(&buffer, "%s %s", "USER_DEFINED_FILTER", BEGIN);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
ctx->indent_level++;
@@ -3526,56 +3592,61 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "FILTER_ID %d", filtn);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
- if(f_name[0] != '\0') {
+ if (f_name[0] != '\0') {
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "COMMENT %s", f_name);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
}
if (cd_nelmts) {
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s ","PARAMS", BEGIN);
- for (j=0; j<cd_nelmts; j++)
+ h5tools_str_append(&buffer, "%s %s ", "PARAMS", BEGIN);
+ for (j = 0; j < cd_nelmts; j++)
h5tools_str_append(&buffer, "%d ", cd_values[j]);
h5tools_str_append(&buffer, "%s", END);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
}
ctx->indent_level--;
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s",END);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_str_append(&buffer, "%s", END);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
break;
- }/*switch*/
- } /*i*/
- }/*nfilters*/
+ } /*switch*/
+ } /*i*/
+ } /*nfilters*/
else {
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "NONE");
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
}
ctx->indent_level--;
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s",END);
+ h5tools_str_append(&buffer, "%s", END);
h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
} /* end if (H5D_VIRTUAL != stl) */
/*-------------------------------------------------------------------------
- * FILLVALUE
- *-------------------------------------------------------------------------
- */
+ * FILLVALUE
+ *-------------------------------------------------------------------------
+ */
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
@@ -3590,7 +3661,7 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
h5tools_str_append(&buffer, "FILL_TIME ");
H5Pget_fill_time(dcpl_id, &ft);
- switch(ft) {
+ switch (ft) {
case H5D_FILL_TIME_ALLOC:
h5tools_str_append(&buffer, "%s", "H5D_FILL_TIME_ALLOC");
break;
@@ -3639,9 +3710,9 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
/*-------------------------------------------------------------------------
- * ALLOCATION_TIME
- *-------------------------------------------------------------------------
- */
+ * ALLOCATION_TIME
+ *-------------------------------------------------------------------------
+ */
if (H5D_VIRTUAL != stl) {
ctx->need_prefix = TRUE;
@@ -3655,7 +3726,7 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
h5tools_str_reset(&buffer);
H5Pget_alloc_time(dcpl_id, &at);
- switch(at) {
+ switch (at) {
case H5D_ALLOC_TIME_EARLY:
h5tools_str_append(&buffer, "%s", "H5D_ALLOC_TIME_EARLY");
break;
@@ -3696,16 +3767,16 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
void
h5tools_dump_comment(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t obj_id)
{
- char *comment = NULL;
+ char * comment = NULL;
ssize_t cmt_bufsize = -1;
- size_t buf_size = 0;
- size_t ncols = 80; /* available output width */
- h5tools_str_t buffer; /* string into which to render */
- hsize_t curr_pos = ctx->sm_pos; /* total data element position */
- /* pass to the prefix in h5tools_simple_prefix the total position
- * instead of the current stripmine position i; this is necessary
- * to print the array indices
- */
+ size_t buf_size = 0;
+ size_t ncols = 80; /* available output width */
+ h5tools_str_t buffer; /* string into which to render */
+ hsize_t curr_pos = ctx->sm_pos; /* total data element position */
+ /* pass to the prefix in h5tools_simple_prefix the total position
+ * instead of the current stripmine position i; this is necessary
+ * to print the array indices
+ */
hbool_t supported = FALSE;
/* Check if comments are supported and return if not */
@@ -3724,17 +3795,18 @@ h5tools_dump_comment(FILE *stream, const h5tool_format_t *info, h5tools_context_
/* call H5Oget_comment again with the correct value */
if (cmt_bufsize > 0) {
- comment = (char *)HDmalloc((size_t)(cmt_bufsize+1)); /* new_size including null terminator */
- if(comment) {
+ comment = (char *)HDmalloc((size_t)(cmt_bufsize + 1)); /* new_size including null terminator */
+ if (comment) {
cmt_bufsize = H5Oget_comment(obj_id, comment, (size_t)cmt_bufsize);
- if(cmt_bufsize > 0) {
+ if (cmt_bufsize > 0) {
comment[cmt_bufsize] = '\0'; /* necessary because null char is not returned */
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "COMMENT \"%s\"", comment);
- h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
h5tools_str_close(&buffer);
}
@@ -3754,15 +3826,16 @@ h5tools_dump_comment(FILE *stream, const h5tool_format_t *info, h5tools_context_
*-------------------------------------------------------------------------
*/
void
-h5tools_dump_attribute(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, const char *attr_name, hid_t attr_id)
+h5tools_dump_attribute(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
+ const char *attr_name, hid_t attr_id)
{
- h5tools_str_t buffer; /* string into which to render */
- size_t ncols = 80; /* available output width */
- hsize_t curr_pos = ctx->sm_pos; /* total data element position */
- /* pass to the prefix in h5tools_simple_prefix the total position
- * instead of the current stripmine position i; this is necessary
- * to print the array indices
- */
+ h5tools_str_t buffer; /* string into which to render */
+ size_t ncols = 80; /* available output width */
+ hsize_t curr_pos = ctx->sm_pos; /* total data element position */
+ /* pass to the prefix in h5tools_simple_prefix the total position
+ * instead of the current stripmine position i; this is necessary
+ * to print the array indices
+ */
/* setup */
HDmemset(&buffer, 0, sizeof(h5tools_str_t));
@@ -3773,16 +3846,15 @@ h5tools_dump_attribute(FILE *stream, const h5tool_format_t *info, h5tools_contex
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s \"%s\" %s",
- h5tools_dump_header_format->attributebegin, attr_name,
- h5tools_dump_header_format->attributeblockbegin);
+ h5tools_str_append(&buffer, "%s \"%s\" %s", h5tools_dump_header_format->attributebegin, attr_name,
+ h5tools_dump_header_format->attributeblockbegin);
h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
- if(attr_id < 0) {
+ if (attr_id < 0) {
error_msg("unable to open attribute \"%s\"\n", attr_name);
}
else {
- hid_t type = H5I_INVALID_HID;
+ hid_t type = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
ctx->indent_level++;
@@ -3793,10 +3865,10 @@ h5tools_dump_attribute(FILE *stream, const h5tool_format_t *info, h5tools_contex
space = H5Aget_space(attr_id);
h5tools_dump_dataspace(stream, info, ctx, space);
- if(oid_output)
+ if (oid_output)
h5tools_dump_oid(stream, info, ctx, attr_id);
- if(data_output || attr_data_output)
+ if (data_output || attr_data_output)
h5tools_dump_data(stream, info, ctx, attr_id, FALSE);
ctx->indent_level--;
@@ -3856,38 +3928,40 @@ void
h5tools_print_packed_bits(h5tools_str_t *buffer, hid_t type)
{
unsigned packed_bits_size = 0;
- hid_t n_type = H5Tget_native_type(type, H5T_DIR_DEFAULT);
+ hid_t n_type = H5Tget_native_type(type, H5T_DIR_DEFAULT);
- if(H5Tget_class(n_type) == H5T_INTEGER) {
- if(H5Tequal(n_type, H5T_NATIVE_SCHAR) == TRUE)
+ if (H5Tget_class(n_type) == H5T_INTEGER) {
+ if (H5Tequal(n_type, H5T_NATIVE_SCHAR) == TRUE)
packed_bits_size = 8 * sizeof(char);
- else if(H5Tequal(n_type, H5T_NATIVE_UCHAR) == TRUE)
+ else if (H5Tequal(n_type, H5T_NATIVE_UCHAR) == TRUE)
packed_bits_size = 8 * sizeof(unsigned char);
- else if(H5Tequal(n_type, H5T_NATIVE_SHORT) == TRUE)
+ else if (H5Tequal(n_type, H5T_NATIVE_SHORT) == TRUE)
packed_bits_size = 8 * sizeof(short);
- else if(H5Tequal(n_type, H5T_NATIVE_USHORT) == TRUE)
+ else if (H5Tequal(n_type, H5T_NATIVE_USHORT) == TRUE)
packed_bits_size = 8 * sizeof(unsigned short);
- else if(H5Tequal(n_type, H5T_NATIVE_INT) == TRUE)
+ else if (H5Tequal(n_type, H5T_NATIVE_INT) == TRUE)
packed_bits_size = 8 * sizeof(int);
- else if(H5Tequal(n_type, H5T_NATIVE_UINT) == TRUE)
+ else if (H5Tequal(n_type, H5T_NATIVE_UINT) == TRUE)
packed_bits_size = 8 * sizeof(unsigned int);
- else if(H5Tequal(n_type, H5T_NATIVE_LONG) == TRUE)
+ else if (H5Tequal(n_type, H5T_NATIVE_LONG) == TRUE)
packed_bits_size = 8 * sizeof(long);
- else if(H5Tequal(n_type, H5T_NATIVE_ULONG) == TRUE)
+ else if (H5Tequal(n_type, H5T_NATIVE_ULONG) == TRUE)
packed_bits_size = 8 * sizeof(unsigned long);
- else if(H5Tequal(n_type, H5T_NATIVE_LLONG) == TRUE)
+ else if (H5Tequal(n_type, H5T_NATIVE_LLONG) == TRUE)
packed_bits_size = 8 * sizeof(long long);
- else if(H5Tequal(n_type, H5T_NATIVE_ULLONG) == TRUE)
+ else if (H5Tequal(n_type, H5T_NATIVE_ULLONG) == TRUE)
packed_bits_size = 8 * sizeof(unsigned long long);
else
error_msg("Packed Bit not valid for this datatype");
}
- if((packed_bits_size > 0) && (packed_data_offset + packed_data_length) > packed_bits_size) {
- error_msg("Packed Bit offset+length value(%u) too large. Max is %d\n", packed_data_offset + packed_data_length, packed_bits_size);
+ if ((packed_bits_size > 0) && (packed_data_offset + packed_data_length) > packed_bits_size) {
+ error_msg("Packed Bit offset+length value(%u) too large. Max is %d\n",
+ packed_data_offset + packed_data_length, packed_bits_size);
packed_data_mask = 0;
};
- h5tools_str_append(buffer, "%s %s=%u %s=%u", PACKED_BITS, PACKED_OFFSET, packed_data_offset, PACKED_LENGTH, packed_data_length);
+ h5tools_str_append(buffer, "%s %s=%u %s=%u", PACKED_BITS, PACKED_OFFSET, packed_data_offset,
+ PACKED_LENGTH, packed_data_length);
}
/*-------------------------------------------------------------------------
@@ -3901,9 +3975,9 @@ h5tools_print_packed_bits(h5tools_str_t *buffer, hid_t type)
void
h5tools_dump_subsetting_header(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, int dims)
{
- h5tools_str_t buffer; /* string into which to render */
- hsize_t curr_pos = 0; /* total data element position */
- size_t ncols = 80; /* available output width */
+ h5tools_str_t buffer; /* string into which to render */
+ hsize_t curr_pos = 0; /* total data element position */
+ size_t ncols = 80; /* available output width */
/* setup */
HDmemset(&buffer, 0, sizeof(h5tools_str_t));
@@ -3913,7 +3987,8 @@ h5tools_dump_subsetting_header(FILE *stream, const h5tool_format_t *info, h5tool
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->subsettingbegin, h5tools_dump_header_format->subsettingblockbegin);
+ h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->subsettingbegin,
+ h5tools_dump_header_format->subsettingblockbegin);
h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
ctx->indent_level++;
@@ -3921,43 +3996,51 @@ h5tools_dump_subsetting_header(FILE *stream, const h5tool_format_t *info, h5tool
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s ", h5tools_dump_header_format->startbegin, h5tools_dump_header_format->startblockbegin);
+ h5tools_str_append(&buffer, "%s %s ", h5tools_dump_header_format->startbegin,
+ h5tools_dump_header_format->startblockbegin);
h5tools_print_dims(&buffer, ctx->sset->start.data, dims);
- h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->startend, h5tools_dump_header_format->startblockend);
+ h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->startend,
+ h5tools_dump_header_format->startblockend);
h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s ", h5tools_dump_header_format->stridebegin, h5tools_dump_header_format->strideblockbegin);
+ h5tools_str_append(&buffer, "%s %s ", h5tools_dump_header_format->stridebegin,
+ h5tools_dump_header_format->strideblockbegin);
h5tools_print_dims(&buffer, ctx->sset->stride.data, dims);
- h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->strideend, h5tools_dump_header_format->strideblockend);
+ h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->strideend,
+ h5tools_dump_header_format->strideblockend);
h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s ", h5tools_dump_header_format->countbegin, h5tools_dump_header_format->countblockbegin);
+ h5tools_str_append(&buffer, "%s %s ", h5tools_dump_header_format->countbegin,
+ h5tools_dump_header_format->countblockbegin);
- if(ctx->sset->count.data)
+ if (ctx->sset->count.data)
h5tools_print_dims(&buffer, ctx->sset->count.data, dims);
else
h5tools_str_append(&buffer, "DEFAULT");
- h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->countend, h5tools_dump_header_format->countblockend);
+ h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->countend,
+ h5tools_dump_header_format->countblockend);
h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s ", h5tools_dump_header_format->blockbegin, h5tools_dump_header_format->blockblockbegin);
+ h5tools_str_append(&buffer, "%s %s ", h5tools_dump_header_format->blockbegin,
+ h5tools_dump_header_format->blockblockbegin);
- if(ctx->sset->block.data)
+ if (ctx->sset->block.data)
h5tools_print_dims(&buffer, ctx->sset->block.data, dims);
else
h5tools_str_append(&buffer, "DEFAULT");
- h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->blockend, h5tools_dump_header_format->blockblockend);
+ h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->blockend,
+ h5tools_dump_header_format->blockblockend);
h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
ctx->indent_level--;
@@ -3974,27 +4057,28 @@ h5tools_dump_subsetting_header(FILE *stream, const h5tool_format_t *info, h5tool
*-------------------------------------------------------------------------
*/
void
-h5tools_dump_reference(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t container, H5R_ref_t *ref_buf, int ndims)
+h5tools_dump_reference(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t container,
+ H5R_ref_t *ref_buf, int ndims)
{
- hid_t new_obj_id = H5I_INVALID_HID;
- hid_t new_obj_sid = H5I_INVALID_HID;
- hsize_t elmt_counter = 0; /*counts the # elements printed. */
- size_t ncols = 80; /* available output width */
- int i;
- hsize_t curr_pos = 0; /* total data element position */
- h5tools_str_t buffer; /* string into which to render */
- h5tools_context_t datactx; /* print context */
+ hid_t new_obj_id = H5I_INVALID_HID;
+ hid_t new_obj_sid = H5I_INVALID_HID;
+ hsize_t elmt_counter = 0; /*counts the # elements printed. */
+ size_t ncols = 80; /* available output width */
+ int i;
+ hsize_t curr_pos = 0; /* total data element position */
+ h5tools_str_t buffer; /* string into which to render */
+ h5tools_context_t datactx; /* print context */
H5TOOLS_START_DEBUG("");
- datactx = *ctx; /* print context */
+ datactx = *ctx; /* print context */
/* Assume entire data space to be printed */
datactx.need_prefix = TRUE;
HDmemset(&buffer, 0, sizeof(h5tools_str_t));
- for(i = 0; i < ndims; i++, datactx.cur_elmt++, elmt_counter++) {
- H5O_type_t obj_type = -1; /* Object type */
- H5R_type_t ref_type; /* Reference type */
+ for (i = 0; i < ndims; i++, datactx.cur_elmt++, elmt_counter++) {
+ H5O_type_t obj_type = -1; /* Object type */
+ H5R_type_t ref_type; /* Reference type */
H5TOOLS_DEBUG("reference loop:%d with curr_pos=%ld", i, curr_pos);
@@ -4002,7 +4086,8 @@ h5tools_dump_reference(FILE *stream, const h5tool_format_t *info, h5tools_contex
h5tools_str_reset(&buffer);
H5TOOLS_DEBUG("reference loop - h5tools_str_sprint with H5T_STD_REF:%d", i);
h5tools_str_sprint(&buffer, info, container, H5T_STD_REF, &ref_buf[i], &datactx);
- h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)i, (hsize_t)ndims);
+ h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)i,
+ (hsize_t)ndims);
ref_type = H5Rget_type((const H5R_ref_t *)&ref_buf[i]);
switch (ref_type) {
@@ -4011,12 +4096,12 @@ h5tools_dump_reference(FILE *stream, const h5tool_format_t *info, h5tools_contex
if (H5Rget_obj_type3(&ref_buf[i], H5P_DEFAULT, &obj_type) >= 0) {
switch (obj_type) {
case H5O_TYPE_DATASET:
- if((new_obj_id = H5Ropen_object(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((new_obj_id = H5Ropen_object(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
datactx.indent_level++;
h5tools_dump_data(stream, info, &datactx, new_obj_id, TRUE);
- //h5tools_dump_dset(stream, info, &datactx, new_obj_id);
+ // h5tools_dump_dset(stream, info, &datactx, new_obj_id);
datactx.indent_level--;
- if(H5Dclose(new_obj_id) < 0)
+ if (H5Dclose(new_obj_id) < 0)
H5TOOLS_INFO("H5Dclose H5R_OBJECT1:H5O_TYPE_DATASET failed");
}
else
@@ -4037,12 +4122,12 @@ h5tools_dump_reference(FILE *stream, const h5tool_format_t *info, h5tools_contex
break;
case H5R_DATASET_REGION1:
H5TOOLS_DEBUG("ref_type is H5R_DATASET_REGION1");
- if((new_obj_id = H5Ropen_object(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((new_obj_id = H5Ropen_object(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
datactx.indent_level++;
h5tools_dump_data(stream, info, &datactx, new_obj_id, TRUE);
- //h5tools_dump_dset(stream, info, &datactx, new_obj_id);
+ // h5tools_dump_dset(stream, info, &datactx, new_obj_id);
datactx.indent_level--;
- if(H5Dclose(new_obj_id) < 0)
+ if (H5Dclose(new_obj_id) < 0)
H5TOOLS_INFO("H5Dclose H5R_DATASET_REGION1 failed");
}
else
@@ -4056,12 +4141,12 @@ h5tools_dump_reference(FILE *stream, const h5tool_format_t *info, h5tools_contex
break;
case H5O_TYPE_DATASET:
- if((new_obj_id = H5Ropen_object(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((new_obj_id = H5Ropen_object(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
datactx.indent_level++;
h5tools_dump_data(stream, info, &datactx, new_obj_id, TRUE);
- //h5tools_dump_dset(stream, info, &datactx, new_obj_id);
+ // h5tools_dump_dset(stream, info, &datactx, new_obj_id);
datactx.indent_level--;
- if(H5Oclose(new_obj_id) < 0)
+ if (H5Oclose(new_obj_id) < 0)
H5TOOLS_INFO("H5Oclose H5R_OBJECT2 failed");
}
else
@@ -4088,62 +4173,68 @@ h5tools_dump_reference(FILE *stream, const h5tool_format_t *info, h5tools_contex
ncols = info->line_ncols;
/* if (new_obj_id < 0) - could mean that no reference was written do not throw failure */
- if((new_obj_id = H5Ropen_object(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if ((new_obj_id = H5Ropen_object(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) < 0)
H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION2 failed");
else {
- if((new_obj_sid = H5Ropen_region(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((new_obj_sid = H5Ropen_region(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
if (h5tools_is_zero(&ref_buf[i], H5Tget_size(H5T_STD_REF))) {
H5TOOLS_DEBUG("NULL H5R_DATASET_REGION2");
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, " {");
- h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
datactx.need_prefix = TRUE;
datactx.indent_level++;
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "NULL");
- h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
datactx.indent_level--;
datactx.need_prefix = TRUE;
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "}");
- h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
}
else {
H5S_sel_type region_type;
region_type = H5Sget_select_type(new_obj_sid);
- if(region_type == H5S_SEL_POINTS) {
+ if (region_type == H5S_SEL_POINTS) {
/* Print point information */
H5TOOLS_DEBUG("H5S_SEL_POINTS H5R_DATASET_REGION2");
- h5tools_dump_region_data_points(new_obj_sid, new_obj_id, stream, info, &datactx,
- &buffer, &curr_pos, ncols, (hsize_t)i, elmt_counter);
+ h5tools_dump_region_data_points(new_obj_sid, new_obj_id, stream, info,
+ &datactx, &buffer, &curr_pos, ncols,
+ (hsize_t)i, elmt_counter);
}
- else if(region_type == H5S_SEL_HYPERSLABS) {
+ else if (region_type == H5S_SEL_HYPERSLABS) {
/* Print block information */
H5TOOLS_DEBUG("H5S_SEL_HYPERSLABS H5R_DATASET_REGION2");
- h5tools_dump_region_data_blocks(new_obj_sid, new_obj_id, stream, info, &datactx,
- &buffer, &curr_pos, ncols, (hsize_t)i, elmt_counter);
+ h5tools_dump_region_data_blocks(new_obj_sid, new_obj_id, stream, info,
+ &datactx, &buffer, &curr_pos, ncols,
+ (hsize_t)i, elmt_counter);
}
else
H5TOOLS_INFO("invalid region type");
} /* end else to if (h5tools_is_zero(... */
- if(H5Sclose(new_obj_sid) < 0)
+ if (H5Sclose(new_obj_sid) < 0)
H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION2 failed");
}
else
H5TOOLS_INFO("H5Ropen_region H5R_DATASET_REGION2 failed");
- if(H5Dclose(new_obj_id) < 0)
+ if (H5Dclose(new_obj_id) < 0)
H5TOOLS_INFO("H5Dclose H5R_DATASET_REGION2 failed");
}
break;
case H5R_ATTR:
H5TOOLS_DEBUG("ref_type is H5R_ATTR");
- if((new_obj_id = H5Ropen_attr(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- h5tools_dump_region_attribute(new_obj_id, stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
- if(H5Aclose(new_obj_id) < 0)
+ if ((new_obj_id = H5Ropen_attr(&ref_buf[i], H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ h5tools_dump_region_attribute(new_obj_id, stream, info, &datactx, &buffer, &curr_pos,
+ (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ if (H5Aclose(new_obj_id) < 0)
H5TOOLS_INFO("H5Aclose H5R_ATTR failed");
}
else {
@@ -4151,19 +4242,22 @@ h5tools_dump_reference(FILE *stream, const h5tool_format_t *info, h5tools_contex
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, " {");
- h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
datactx.need_prefix = TRUE;
datactx.indent_level++;
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "NULL");
- h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
datactx.indent_level--;
datactx.need_prefix = TRUE;
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "}");
- h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, info, &datactx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
H5TOOLS_INFO("H5Ropen_attr H5R_ATTR failed");
}
@@ -4174,10 +4268,10 @@ h5tools_dump_reference(FILE *stream, const h5tool_format_t *info, h5tools_contex
break;
} /* end switch */
- if(H5Rdestroy(&ref_buf[i]) < 0)
+ if (H5Rdestroy(&ref_buf[i]) < 0)
H5TOOLS_INFO("H5Rdestroy failed");
- H5TOOLS_DEBUG("finished reference loop:%d",i);
+ H5TOOLS_DEBUG("finished reference loop:%d", i);
} /* end for(i = 0; i < ndims; i++, ctx->cur_elmt++, elmt_counter++) */
h5tools_str_close(&buffer);
@@ -4194,43 +4288,44 @@ h5tools_dump_reference(FILE *stream, const h5tool_format_t *info, h5tools_contex
*-------------------------------------------------------------------------
*/
void
-h5tools_dump_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t obj_id, int obj_data)
+h5tools_dump_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx, hid_t obj_id,
+ int obj_data)
{
- H5S_class_t space_type;
- int ndims;
- hid_t space = H5I_INVALID_HID;
- hid_t f_type = H5I_INVALID_HID;
- hsize_t total_size[H5S_MAX_RANK];
- int status = -1;
- h5tools_context_t datactx; /* print context */
- h5tools_str_t buffer; /* string into which to render */
- hsize_t curr_pos = 0; /* total data element position */
- size_t ncols = 80; /* available output width */
- h5tool_format_t string_dataformat;
- h5tool_format_t outputformat;
- H5R_ref_t *ref_buf = NULL;
-
- H5TOOLS_START_DEBUG(" file=%p", (void*)stream);
- H5TOOLS_DEBUG("rawdata file=%p", (void*)rawdatastream);
+ H5S_class_t space_type;
+ int ndims;
+ hid_t space = H5I_INVALID_HID;
+ hid_t f_type = H5I_INVALID_HID;
+ hsize_t total_size[H5S_MAX_RANK];
+ int status = -1;
+ h5tools_context_t datactx; /* print context */
+ h5tools_str_t buffer; /* string into which to render */
+ hsize_t curr_pos = 0; /* total data element position */
+ size_t ncols = 80; /* available output width */
+ h5tool_format_t string_dataformat;
+ h5tool_format_t outputformat;
+ H5R_ref_t * ref_buf = NULL;
+
+ H5TOOLS_START_DEBUG(" file=%p", (void *)stream);
+ H5TOOLS_DEBUG("rawdata file=%p", (void *)rawdatastream);
/* setup */
HDmemset(&buffer, 0, sizeof(h5tools_str_t));
if (info->line_ncols > 0)
ncols = info->line_ncols;
- outputformat = *info;
+ outputformat = *info;
string_dataformat = *info;
/* print the matrix indices */
string_dataformat.pindex = ctx->display_index;
- if(obj_data) {
+ if (obj_data) {
H5TOOLS_DEBUG("dataset");
f_type = H5Dget_type(obj_id);
- space = H5Dget_space(obj_id);
+ space = H5Dget_space(obj_id);
}
else {
H5TOOLS_DEBUG("attribute");
f_type = H5Aget_type(obj_id);
- space = H5Aget_space(obj_id);
+ space = H5Aget_space(obj_id);
}
if (string_dataformat.pindex) {
@@ -4250,14 +4345,17 @@ h5tools_dump_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *
ctx->need_prefix = TRUE;
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->databegin, h5tools_dump_header_format->datablockbegin);
- h5tools_render_element(stream, &outputformat, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_str_append(&buffer, "%s %s", h5tools_dump_header_format->databegin,
+ h5tools_dump_header_format->datablockbegin);
+ h5tools_render_element(stream, &outputformat, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
if (H5Tget_class(f_type) == H5T_REFERENCE) {
ctx->indent_level++;
datactx = *ctx;
H5TOOLS_DEBUG("reference class type");
- if (!H5Tequal(f_type, H5T_STD_REF) && !H5Tequal(f_type, H5T_STD_REF_DSETREG) && !H5Tequal(f_type, H5T_STD_REF_OBJ)) {
+ if (!H5Tequal(f_type, H5T_STD_REF) && !H5Tequal(f_type, H5T_STD_REF_DSETREG) &&
+ !H5Tequal(f_type, H5T_STD_REF_OBJ)) {
H5TOOLS_GOTO_DONE_NO_RET();
}
@@ -4270,7 +4368,8 @@ h5tools_dump_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *
datactx.need_prefix = TRUE;
- if (NULL != (ref_buf = (H5R_ref_t *)HDcalloc(MAX(sizeof(unsigned), sizeof(H5R_ref_t)), (size_t)ndims))) {
+ if (NULL !=
+ (ref_buf = (H5R_ref_t *)HDcalloc(MAX(sizeof(unsigned), sizeof(H5R_ref_t)), (size_t)ndims))) {
if (obj_data) {
if (H5Dread(obj_id, H5T_STD_REF, H5S_ALL, H5S_ALL, H5P_DEFAULT, ref_buf) < 0) {
HDfree(ref_buf);
@@ -4292,43 +4391,43 @@ h5tools_dump_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *
}
else {
H5TOOLS_DEBUG("Print all the values");
- datactx = *ctx;
+ datactx = *ctx;
string_dataformat = *info;
- if((datactx.display_char && H5Tget_size(f_type) == 1) && (H5Tget_class(f_type) == H5T_INTEGER)) {
+ if ((datactx.display_char && H5Tget_size(f_type) == 1) && (H5Tget_class(f_type) == H5T_INTEGER)) {
H5TOOLS_DEBUG("Print 1-byte integer data as an ASCII character string");
/*
- * Print 1-byte integer data as an ASCII character string
- * instead of integers if the `-r' or `--string' command-line
- * option was given.
- *
- * We don't want to modify the global dataformat, so make a
- * copy of it instead.
- */
+ * Print 1-byte integer data as an ASCII character string
+ * instead of integers if the `-r' or `--string' command-line
+ * option was given.
+ *
+ * We don't want to modify the global dataformat, so make a
+ * copy of it instead.
+ */
string_dataformat.idx_fmt = "\"";
datactx.indent_level++;
datactx.need_prefix = TRUE;
h5tools_simple_prefix(stream, &string_dataformat, &datactx, (hsize_t)0, 0);
string_dataformat.line_multi_new = 1;
- string_dataformat.str_repeat = 8;
- string_dataformat.ascii = TRUE;
- string_dataformat.elmt_suf1 = "";
- string_dataformat.elmt_suf2 = "";
- string_dataformat.line_suf = "\"";
+ string_dataformat.str_repeat = 8;
+ string_dataformat.ascii = TRUE;
+ string_dataformat.elmt_suf1 = "";
+ string_dataformat.elmt_suf2 = "";
+ string_dataformat.line_suf = "\"";
}
else {
datactx.need_prefix = TRUE;
}
/* Print all the values. */
- if(obj_data) {
+ if (obj_data) {
H5TOOLS_DEBUG("h5tools_dump_dset");
status = h5tools_dump_dset(stream, &string_dataformat, &datactx, obj_id);
}
else {
/* need to call h5tools_dump_mem for the attribute data */
space_type = H5Sget_simple_extent_type(space);
- if(space_type == H5S_NULL || space_type == H5S_NO_CLASS) {
+ if (space_type == H5S_NULL || space_type == H5S_NO_CLASS) {
status = SUCCEED;
}
else {
@@ -4337,15 +4436,17 @@ h5tools_dump_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *
}
}
if (datactx.display_char && H5Tget_size(f_type) == 1 && H5Tget_class(f_type) == H5T_INTEGER) {
- H5TOOLS_DEBUG("Print 1-byte integer data as an ASCII character string eol=%s",string_dataformat.line_suf);
- datactx.need_prefix = FALSE;
- string_dataformat.arr_linebreak = 0;
- string_dataformat.idx_fmt = "";
+ H5TOOLS_DEBUG("Print 1-byte integer data as an ASCII character string eol=%s",
+ string_dataformat.line_suf);
+ datactx.need_prefix = FALSE;
+ string_dataformat.arr_linebreak = 0;
+ string_dataformat.idx_fmt = "";
string_dataformat.line_multi_new = 0;
- string_dataformat.line_suf = "";
+ string_dataformat.line_suf = "";
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "\"");
- h5tools_render_element(stream, &string_dataformat, &datactx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, &string_dataformat, &datactx, &buffer, &curr_pos, (size_t)ncols,
+ (hsize_t)0, (hsize_t)0);
}
H5TOOLS_DEBUG("Print all the values Complete");
@@ -4362,15 +4463,16 @@ done:
h5tools_simple_prefix(stream, &outputformat, ctx, (hsize_t)0, 0);
h5tools_str_reset(&buffer);
- if(HDstrlen(h5tools_dump_header_format->datablockend)) {
+ if (HDstrlen(h5tools_dump_header_format->datablockend)) {
h5tools_str_append(&buffer, "%s", h5tools_dump_header_format->datablockend);
- if(HDstrlen(h5tools_dump_header_format->dataend))
+ if (HDstrlen(h5tools_dump_header_format->dataend))
h5tools_str_append(&buffer, " ");
}
- if(HDstrlen(h5tools_dump_header_format->dataend))
+ if (HDstrlen(h5tools_dump_header_format->dataend))
h5tools_str_append(&buffer, "%s", h5tools_dump_header_format->dataend);
- h5tools_render_element(stream, &outputformat, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, &outputformat, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
if (ctx->sset && obj_data) {
ctx->indent_level--;
@@ -4379,17 +4481,17 @@ done:
h5tools_simple_prefix(stream, &outputformat, ctx, (hsize_t)0, 0);
h5tools_str_reset(&buffer);
- if(HDstrlen(h5tools_dump_header_format->subsettingblockend)) {
+ if (HDstrlen(h5tools_dump_header_format->subsettingblockend)) {
h5tools_str_append(&buffer, "%s", h5tools_dump_header_format->subsettingblockend);
- if(HDstrlen(h5tools_dump_header_format->subsettingend))
+ if (HDstrlen(h5tools_dump_header_format->subsettingend))
h5tools_str_append(&buffer, " ");
}
- if(HDstrlen(h5tools_dump_header_format->subsettingend))
+ if (HDstrlen(h5tools_dump_header_format->subsettingend))
h5tools_str_append(&buffer, "%s", h5tools_dump_header_format->subsettingend);
- h5tools_render_element(stream, &outputformat, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
+ h5tools_render_element(stream, &outputformat, ctx, &buffer, &curr_pos, (size_t)ncols, (hsize_t)0,
+ (hsize_t)0);
}
h5tools_str_close(&buffer);
H5TOOLS_ENDDEBUG("");
}
-
diff --git a/tools/lib/h5tools_dump.h b/tools/lib/h5tools_dump.h
index add2e46..6383872 100644
--- a/tools/lib/h5tools_dump.h
+++ b/tools/lib/h5tools_dump.h
@@ -23,69 +23,75 @@
Note: these are defined in H5Zprivate, they are
duplicated here.
*/
-#define H5_SZIP_LSB_OPTION_MASK 8
-#define H5_SZIP_MSB_OPTION_MASK 16
-#define H5_SZIP_RAW_OPTION_MASK 128
+#define H5_SZIP_LSB_OPTION_MASK 8
+#define H5_SZIP_MSB_OPTION_MASK 16
+#define H5_SZIP_RAW_OPTION_MASK 128
#ifdef __cplusplus
extern "C" {
#endif
-H5TOOLS_DLLVAR table_t *h5dump_type_table; /*type table reference for datatype dump */
+H5TOOLS_DLLVAR table_t *h5dump_type_table; /*type table reference for datatype dump */
/* Definitions of useful routines */
-H5TOOLS_DLL void h5tools_dump_init(void);
+H5TOOLS_DLL void h5tools_dump_init(void);
-H5TOOLS_DLL int h5tools_dump_dset(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- hid_t dset);
-H5TOOLS_DLL int h5tools_dump_mem(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- hid_t obj_id);
-H5TOOLS_DLL int h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- hid_t container, unsigned flags, hsize_t nelmts, hid_t type, void *_mem);
-H5TOOLS_DLL void h5tools_dump_datatype(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- hid_t type);
-H5TOOLS_DLL void h5tools_dump_dataspace(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- hid_t space);
-H5TOOLS_DLL void h5tools_dump_attribute(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- const char *attr_name, hid_t attr_id);
-H5TOOLS_DLL void h5tools_dump_oid(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- hid_t oid);
-H5TOOLS_DLL void h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- hid_t dcpl, hid_t type_id, hid_t obj_id);
-H5TOOLS_DLL void h5tools_dump_comment(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- hid_t obj_id);
+H5TOOLS_DLL int h5tools_dump_dset(FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, hid_t dset);
+H5TOOLS_DLL int h5tools_dump_mem(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx /*in,out*/,
+ hid_t obj_id);
+H5TOOLS_DLL int h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, hid_t container, unsigned flags,
+ hsize_t nelmts, hid_t type, void *_mem);
+H5TOOLS_DLL void h5tools_dump_datatype(FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, hid_t type);
+H5TOOLS_DLL void h5tools_dump_dataspace(FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, hid_t space);
+H5TOOLS_DLL void h5tools_dump_attribute(FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, const char *attr_name,
+ hid_t attr_id);
+H5TOOLS_DLL void h5tools_dump_oid(FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, hid_t oid);
+H5TOOLS_DLL void h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, hid_t dcpl, hid_t type_id,
+ hid_t obj_id);
+H5TOOLS_DLL void h5tools_dump_comment(FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, hid_t obj_id);
H5TOOLS_DLL void h5tools_dump_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- hid_t obj_id, int obj_data);
+ hid_t obj_id, int obj_data);
H5TOOLS_DLL void h5tools_dump_reference(FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx,
- hid_t container, H5R_ref_t *ref_buf, int ndims);
-H5TOOLS_DLL hbool_t h5tools_dump_region_attribute(hid_t region_id,
- FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- h5tools_str_t *buffer, hsize_t *curr_pos, size_t ncols, hsize_t region_elmt_counter, hsize_t elmt_counter);
+ hid_t container, H5R_ref_t *ref_buf, int ndims);
+H5TOOLS_DLL hbool_t h5tools_dump_region_attribute(hid_t region_id, FILE *stream, const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, h5tools_str_t *buffer,
+ hsize_t *curr_pos, size_t ncols,
+ hsize_t region_elmt_counter, hsize_t elmt_counter);
-H5TOOLS_DLL hbool_t h5tools_dump_region_data_points(hid_t region_space, hid_t region_id,
- FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- h5tools_str_t *buffer, hsize_t *curr_pos, size_t ncols, hsize_t region_elmt_counter, hsize_t elmt_counter);
+H5TOOLS_DLL hbool_t h5tools_dump_region_data_points(hid_t region_space, hid_t region_id, FILE *stream,
+ const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, h5tools_str_t *buffer,
+ hsize_t *curr_pos, size_t ncols,
+ hsize_t region_elmt_counter, hsize_t elmt_counter);
-H5TOOLS_DLL hbool_t h5tools_dump_region_data_blocks(hid_t region_space, hid_t region_id,
- FILE *stream, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- h5tools_str_t *buffer, hsize_t *curr_pos, size_t ncols, hsize_t region_elmt_counter, hsize_t elmt_counter);
+H5TOOLS_DLL hbool_t h5tools_dump_region_data_blocks(hid_t region_space, hid_t region_id, FILE *stream,
+ const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, h5tools_str_t *buffer,
+ hsize_t *curr_pos, size_t ncols,
+ hsize_t region_elmt_counter, hsize_t elmt_counter);
-H5TOOLS_DLL int h5tools_print_datatype(FILE *stream,
- h5tools_str_t *buffer/*in,out*/, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- hid_t type, int object_search);
-H5TOOLS_DLL int h5tools_print_dataspace(h5tools_str_t *buffer/*in,out*/,
- hid_t space);
-H5TOOLS_DLL int h5tools_print_enum(FILE *stream,
- h5tools_str_t *buffer/*in,out*/, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- hid_t type);
-H5TOOLS_DLL void h5tools_print_fill_value(
- h5tools_str_t *buffer/*in,out*/, const h5tool_format_t *info, h5tools_context_t *ctx/*in,out*/,
- hid_t dcpl, hid_t type_id, hid_t obj_id);
-H5TOOLS_DLL void h5tools_print_packed_bits(h5tools_str_t *buffer/*in,out*/, hid_t type);
+H5TOOLS_DLL int h5tools_print_datatype(FILE *stream, h5tools_str_t *buffer /*in,out*/,
+ const h5tool_format_t *info, h5tools_context_t *ctx /*in,out*/,
+ hid_t type, int object_search);
+H5TOOLS_DLL int h5tools_print_dataspace(h5tools_str_t *buffer /*in,out*/, hid_t space);
+H5TOOLS_DLL int h5tools_print_enum(FILE *stream, h5tools_str_t *buffer /*in,out*/,
+ const h5tool_format_t *info, h5tools_context_t *ctx /*in,out*/,
+ hid_t type);
+H5TOOLS_DLL void h5tools_print_fill_value(h5tools_str_t *buffer /*in,out*/, const h5tool_format_t *info,
+ h5tools_context_t *ctx /*in,out*/, hid_t dcpl, hid_t type_id,
+ hid_t obj_id);
+H5TOOLS_DLL void h5tools_print_packed_bits(h5tools_str_t *buffer /*in,out*/, hid_t type);
#ifdef __cplusplus
}
#endif
#endif /* H5TOOLS_DUMP_H__ */
-
diff --git a/tools/lib/h5tools_error.h b/tools/lib/h5tools_error.h
index 764fb91..7b611c2 100644
--- a/tools/lib/h5tools_error.h
+++ b/tools/lib/h5tools_error.h
@@ -21,7 +21,7 @@
#include "H5Eprivate.h" /* Error handling */
/* tools-HDF5 Error variables */
-H5TOOLS_DLLVAR int H5tools_INDENT_g;
+H5TOOLS_DLLVAR int H5tools_INDENT_g;
H5TOOLS_DLLVAR hid_t H5tools_ERR_STACK_g;
H5TOOLS_DLLVAR hid_t H5tools_ERR_CLS_g;
H5TOOLS_DLLVAR hid_t H5E_tools_g;
@@ -41,77 +41,77 @@ H5TOOLS_DLLVAR hid_t H5E_tools_min_dbg_id_g;
/*
* H5TOOLS_INIT_ERROR macro, used to initialize error reporting.
*/
-#define H5TOOLS_INIT_ERROR() \
-do { \
- char lib_str[256]; \
- \
- /* Initialize library version string for error class */ \
- HDsnprintf(lib_str, sizeof(lib_str), "%d.%d.%d", H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE); \
- \
- /* Create new HDF5 error stack for the tools to use */ \
- if ((H5tools_ERR_STACK_g = H5Ecreate_stack()) < 0) \
- HDfprintf(stderr, "Failed to create HDF5 tools error stack\n"); \
- \
- /* Register errors from the HDF5 tools as a new error class */ \
- if ((H5tools_ERR_CLS_g = H5Eregister_class("H5tools", "HDF5:tools", lib_str)) < 0) \
- HDfprintf(stderr, "Failed to register HDF5 tools error class\n"); \
- \
- /* Create a new HDF5 major error message for errors from the tools library */ \
- if ((H5E_tools_g = H5Ecreate_msg(H5tools_ERR_CLS_g, H5E_MAJOR, "Failure in tools library")) < 0) \
- HDfprintf(stderr, "Failed to register major error message for tools library errors\n"); \
- \
- /* Create a new HDF5 minor error message for errors from the tools library */ \
- if ((H5E_tools_min_id_g = H5Ecreate_msg(H5tools_ERR_CLS_g, H5E_MINOR, "error in function")) < 0) \
- HDfprintf(stderr, "Failed to register minor error message for tools library errors\n"); \
- \
- /* Create a new HDF5 minor error message for info messages from the tools library */ \
- if ((H5E_tools_min_info_id_g = H5Ecreate_msg(H5tools_ERR_CLS_g, H5E_MINOR, "function info")) < 0) \
- HDfprintf(stderr, "Failed to register minor error message for tools library info messages\n"); \
- \
- /* Create a new HDF5 minor error message for debug messages from the tools library */ \
- if ((H5E_tools_min_dbg_id_g = H5Ecreate_msg(H5tools_ERR_CLS_g, H5E_MINOR, "function debug")) < 0) \
- HDfprintf(stderr, "Failed to register minor error message for tools library debug messages\n"); \
-} while(0)
+#define H5TOOLS_INIT_ERROR() \
+ do { \
+ char lib_str[256]; \
+ \
+ /* Initialize library version string for error class */ \
+ HDsnprintf(lib_str, sizeof(lib_str), "%d.%d.%d", H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE); \
+ \
+ /* Create new HDF5 error stack for the tools to use */ \
+ if ((H5tools_ERR_STACK_g = H5Ecreate_stack()) < 0) \
+ HDfprintf(stderr, "Failed to create HDF5 tools error stack\n"); \
+ \
+ /* Register errors from the HDF5 tools as a new error class */ \
+ if ((H5tools_ERR_CLS_g = H5Eregister_class("H5tools", "HDF5:tools", lib_str)) < 0) \
+ HDfprintf(stderr, "Failed to register HDF5 tools error class\n"); \
+ \
+ /* Create a new HDF5 major error message for errors from the tools library */ \
+ if ((H5E_tools_g = H5Ecreate_msg(H5tools_ERR_CLS_g, H5E_MAJOR, "Failure in tools library")) < 0) \
+ HDfprintf(stderr, "Failed to register major error message for tools library errors\n"); \
+ \
+ /* Create a new HDF5 minor error message for errors from the tools library */ \
+ if ((H5E_tools_min_id_g = H5Ecreate_msg(H5tools_ERR_CLS_g, H5E_MINOR, "error in function")) < 0) \
+ HDfprintf(stderr, "Failed to register minor error message for tools library errors\n"); \
+ \
+ /* Create a new HDF5 minor error message for info messages from the tools library */ \
+ if ((H5E_tools_min_info_id_g = H5Ecreate_msg(H5tools_ERR_CLS_g, H5E_MINOR, "function info")) < 0) \
+ HDfprintf(stderr, "Failed to register minor error message for tools library info messages\n"); \
+ \
+ /* Create a new HDF5 minor error message for debug messages from the tools library */ \
+ if ((H5E_tools_min_dbg_id_g = H5Ecreate_msg(H5tools_ERR_CLS_g, H5E_MINOR, "function debug")) < 0) \
+ HDfprintf(stderr, "Failed to register minor error message for tools library debug messages\n"); \
+ } while (0)
/*
* H5TOOLS_CLOSE_ERROR macro, used to terminate error reporting.
*/
-#define H5TOOLS_CLOSE_ERROR() \
-do { \
- /* Close all error messages created by H5TOOLS_INIT_ERROR() */ \
- if (H5Eclose_msg(H5E_tools_min_dbg_id_g) < 0) \
- HDfprintf(stderr, "Failed to close minor error message for tools library debug messages\n"); \
- if (H5Eclose_msg(H5E_tools_min_info_id_g) < 0) \
- HDfprintf(stderr, "Failed to close minor error message for tools library info messages\n"); \
- if (H5Eclose_msg(H5E_tools_min_id_g) < 0) \
- HDfprintf(stderr, "Failed to close minor error message for tools library errors\n"); \
- if (H5Eclose_msg(H5E_tools_g) < 0) \
- HDfprintf(stderr, "Failed to close major error message for tools library errors\n"); \
- \
- /* Unregister the HDF5 tools error class */ \
- if (H5Eunregister_class(H5tools_ERR_CLS_g) < 0) \
- HDfprintf(stderr, "Failed to unregister the HDF5 tools error class\n"); \
- \
- /* Close the tools error stack */ \
- if (H5Eclose_stack(H5tools_ERR_STACK_g) < 0) \
- HDfprintf(stderr, "Failed to close HDF5 tools error stack\n"); \
-} while(0)
+#define H5TOOLS_CLOSE_ERROR() \
+ do { \
+ /* Close all error messages created by H5TOOLS_INIT_ERROR() */ \
+ if (H5Eclose_msg(H5E_tools_min_dbg_id_g) < 0) \
+ HDfprintf(stderr, "Failed to close minor error message for tools library debug messages\n"); \
+ if (H5Eclose_msg(H5E_tools_min_info_id_g) < 0) \
+ HDfprintf(stderr, "Failed to close minor error message for tools library info messages\n"); \
+ if (H5Eclose_msg(H5E_tools_min_id_g) < 0) \
+ HDfprintf(stderr, "Failed to close minor error message for tools library errors\n"); \
+ if (H5Eclose_msg(H5E_tools_g) < 0) \
+ HDfprintf(stderr, "Failed to close major error message for tools library errors\n"); \
+ \
+ /* Unregister the HDF5 tools error class */ \
+ if (H5Eunregister_class(H5tools_ERR_CLS_g) < 0) \
+ HDfprintf(stderr, "Failed to unregister the HDF5 tools error class\n"); \
+ \
+ /* Close the tools error stack */ \
+ if (H5Eclose_stack(H5tools_ERR_STACK_g) < 0) \
+ HDfprintf(stderr, "Failed to close HDF5 tools error stack\n"); \
+ } while (0)
/*
* H5TOOLS_PUSH_ERROR macro, used to push an error to an error stack. Not meant to
* be called directly.
*/
-#define H5TOOLS_PUSH_ERROR(estack_id, err_cls, maj_err_id, min_err_id, ...) \
-do { \
- if (enable_error_stack > 0) { \
- if (estack_id >= 0 && err_cls >= 0) \
- H5Epush2(estack_id, __FILE__, FUNC, __LINE__, err_cls, maj_err_id, min_err_id, __VA_ARGS__); \
- else { \
- HDfprintf(stderr, __VA_ARGS__); \
- HDfprintf(stderr, "\n"); \
- } \
- } \
-} while(0)
+#define H5TOOLS_PUSH_ERROR(estack_id, err_cls, maj_err_id, min_err_id, ...) \
+ do { \
+ if (enable_error_stack > 0) { \
+ if (estack_id >= 0 && err_cls >= 0) \
+ H5Epush2(estack_id, __FILE__, FUNC, __LINE__, err_cls, maj_err_id, min_err_id, __VA_ARGS__); \
+ else { \
+ HDfprintf(stderr, __VA_ARGS__); \
+ HDfprintf(stderr, "\n"); \
+ } \
+ } \
+ } while (0)
/*
* H5TOOLS_ERROR macro, used to facilitate error reporting within a function body.
@@ -121,100 +121,102 @@ do {
* after the `done' label, in which case an infinite loop would ensue if control branched
* backwards.
*/
-#define H5TOOLS_ERROR(ret_val, ...) \
-do { \
- H5TOOLS_PUSH_ERROR(H5tools_ERR_STACK_g, H5tools_ERR_CLS_g, H5E_tools_g, H5E_tools_min_id_g, __VA_ARGS__); \
- ret_value = ret_val; \
-} while(0)
+#define H5TOOLS_ERROR(ret_val, ...) \
+ do { \
+ H5TOOLS_PUSH_ERROR(H5tools_ERR_STACK_g, H5tools_ERR_CLS_g, H5E_tools_g, H5E_tools_min_id_g, \
+ __VA_ARGS__); \
+ ret_value = ret_val; \
+ } while (0)
/*
* H5TOOLS_GOTO_ERROR macro, used to facilitate error reporting within a function body.
* The arguments are the return value and an error string. The return value is assigned
* to a variable `ret_value' and control branches to the `done' label.
*/
-#define H5TOOLS_GOTO_ERROR(ret_val, ...) \
-do { \
- H5TOOLS_PUSH_ERROR(H5tools_ERR_STACK_g, H5tools_ERR_CLS_g, H5E_tools_g, H5E_tools_min_id_g, __VA_ARGS__); \
- H5TOOLS_GOTO_DONE(ret_val); \
-} while(0)
+#define H5TOOLS_GOTO_ERROR(ret_val, ...) \
+ do { \
+ H5TOOLS_PUSH_ERROR(H5tools_ERR_STACK_g, H5tools_ERR_CLS_g, H5E_tools_g, H5E_tools_min_id_g, \
+ __VA_ARGS__); \
+ H5TOOLS_GOTO_DONE(ret_val); \
+ } while (0)
/*
* H5TOOLS_GOTO_DONE macro, used to facilitate normal return within a function body.
* The argument is the return value which is assigned to the `ret_value'
* variable. Control branches to the `done' label.
*/
-#define H5TOOLS_GOTO_DONE(ret_val) \
-do { \
- ret_value = ret_val; \
- goto done; \
-} while(0)
+#define H5TOOLS_GOTO_DONE(ret_val) \
+ do { \
+ ret_value = ret_val; \
+ goto done; \
+ } while (0)
/*
* H5TOOLS_GOTO_DONE_NO_RET macro, used to facilitate normal return within a function body.
* Control simply branches to the `done' label without setting any return value.
*/
-#define H5TOOLS_GOTO_DONE_NO_RET() \
-do { \
- goto done; \
-} while(0)
+#define H5TOOLS_GOTO_DONE_NO_RET() \
+ do { \
+ goto done; \
+ } while (0)
/*
* H5TOOLS_INFO macro, used to facilitate error reporting. The arguments are
* a description of the error.
*/
-#define H5TOOLS_INFO(...) \
-do { \
- H5TOOLS_PUSH_ERROR(H5tools_ERR_STACK_g, H5tools_ERR_CLS_g, H5E_tools_g, H5E_tools_min_info_id_g, __VA_ARGS__); \
-} while(0)
+#define H5TOOLS_INFO(...) \
+ do { \
+ H5TOOLS_PUSH_ERROR(H5tools_ERR_STACK_g, H5tools_ERR_CLS_g, H5E_tools_g, H5E_tools_min_info_id_g, \
+ __VA_ARGS__); \
+ } while (0)
#ifdef H5_TOOLS_DEBUG
-#define H5TOOLS_START_DEBUG(...) \
-do { \
- H5tools_INDENT_g += 2; \
- HDfprintf(stderr, "%*sENTER %s:%d in %s()...", H5tools_INDENT_g, "", __FILE__, __LINE__, FUNC); \
- HDfprintf(stderr, __VA_ARGS__); \
- HDfprintf(stderr, "\n"); \
- HDfflush(stderr); \
-} while(0)
-
-#define H5TOOLS_DEBUG(...) \
-do { \
- HDfprintf(stderr, "%*s %s:%d in %s()...", H5tools_INDENT_g, "", __FILE__, __LINE__, FUNC); \
- HDfprintf(stderr, __VA_ARGS__); \
- HDfprintf(stderr, "\n"); \
- HDfflush(stderr); \
-} while(0)
-
-#define H5TOOLS_ENDDEBUG(...) \
-do { \
- HDfprintf(stderr, "%*sEXIT %s:%d in %s()...", H5tools_INDENT_g, "", __FILE__, __LINE__, FUNC); \
- HDfprintf(stderr, __VA_ARGS__); \
- HDfprintf(stderr, "\n"); \
- H5tools_INDENT_g -= 2; \
- HDfflush(stderr); \
-} while(0)
+#define H5TOOLS_START_DEBUG(...) \
+ do { \
+ H5tools_INDENT_g += 2; \
+ HDfprintf(stderr, "%*sENTER %s:%d in %s()...", H5tools_INDENT_g, "", __FILE__, __LINE__, FUNC); \
+ HDfprintf(stderr, __VA_ARGS__); \
+ HDfprintf(stderr, "\n"); \
+ HDfflush(stderr); \
+ } while (0)
+
+#define H5TOOLS_DEBUG(...) \
+ do { \
+ HDfprintf(stderr, "%*s %s:%d in %s()...", H5tools_INDENT_g, "", __FILE__, __LINE__, FUNC); \
+ HDfprintf(stderr, __VA_ARGS__); \
+ HDfprintf(stderr, "\n"); \
+ HDfflush(stderr); \
+ } while (0)
+
+#define H5TOOLS_ENDDEBUG(...) \
+ do { \
+ HDfprintf(stderr, "%*sEXIT %s:%d in %s()...", H5tools_INDENT_g, "", __FILE__, __LINE__, FUNC); \
+ HDfprintf(stderr, __VA_ARGS__); \
+ HDfprintf(stderr, "\n"); \
+ H5tools_INDENT_g -= 2; \
+ HDfflush(stderr); \
+ } while (0)
#else
-#define H5TOOLS_START_DEBUG(...) \
-do { \
- ; \
-} while(0)
+#define H5TOOLS_START_DEBUG(...) \
+ do { \
+ ; \
+ } while (0)
-#define H5TOOLS_DEBUG(...) \
-do { \
- ; \
-} while(0)
+#define H5TOOLS_DEBUG(...) \
+ do { \
+ ; \
+ } while (0)
-#define H5TOOLS_ENDDEBUG(...) \
-do { \
- ; \
-} while(0)
+#define H5TOOLS_ENDDEBUG(...) \
+ do { \
+ ; \
+ } while (0)
#endif
-
/* Macro for "catching" flow of control when an error occurs. Note that the
* H5_LEAVE macro won't jump back here once it's past this point.
*/
@@ -241,11 +243,11 @@ do { \
* The return value is assigned to a variable `ret_value' and control branches
* to the `catch_except' label, if we're not already past it.
*/
-#define H5TOOLS_THROW(ret_val, ...) \
-do { \
- H5TOOLS_PUSH_ERROR(H5tools_ERR_STACK_g, H5tools_ERR_CLS_g, H5E_tools_g, H5E_tools_min_id_g, __VA_ARGS__); \
- H5_LEAVE(ret_val) \
-} while(0)
+#define H5TOOLS_THROW(ret_val, ...) \
+ do { \
+ H5TOOLS_PUSH_ERROR(H5tools_ERR_STACK_g, H5tools_ERR_CLS_g, H5E_tools_g, H5E_tools_min_id_g, \
+ __VA_ARGS__); \
+ H5_LEAVE(ret_val) \
+ } while (0)
#endif /* H5TOOLS_ERROR_H_ */
-
diff --git a/tools/lib/h5tools_filters.c b/tools/lib/h5tools_filters.c
index 0e4c476..04c139b 100644
--- a/tools/lib/h5tools_filters.c
+++ b/tools/lib/h5tools_filters.c
@@ -18,11 +18,10 @@
* print a warning message
*-------------------------------------------------------------------------
*/
-static void print_filter_warning(const char *dname, const char *fname)
+static void
+print_filter_warning(const char *dname, const char *fname)
{
- HDfprintf(stderr,
- "Warning: dataset <%s> cannot be read, %s filter is not available\n",
- dname, fname);
+ HDfprintf(stderr, "Warning: dataset <%s> cannot be read, %s filter is not available\n", dname, fname);
}
/*-------------------------------------------------------------------------
@@ -40,14 +39,14 @@ static void print_filter_warning(const char *dname, const char *fname)
*-------------------------------------------------------------------------
*/
int
-h5tools_canreadf(const char* name, /* object name, serves also as boolean print */
- hid_t dcpl_id) /* dataset creation property list */
+h5tools_canreadf(const char *name, /* object name, serves also as boolean print */
+ hid_t dcpl_id) /* dataset creation property list */
{
- int nfilters; /* number of filters */
- H5Z_filter_t filtn; /* filter identification number */
- int i; /* index */
- int udfilter_avail; /* index */
- int ret_value = 1;
+ int nfilters; /* number of filters */
+ H5Z_filter_t filtn; /* filter identification number */
+ int i; /* index */
+ int udfilter_avail; /* index */
+ int ret_value = 1;
/* get information about filters */
if ((nfilters = H5Pget_nfilters(dcpl_id)) < 0)
@@ -59,73 +58,73 @@ h5tools_canreadf(const char* name, /* object name, serves also as boolean pr
/* check availability of filters */
for (i = 0; i < nfilters; i++) {
- if ((filtn = H5Pget_filter2(dcpl_id, (unsigned) i, 0, 0, 0, (size_t) 0, 0, NULL)) < 0)
+ if ((filtn = H5Pget_filter2(dcpl_id, (unsigned)i, 0, 0, 0, (size_t)0, 0, NULL)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Pget_filter2 failed");
switch (filtn) {
- /*-------------------------------------------------------------------------
- * user defined filter
- *-------------------------------------------------------------------------
- */
- default:
- if ((udfilter_avail = H5Zfilter_avail(filtn)) < 0) {
- H5TOOLS_GOTO_ERROR(FAIL, "H5Zfilter_avail failed");
- }
- else if (!udfilter_avail) {
- if (name)
- print_filter_warning(name, "user defined");
- ret_value = 0;
- }
- break;
-
/*-------------------------------------------------------------------------
- * H5Z_FILTER_DEFLATE 1 , deflation like gzip
+ * user defined filter
*-------------------------------------------------------------------------
*/
- case H5Z_FILTER_DEFLATE:
+ default:
+ if ((udfilter_avail = H5Zfilter_avail(filtn)) < 0) {
+ H5TOOLS_GOTO_ERROR(FAIL, "H5Zfilter_avail failed");
+ }
+ else if (!udfilter_avail) {
+ if (name)
+ print_filter_warning(name, "user defined");
+ ret_value = 0;
+ }
+ break;
+
+ /*-------------------------------------------------------------------------
+ * H5Z_FILTER_DEFLATE 1 , deflation like gzip
+ *-------------------------------------------------------------------------
+ */
+ case H5Z_FILTER_DEFLATE:
#ifndef H5_HAVE_FILTER_DEFLATE
- if (name)
- print_filter_warning(name,"deflate");
- ret_value = 0;
+ if (name)
+ print_filter_warning(name, "deflate");
+ ret_value = 0;
#endif
- break;
- /*-------------------------------------------------------------------------
- * H5Z_FILTER_SZIP 4 , szip compression
- *-------------------------------------------------------------------------
- */
- case H5Z_FILTER_SZIP:
+ break;
+ /*-------------------------------------------------------------------------
+ * H5Z_FILTER_SZIP 4 , szip compression
+ *-------------------------------------------------------------------------
+ */
+ case H5Z_FILTER_SZIP:
#ifndef H5_HAVE_FILTER_SZIP
- if (name)
- print_filter_warning(name,"SZIP");
- ret_value = 0;
+ if (name)
+ print_filter_warning(name, "SZIP");
+ ret_value = 0;
#endif
- break;
- /*-------------------------------------------------------------------------
- * H5Z_FILTER_SHUFFLE 2 , shuffle the data
- *-------------------------------------------------------------------------
- */
- case H5Z_FILTER_SHUFFLE:
- break;
- /*-------------------------------------------------------------------------
- * H5Z_FILTER_FLETCHER32 3 , fletcher32 checksum of EDC
- *-------------------------------------------------------------------------
- */
- case H5Z_FILTER_FLETCHER32:
- break;
- /*-------------------------------------------------------------------------
- * H5Z_FILTER_NBIT
- *-------------------------------------------------------------------------
- */
- case H5Z_FILTER_NBIT:
- break;
- /*-------------------------------------------------------------------------
- * H5Z_FILTER_SCALEOFFSET
- *-------------------------------------------------------------------------
- */
- case H5Z_FILTER_SCALEOFFSET:
- break;
- }/*switch*/
- }/*for*/
+ break;
+ /*-------------------------------------------------------------------------
+ * H5Z_FILTER_SHUFFLE 2 , shuffle the data
+ *-------------------------------------------------------------------------
+ */
+ case H5Z_FILTER_SHUFFLE:
+ break;
+ /*-------------------------------------------------------------------------
+ * H5Z_FILTER_FLETCHER32 3 , fletcher32 checksum of EDC
+ *-------------------------------------------------------------------------
+ */
+ case H5Z_FILTER_FLETCHER32:
+ break;
+ /*-------------------------------------------------------------------------
+ * H5Z_FILTER_NBIT
+ *-------------------------------------------------------------------------
+ */
+ case H5Z_FILTER_NBIT:
+ break;
+ /*-------------------------------------------------------------------------
+ * H5Z_FILTER_SCALEOFFSET
+ *-------------------------------------------------------------------------
+ */
+ case H5Z_FILTER_SCALEOFFSET:
+ break;
+ } /*switch*/
+ } /*for*/
done:
return ret_value;
@@ -147,63 +146,64 @@ h5tools_can_encode(H5Z_filter_t filtn)
int ret_value = 1;
switch (filtn) {
- /* user defined filter */
- default:
- H5TOOLS_GOTO_DONE(0);
- break;
- case H5Z_FILTER_DEFLATE:
+ /* user defined filter */
+ default:
+ H5TOOLS_GOTO_DONE(0);
+ break;
+ case H5Z_FILTER_DEFLATE:
#ifndef H5_HAVE_FILTER_DEFLATE
- H5TOOLS_GOTO_DONE(0);
+ H5TOOLS_GOTO_DONE(0);
#endif
break;
- case H5Z_FILTER_SZIP:
+ case H5Z_FILTER_SZIP:
#ifndef H5_HAVE_FILTER_SZIP
- H5TOOLS_GOTO_DONE(0);
+ H5TOOLS_GOTO_DONE(0);
#else
{
unsigned int filter_config_flags;
if (H5Zget_filter_info(filtn, &filter_config_flags) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Zget_filter_info failed");
- if ((filter_config_flags
- & (H5Z_FILTER_CONFIG_ENCODE_ENABLED | H5Z_FILTER_CONFIG_DECODE_ENABLED)) == 0) {
+ if ((filter_config_flags &
+ (H5Z_FILTER_CONFIG_ENCODE_ENABLED | H5Z_FILTER_CONFIG_DECODE_ENABLED)) == 0) {
/* filter present but neither encode nor decode is supported (???) */
H5TOOLS_GOTO_ERROR(FAIL, "neither encode nor decode is supported");
}
- else if ((filter_config_flags
- & (H5Z_FILTER_CONFIG_ENCODE_ENABLED | H5Z_FILTER_CONFIG_DECODE_ENABLED)) == H5Z_FILTER_CONFIG_DECODE_ENABLED) {
+ else if ((filter_config_flags &
+ (H5Z_FILTER_CONFIG_ENCODE_ENABLED | H5Z_FILTER_CONFIG_DECODE_ENABLED)) ==
+ H5Z_FILTER_CONFIG_DECODE_ENABLED) {
/* decoder only: read but not write */
H5TOOLS_GOTO_DONE(0);
}
- else if ((filter_config_flags
- & (H5Z_FILTER_CONFIG_ENCODE_ENABLED | H5Z_FILTER_CONFIG_DECODE_ENABLED)) == H5Z_FILTER_CONFIG_ENCODE_ENABLED) {
+ else if ((filter_config_flags &
+ (H5Z_FILTER_CONFIG_ENCODE_ENABLED | H5Z_FILTER_CONFIG_DECODE_ENABLED)) ==
+ H5Z_FILTER_CONFIG_ENCODE_ENABLED) {
/* encoder only: write but not read (???) */
H5TOOLS_GOTO_ERROR(FAIL, "encoder only: write but not read");
}
- else if ((filter_config_flags
- & (H5Z_FILTER_CONFIG_ENCODE_ENABLED | H5Z_FILTER_CONFIG_DECODE_ENABLED))
- == (H5Z_FILTER_CONFIG_ENCODE_ENABLED | H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
+ else if ((filter_config_flags &
+ (H5Z_FILTER_CONFIG_ENCODE_ENABLED | H5Z_FILTER_CONFIG_DECODE_ENABLED)) ==
+ (H5Z_FILTER_CONFIG_ENCODE_ENABLED | H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
H5TOOLS_GOTO_DONE(1);
}
}
#endif
break;
- case H5Z_FILTER_SHUFFLE:
+ case H5Z_FILTER_SHUFFLE:
break;
- case H5Z_FILTER_FLETCHER32:
+ case H5Z_FILTER_FLETCHER32:
break;
- case H5Z_FILTER_NBIT:
+ case H5Z_FILTER_NBIT:
break;
- case H5Z_FILTER_SCALEOFFSET:
+ case H5Z_FILTER_SCALEOFFSET:
break;
- }/*switch*/
+ } /*switch*/
done:
return ret_value;
}
-
diff --git a/tools/lib/h5tools_ref.c b/tools/lib/h5tools_ref.c
index 0e1fa03..8d18f0e 100644
--- a/tools/lib/h5tools_ref.c
+++ b/tools/lib/h5tools_ref.c
@@ -19,7 +19,6 @@
#include "h5trav.h"
#include "H5VLnative_private.h"
-
/*
* Table to look up a path name for an object
* reference.
@@ -36,11 +35,11 @@
typedef struct {
H5O_token_t obj_token; /* Object token */
- char *path; /* Object path */
+ char * path; /* Object path */
} ref_path_node_t;
-static H5SL_t *ref_path_table = NULL; /* the "table" (implemented with a skip list) */
-static hid_t thefile = (-1);
+static H5SL_t *ref_path_table = NULL; /* the "table" (implemented with a skip list) */
+static hid_t thefile = (-1);
static int ref_path_table_put(const char *, const H5O_token_t *token);
@@ -58,14 +57,14 @@ static int ref_path_table_put(const char *, const H5O_token_t *token);
*-------------------------------------------------------------------------
*/
static herr_t
-free_ref_path_info(void *item, void H5_ATTR_UNUSED *key, void H5_ATTR_UNUSED *operator_data/*in,out*/)
+free_ref_path_info(void *item, void H5_ATTR_UNUSED *key, void H5_ATTR_UNUSED *operator_data /*in,out*/)
{
ref_path_node_t *node = (ref_path_node_t *)item;
HDfree(node->path);
HDfree(node);
- return(0);
+ return (0);
}
/*-------------------------------------------------------------------------
@@ -81,11 +80,11 @@ free_ref_path_info(void *item, void H5_ATTR_UNUSED *key, void H5_ATTR_UNUSED *op
*-------------------------------------------------------------------------
*/
static herr_t
-init_ref_path_cb(const char *obj_name, const H5O_info2_t *oinfo,
- const char *already_seen, void H5_ATTR_UNUSED *_udata)
+init_ref_path_cb(const char *obj_name, const H5O_info2_t *oinfo, const char *already_seen,
+ void H5_ATTR_UNUSED *_udata)
{
/* Check if the object is already in the path table */
- if(NULL == already_seen) {
+ if (NULL == already_seen) {
/* Insert the object into the path table */
ref_path_table_put(obj_name, &oinfo->token);
} /* end if */
@@ -109,11 +108,11 @@ init_ref_path_cb(const char *obj_name, const H5O_info2_t *oinfo,
static int
ref_path_table_cmp(const void *key1, const void *key2)
{
- const H5O_token_t *token1 = (const H5O_token_t *)key1;
- const H5O_token_t *token2 = (const H5O_token_t *)key2;
- int cmp_value = 0;
+ const H5O_token_t *token1 = (const H5O_token_t *)key1;
+ const H5O_token_t *token2 = (const H5O_token_t *)key2;
+ int cmp_value = 0;
- if(thefile > 0)
+ if (thefile > 0)
H5Otoken_cmp(thefile, token1, token2, &cmp_value);
else
cmp_value = HDmemcmp(token1, token2, sizeof(H5O_token_t));
@@ -136,18 +135,18 @@ static int
init_ref_path_table(void)
{
/* Sanity check */
- if(thefile > 0) {
+ if (thefile > 0) {
/* Create skip list to store reference path information */
- if((ref_path_table = H5SL_create(H5SL_TYPE_GENERIC, ref_path_table_cmp)) == NULL)
+ if ((ref_path_table = H5SL_create(H5SL_TYPE_GENERIC, ref_path_table_cmp)) == NULL)
return (-1);
/* Iterate over objects in this file */
- if(h5trav_visit(thefile, "/", TRUE, TRUE, init_ref_path_cb, NULL, NULL, H5O_INFO_BASIC) < 0) {
+ if (h5trav_visit(thefile, "/", TRUE, TRUE, init_ref_path_cb, NULL, NULL, H5O_INFO_BASIC) < 0) {
error_msg("unable to construct reference path table\n");
h5tools_setstatus(EXIT_FAILURE);
} /* end if */
- return(0);
+ return (0);
}
else
return (-1);
@@ -170,10 +169,10 @@ int
term_ref_path_table(void)
{
/* Destroy reference path table, freeing all memory */
- if(ref_path_table)
+ if (ref_path_table)
H5SL_destroy(ref_path_table, free_ref_path_info, NULL);
- return(0);
+ return (0);
}
/*-------------------------------------------------------------------------
@@ -198,24 +197,24 @@ ref_path_table_lookup(const char *thepath, H5O_token_t *token)
{
H5O_info2_t oi;
- if((thepath == NULL) || (HDstrlen(thepath) == 0))
+ if ((thepath == NULL) || (HDstrlen(thepath) == 0))
return -1;
/* Allow lookups on the root group, even though it doesn't have any link info */
- if(HDstrcmp(thepath, "/")) {
- H5L_info2_t li;
+ if (HDstrcmp(thepath, "/")) {
+ H5L_info2_t li;
/* Check for external link first, so we don't return the OID of an object in another file */
- if(H5Lget_info2(thefile, thepath, &li, H5P_DEFAULT) < 0)
+ if (H5Lget_info2(thefile, thepath, &li, H5P_DEFAULT) < 0)
return -1;
/* UD links can't be followed, so they always "dangle" like soft links. */
- if(li.type >= H5L_TYPE_UD_MIN)
+ if (li.type >= H5L_TYPE_UD_MIN)
return -1;
} /* end if */
/* Get the object info now */
/* (returns failure for dangling soft links) */
- if(H5Oget_info_by_name3(thefile, thepath, &oi, H5O_INFO_BASIC, H5P_DEFAULT) < 0)
+ if (H5Oget_info_by_name3(thefile, thepath, &oi, H5O_INFO_BASIC, H5P_DEFAULT) < 0)
return -1;
/* Return object token through parameter */
@@ -248,14 +247,14 @@ ref_path_table_put(const char *path, const H5O_token_t *token)
{
ref_path_node_t *new_node;
- if(ref_path_table && path) {
- if((new_node = (ref_path_node_t *)HDmalloc(sizeof(ref_path_node_t))) == NULL)
- return(-1);
+ if (ref_path_table && path) {
+ if ((new_node = (ref_path_node_t *)HDmalloc(sizeof(ref_path_node_t))) == NULL)
+ return (-1);
HDmemcpy(&new_node->obj_token, token, sizeof(H5O_token_t));
new_node->path = HDstrdup(path);
- return(H5SL_insert(ref_path_table, new_node, &(new_node->obj_token)));
+ return (H5SL_insert(ref_path_table, new_node, &(new_node->obj_token)));
}
else
return (-1);
@@ -266,7 +265,9 @@ ref_path_table_put(const char *path, const H5O_token_t *token)
*/
int xid = 1;
-int get_next_xid(void) {
+int
+get_next_xid(void)
+{
return xid++;
}
@@ -279,10 +280,11 @@ int get_next_xid(void) {
haddr_t fake_xid = HADDR_MAX;
void
-get_fake_token(H5O_token_t *token) {
- if(thefile > 0) {
+get_fake_token(H5O_token_t *token)
+{
+ if (thefile > 0) {
/* TODO: potential for this to be called with non-native connector objects */
- if(H5VLnative_addr_to_token(thefile, fake_xid, token) < 0)
+ if (H5VLnative_addr_to_token(thefile, fake_xid, token) < 0)
*token = H5O_TOKEN_UNDEF;
fake_xid--;
}
@@ -305,7 +307,7 @@ ref_path_table_gen_fake(const char *path, H5O_token_t *token)
get_fake_token(token);
/* Create ref path table, if it hasn't already been created */
- if(ref_path_table == NULL)
+ if (ref_path_table == NULL)
init_ref_path_table();
/* Insert "fake" object into table */
@@ -328,25 +330,25 @@ ref_path_table_gen_fake(const char *path, H5O_token_t *token)
const char *
lookup_ref_path(H5R_ref_t refbuf)
{
- H5O_info2_t oinfo;
- H5R_type_t ref_type;
- hid_t ref_object;
+ H5O_info2_t oinfo;
+ H5R_type_t ref_type;
+ hid_t ref_object;
ref_path_node_t *node;
/* Be safer for h5ls */
- if(thefile < 0)
- return(NULL);
+ if (thefile < 0)
+ return (NULL);
/* Retrieve reference type */
- if(H5R_BADTYPE == (ref_type = H5Rget_type(&refbuf)))
- return(NULL);
+ if (H5R_BADTYPE == (ref_type = H5Rget_type(&refbuf)))
+ return (NULL);
/* Open the referenced object */
switch (ref_type) {
case H5R_OBJECT1:
case H5R_OBJECT2:
- if((ref_object = H5Ropen_object(&refbuf, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- return(NULL);
+ if ((ref_object = H5Ropen_object(&refbuf, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ return (NULL);
break;
/* Invalid referenced object type */
@@ -356,20 +358,20 @@ lookup_ref_path(H5R_ref_t refbuf)
case H5R_MAXTYPE:
case H5R_BADTYPE:
default:
- return(NULL);
+ return (NULL);
}
/* Retrieve info about the referenced object */
- if(H5Oget_info3(ref_object, &oinfo, H5O_INFO_ALL) < 0)
- return(NULL);
+ if (H5Oget_info3(ref_object, &oinfo, H5O_INFO_ALL) < 0)
+ return (NULL);
/* Create ref path table, if it hasn't already been created */
- if(ref_path_table == NULL)
+ if (ref_path_table == NULL)
init_ref_path_table();
node = (ref_path_node_t *)H5SL_search(ref_path_table, &oinfo.token);
- return(node ? node->path : NULL);
+ return (node ? node->path : NULL);
}
/*-------------------------------------------------------------------------
@@ -394,4 +396,3 @@ fill_ref_path_table(hid_t fid)
return 0;
}
-
diff --git a/tools/lib/h5tools_ref.h b/tools/lib/h5tools_ref.h
index debbea1..1be94a2 100644
--- a/tools/lib/h5tools_ref.h
+++ b/tools/lib/h5tools_ref.h
@@ -33,4 +33,3 @@ H5TOOLS_DLL int term_ref_path_table(void);
#endif
#endif
-
diff --git a/tools/lib/h5tools_str.c b/tools/lib/h5tools_str.c
index 1c573a7..533237c 100644
--- a/tools/lib/h5tools_str.c
+++ b/tools/lib/h5tools_str.c
@@ -15,17 +15,17 @@
* Purpose: These are string functions for us to use and abuse.
*/
#include "H5private.h"
-#include "h5tools.h" /* for h5tool_format_t structure */
+#include "h5tools.h" /* for h5tool_format_t structure */
#include "h5tools_ref.h"
-#include "h5tools_str.h" /* function prototypes */
+#include "h5tools_str.h" /* function prototypes */
/* Copied from hl/src/H5LDprivate.h */
/* Info about the list of comma-separated compound fields */
typedef struct H5LD_memb_t {
- size_t tot_offset;
- size_t last_tsize;
- hid_t last_tid;
- char **names;
+ size_t tot_offset;
+ size_t last_tsize;
+ hid_t last_tid;
+ char **names;
} H5LD_memb_t;
/*
@@ -42,12 +42,12 @@ typedef struct H5LD_memb_t {
#define REPEAT_VERBOSE
/* Variable length string datatype */
-#define STR_INIT_LEN 4096 /*initial length */
+#define STR_INIT_LEN 4096 /*initial length */
-static char *h5tools_escape(char *s, size_t size);
-static hbool_t h5tools_str_is_zero(const void *_mem, size_t size);
-static void h5tools_print_char(h5tools_str_t *str, const h5tool_format_t *info, char ch);
-void h5tools_str_indent(h5tools_str_t *str, const h5tool_format_t *info, h5tools_context_t *ctx);
+static char * h5tools_escape(char *s, size_t size);
+static hbool_t h5tools_str_is_zero(const void *_mem, size_t size);
+static void h5tools_print_char(h5tools_str_t *str, const h5tool_format_t *info, char ch);
+void h5tools_str_indent(h5tools_str_t *str, const h5tool_format_t *info, h5tools_context_t *ctx);
/*-------------------------------------------------------------------------
* Function: h5tools_str_close
@@ -105,23 +105,23 @@ h5tools_str_len(h5tools_str_t *str)
*-------------------------------------------------------------------------
*/
char *
-h5tools_str_append(h5tools_str_t *str/*in,out*/, const char *fmt, ...)
+h5tools_str_append(h5tools_str_t *str /*in,out*/, const char *fmt, ...)
{
- va_list ap;
+ va_list ap;
/* Make sure we have some memory into which to print */
- if(!str->s || str->nalloc <= 0)
+ if (!str->s || str->nalloc <= 0)
h5tools_str_reset(str);
- if(HDstrlen(fmt) == 0)
+ if (HDstrlen(fmt) == 0)
/* nothing to print */
return str->s;
/* Format the arguments and append to the value already in `str' */
- while(1) {
+ while (1) {
/* How many bytes available for new value, counting the new NUL */
int nchars = -1;
- size_t avail = str->nalloc - str->len;
+ size_t avail = str->nalloc - str->len;
HDva_start(ap, fmt);
nchars = HDvsnprintf(str->s + str->len, avail, fmt, ap);
@@ -138,11 +138,11 @@ h5tools_str_append(h5tools_str_t *str/*in,out*/, const char *fmt, ...)
* to lack of buffer size, so try one more time after realloc more
* buffer size before return NULL.
*/
- if(nchars < 0)
+ if (nchars < 0)
/* failure, such as bad format */
return NULL;
- if((size_t) nchars >= avail || (0 == nchars && (HDstrcmp(fmt, "%s")))) {
+ if ((size_t)nchars >= avail || (0 == nchars && (HDstrcmp(fmt, "%s")))) {
/* Truncation return value as documented by C99, or zero return value with either of the
* following conditions, each of which indicates that the proper C99 return value probably
* should have been positive when the format string is
@@ -151,7 +151,7 @@ h5tools_str_append(h5tools_str_t *str/*in,out*/, const char *fmt, ...)
*/
size_t newsize = MAX(str->len + (size_t)nchars + 1, 2 * str->nalloc);
HDassert(newsize > str->nalloc); /*overflow*/
- str->s = (char*)HDrealloc(str->s, newsize);
+ str->s = (char *)HDrealloc(str->s, newsize);
HDassert(str->s);
str->nalloc = newsize;
}
@@ -180,16 +180,16 @@ h5tools_str_append(h5tools_str_t *str/*in,out*/, const char *fmt, ...)
*-------------------------------------------------------------------------
*/
char *
-h5tools_str_reset(h5tools_str_t *str/*in,out*/)
+h5tools_str_reset(h5tools_str_t *str /*in,out*/)
{
- if(!str->s || str->nalloc <= 0) {
+ if (!str->s || str->nalloc <= 0) {
str->nalloc = STR_INIT_LEN;
- str->s = (char*)HDmalloc(str->nalloc);
+ str->s = (char *)HDmalloc(str->nalloc);
HDassert(str->s);
}
str->s[0] = '\0';
- str->len = 0;
+ str->len = 0;
return str->s;
}
@@ -207,10 +207,10 @@ h5tools_str_reset(h5tools_str_t *str/*in,out*/)
*-------------------------------------------------------------------------
*/
char *
-h5tools_str_trunc(h5tools_str_t *str/*in,out*/, size_t size)
+h5tools_str_trunc(h5tools_str_t *str /*in,out*/, size_t size)
{
- if(size < str->len) {
- str->len = size;
+ if (size < str->len) {
+ str->len = size;
str->s[size] = '\0';
}
@@ -235,26 +235,26 @@ h5tools_str_trunc(h5tools_str_t *str/*in,out*/, size_t size)
*-------------------------------------------------------------------------
*/
char *
-h5tools_str_fmt(h5tools_str_t *str/*in,out*/, size_t start, const char *fmt)
+h5tools_str_fmt(h5tools_str_t *str /*in,out*/, size_t start, const char *fmt)
{
- char _temp[1024], *temp = _temp;
+ char _temp[1024], *temp = _temp;
HDassert(str);
HDassert(fmt);
/* If the format string is simply "%s" then don't bother doing anything */
- if(!HDstrcmp(fmt, "%s"))
+ if (!HDstrcmp(fmt, "%s"))
return str->s;
/*
* Save the input value if there is a `%' anywhere in FMT. Otherwise
* don't bother because we don't need a temporary copy.
*/
- if(HDstrchr(fmt, '%')) {
+ if (HDstrchr(fmt, '%')) {
size_t n = sizeof(_temp);
- if(str->len - start + 1 > n) {
- n = str->len - start + 1;
- temp = (char*)HDmalloc(n);
+ if (str->len - start + 1 > n) {
+ n = str->len - start + 1;
+ temp = (char *)HDmalloc(n);
HDassert(temp);
}
@@ -266,7 +266,7 @@ h5tools_str_fmt(h5tools_str_t *str/*in,out*/, size_t start, const char *fmt)
h5tools_str_append(str, fmt, temp);
/* Free the temp buffer if we allocated one */
- if(temp != _temp)
+ if (temp != _temp)
HDfree(temp);
return str->s;
@@ -282,10 +282,10 @@ h5tools_str_fmt(h5tools_str_t *str/*in,out*/, size_t start, const char *fmt)
*-------------------------------------------------------------------------
*/
char *
-h5tools_str_prefix(h5tools_str_t *str/*in,out*/, const h5tool_format_t *info, hsize_t elmtno,
- h5tools_context_t *ctx)
+h5tools_str_prefix(h5tools_str_t *str /*in,out*/, const h5tool_format_t *info, hsize_t elmtno,
+ h5tools_context_t *ctx)
{
- size_t i = 0;
+ size_t i = 0;
H5TOOLS_START_DEBUG("");
@@ -293,16 +293,16 @@ h5tools_str_prefix(h5tools_str_t *str/*in,out*/, const h5tool_format_t *info, hs
h5tools_str_reset(str);
calc_acc_pos(ctx->ndims, elmtno, ctx->acc, ctx->pos);
- if(ctx->ndims > 0) {
+ if (ctx->ndims > 0) {
/* Print the index values */
- for(i = 0; i < (size_t) ctx->ndims; i++) {
+ for (i = 0; i < (size_t)ctx->ndims; i++) {
if (i)
h5tools_str_append(str, "%s", OPT(info->idx_sep, ","));
- h5tools_str_append(str, OPT(info->idx_n_fmt, HSIZE_T_FORMAT), (hsize_t) ctx->pos[i]);
+ h5tools_str_append(str, OPT(info->idx_n_fmt, HSIZE_T_FORMAT), (hsize_t)ctx->pos[i]);
}
}
- else /* Scalar */
+ else /* Scalar */
h5tools_str_append(str, OPT(info->idx_n_fmt, HSIZE_T_FORMAT), (hsize_t)elmtno);
H5TOOLS_DEBUG("str=%s", str->s);
@@ -322,10 +322,10 @@ h5tools_str_prefix(h5tools_str_t *str/*in,out*/, const h5tool_format_t *info, hs
*-------------------------------------------------------------------------
*/
char *
-h5tools_str_region_prefix(h5tools_str_t *str/*in,out*/, const h5tool_format_t *info, hsize_t elmtno,
- hsize_t *ptdata, h5tools_context_t *ctx)
+h5tools_str_region_prefix(h5tools_str_t *str /*in,out*/, const h5tool_format_t *info, hsize_t elmtno,
+ hsize_t *ptdata, h5tools_context_t *ctx)
{
- size_t i = 0;
+ size_t i = 0;
H5TOOLS_START_DEBUG("");
@@ -333,17 +333,17 @@ h5tools_str_region_prefix(h5tools_str_t *str/*in,out*/, const h5tool_format_t *i
h5tools_str_reset(str);
calc_acc_pos(ctx->ndims, elmtno, ctx->acc, ctx->pos);
- if(ctx->ndims > 0) {
+ if (ctx->ndims > 0) {
/* Print the index values */
- for(i = 0; i < (size_t) ctx->ndims; i++) {
- ctx->pos[i] += (unsigned long) ptdata[ctx->sm_pos+i];
+ for (i = 0; i < (size_t)ctx->ndims; i++) {
+ ctx->pos[i] += (unsigned long)ptdata[ctx->sm_pos + i];
if (i)
h5tools_str_append(str, "%s", OPT(info->idx_sep, ","));
- h5tools_str_append(str, OPT(info->idx_n_fmt, HSIZE_T_FORMAT), (hsize_t) ctx->pos[i]);
+ h5tools_str_append(str, OPT(info->idx_n_fmt, HSIZE_T_FORMAT), (hsize_t)ctx->pos[i]);
}
}
- else /* Scalar */
+ else /* Scalar */
h5tools_str_append(str, OPT(info->idx_n_fmt, HSIZE_T_FORMAT), (hsize_t)0);
H5TOOLS_DEBUG("str=%s", str->s);
@@ -367,15 +367,15 @@ h5tools_str_region_prefix(h5tools_str_t *str/*in,out*/, const h5tool_format_t *i
*-------------------------------------------------------------------------
*/
void
-h5tools_str_dump_space_slabs(h5tools_str_t *str, hid_t rspace,
- const h5tool_format_t *info, h5tools_context_t *ctx)
+h5tools_str_dump_space_slabs(h5tools_str_t *str, hid_t rspace, const h5tool_format_t *info,
+ h5tools_context_t *ctx)
{
- hsize_t start[H5S_MAX_RANK];
- hsize_t stride[H5S_MAX_RANK];
- hsize_t count[H5S_MAX_RANK];
- hsize_t block[H5S_MAX_RANK];
- int j;
- int ndims = H5Sget_simple_extent_ndims(rspace);
+ hsize_t start[H5S_MAX_RANK];
+ hsize_t stride[H5S_MAX_RANK];
+ hsize_t count[H5S_MAX_RANK];
+ hsize_t block[H5S_MAX_RANK];
+ int j;
+ int ndims = H5Sget_simple_extent_ndims(rspace);
H5Sget_regular_hyperslab(rspace, start, stride, count, block);
@@ -383,7 +383,7 @@ h5tools_str_dump_space_slabs(h5tools_str_t *str, hid_t rspace,
/* Start coordinates */
h5tools_str_append(str, "%s%s ", info->line_indent, START);
- for(j = 0; j < ndims; j++)
+ for (j = 0; j < ndims; j++)
h5tools_str_append(str, "%s" HSIZE_T_FORMAT, j ? "," : "(", start[j]);
h5tools_str_append(str, ")");
h5tools_str_append(str, "%s", "\n");
@@ -391,7 +391,7 @@ h5tools_str_dump_space_slabs(h5tools_str_t *str, hid_t rspace,
/* Stride coordinates */
h5tools_str_append(str, "%s ", STRIDE);
- for(j = 0; j < ndims; j++)
+ for (j = 0; j < ndims; j++)
h5tools_str_append(str, "%s" HSIZE_T_FORMAT, j ? "," : "(", stride[j]);
h5tools_str_append(str, ")");
h5tools_str_append(str, "%s", "\n");
@@ -399,9 +399,9 @@ h5tools_str_dump_space_slabs(h5tools_str_t *str, hid_t rspace,
/* Count coordinates */
h5tools_str_append(str, "%s ", COUNT);
- for(j = 0; j < ndims; j++) {
- if(count[j] == H5S_UNLIMITED)
- h5tools_str_append(str, "%s%s", j ? "," : "(","H5S_UNLIMITED");
+ for (j = 0; j < ndims; j++) {
+ if (count[j] == H5S_UNLIMITED)
+ h5tools_str_append(str, "%s%s", j ? "," : "(", "H5S_UNLIMITED");
else
h5tools_str_append(str, "%s" HSIZE_T_FORMAT, j ? "," : "(", count[j]);
}
@@ -411,9 +411,9 @@ h5tools_str_dump_space_slabs(h5tools_str_t *str, hid_t rspace,
/* Block coordinates */
h5tools_str_append(str, "%s ", BLOCK);
- for(j = 0; j < ndims; j++) {
- if(block[j] == H5S_UNLIMITED)
- h5tools_str_append(str, "%s%s", j ? "," : "(","H5S_UNLIMITED");
+ for (j = 0; j < ndims; j++) {
+ if (block[j] == H5S_UNLIMITED)
+ h5tools_str_append(str, "%s%s", j ? "," : "(", "H5S_UNLIMITED");
else
h5tools_str_append(str, "%s" HSIZE_T_FORMAT, j ? "," : "(", block[j]);
}
@@ -432,45 +432,43 @@ h5tools_str_dump_space_slabs(h5tools_str_t *str, hid_t rspace,
*-------------------------------------------------------------------------
*/
void
-h5tools_str_dump_space_blocks(h5tools_str_t *str, hid_t rspace,
- const h5tool_format_t *info)
+h5tools_str_dump_space_blocks(h5tools_str_t *str, hid_t rspace, const h5tool_format_t *info)
{
- hssize_t snblocks;
+ hssize_t snblocks;
/*
* This function fails if the rspace does not have blocks.
*/
- H5E_BEGIN_TRY {
- snblocks = H5Sget_select_hyper_nblocks(rspace);
- } H5E_END_TRY;
+ H5E_BEGIN_TRY { snblocks = H5Sget_select_hyper_nblocks(rspace); }
+ H5E_END_TRY;
/* Print block information */
- if(snblocks > 0) {
- hsize_t alloc_size;
- hsize_t nblocks;
- hsize_t *ptdata;
- hsize_t u;
- unsigned ndims = (unsigned)H5Sget_simple_extent_ndims(rspace);
-
- nblocks = (hsize_t)snblocks;
+ if (snblocks > 0) {
+ hsize_t alloc_size;
+ hsize_t nblocks;
+ hsize_t *ptdata;
+ hsize_t u;
+ unsigned ndims = (unsigned)H5Sget_simple_extent_ndims(rspace);
+
+ nblocks = (hsize_t)snblocks;
alloc_size = nblocks * ndims * 2 * sizeof(ptdata[0]);
- HDassert(alloc_size == (hsize_t) ((size_t) alloc_size)); /*check for overflow*/
- ptdata = (hsize_t *)HDmalloc((size_t) alloc_size);
+ HDassert(alloc_size == (hsize_t)((size_t)alloc_size)); /*check for overflow*/
+ ptdata = (hsize_t *)HDmalloc((size_t)alloc_size);
H5Sget_select_hyper_blocklist(rspace, (hsize_t)0, nblocks, ptdata);
- for(u = 0; u < nblocks; u++) {
+ for (u = 0; u < nblocks; u++) {
unsigned v;
- h5tools_str_append(str, info->dset_blockformat_pre, u ? "," OPTIONAL_LINE_BREAK " " : "", (unsigned long)u);
+ h5tools_str_append(str, info->dset_blockformat_pre, u ? "," OPTIONAL_LINE_BREAK " " : "",
+ (unsigned long)u);
/* Start coordinates and opposite corner */
- for(v = 0; v < ndims; v++)
- h5tools_str_append(str, "%s" HSIZE_T_FORMAT, v ? "," : "(",
- ptdata[u * 2 * ndims + v]);
+ for (v = 0; v < ndims; v++)
+ h5tools_str_append(str, "%s" HSIZE_T_FORMAT, v ? "," : "(", ptdata[u * 2 * ndims + v]);
- for(v = 0; v < ndims; v++)
+ for (v = 0; v < ndims; v++)
h5tools_str_append(str, "%s" HSIZE_T_FORMAT, v ? "," : ")-(",
- ptdata[u * 2 * ndims + v + ndims]);
+ ptdata[u * 2 * ndims + v + ndims]);
h5tools_str_append(str, ")");
}
@@ -491,41 +489,38 @@ h5tools_str_dump_space_blocks(h5tools_str_t *str, hid_t rspace,
*-------------------------------------------------------------------------
*/
void
-h5tools_str_dump_space_points(h5tools_str_t *str, hid_t rspace,
- const h5tool_format_t *info)
+h5tools_str_dump_space_points(h5tools_str_t *str, hid_t rspace, const h5tool_format_t *info)
{
- hssize_t snpoints;
+ hssize_t snpoints;
/*
* This function fails if the rspace does not have points.
*/
- H5E_BEGIN_TRY {
- snpoints = H5Sget_select_elem_npoints(rspace);
- } H5E_END_TRY;
+ H5E_BEGIN_TRY { snpoints = H5Sget_select_elem_npoints(rspace); }
+ H5E_END_TRY;
/* Print point information */
if (snpoints > 0) {
- hsize_t alloc_size;
- hsize_t npoints;
- hsize_t *ptdata;
- hsize_t u;
- unsigned ndims = (unsigned)H5Sget_simple_extent_ndims(rspace);
+ hsize_t alloc_size;
+ hsize_t npoints;
+ hsize_t *ptdata;
+ hsize_t u;
+ unsigned ndims = (unsigned)H5Sget_simple_extent_ndims(rspace);
- npoints = (hsize_t)snpoints;
+ npoints = (hsize_t)snpoints;
alloc_size = npoints * ndims * sizeof(ptdata[0]);
- HDassert(alloc_size == (hsize_t) ((size_t) alloc_size)); /*check for overflow*/
- ptdata = (hsize_t *)HDmalloc((size_t) alloc_size);
+ HDassert(alloc_size == (hsize_t)((size_t)alloc_size)); /*check for overflow*/
+ ptdata = (hsize_t *)HDmalloc((size_t)alloc_size);
H5Sget_select_elem_pointlist(rspace, (hsize_t)0, npoints, ptdata);
- for(u = 0; u < npoints; u++) {
+ for (u = 0; u < npoints; u++) {
unsigned v;
h5tools_str_append(str, info->dset_ptformat_pre, u ? "," OPTIONAL_LINE_BREAK " " : "",
(unsigned long)u);
- for(v = 0; v < ndims; v++)
- h5tools_str_append(str, "%s" HSIZE_T_FORMAT, v ? "," : "(",
- (ptdata[u * ndims + v]));
+ for (v = 0; v < ndims; v++)
+ h5tools_str_append(str, "%s" HSIZE_T_FORMAT, v ? "," : "(", (ptdata[u * ndims + v]));
h5tools_str_append(str, ")");
}
@@ -546,78 +541,77 @@ h5tools_str_dump_space_points(h5tools_str_t *str, hid_t rspace,
static void
h5tools_print_char(h5tools_str_t *str, const h5tool_format_t *info, char ch)
{
- if(info->str_locale == ESCAPE_HTML) {
- if(ch <= ' ' || ch > '~')
+ if (info->str_locale == ESCAPE_HTML) {
+ if (ch <= ' ' || ch > '~')
h5tools_str_append(str, "%%%02x", ch);
else
h5tools_str_append(str, "%c", ch);
}
else {
- switch(ch) {
- case '"':
- if(!info->do_escape)
- h5tools_str_append(str, "\"");
- else
- h5tools_str_append(str, "\\\"");
- break;
- case '\\':
- if (!info->do_escape)
- h5tools_str_append(str, "\\");
- else
- h5tools_str_append(str, "\\\\");
- break;
- case '\b':
- if(!info->do_escape)
- h5tools_str_append(str, "\b");
- else
- h5tools_str_append(str, "\\b");
- break;
- case '\f':
- if(!info->do_escape)
- h5tools_str_append(str, "\f");
- else
- h5tools_str_append(str, "\\f");
- break;
- case '\n':
- if(!info->do_escape) {
- h5tools_str_append(str, "\n");
- h5tools_str_append(str, " ");
- }
- else
- h5tools_str_append(str, "\\n");
- break;
- case '\r':
- if(!info->do_escape) {
- h5tools_str_append(str, "\r");
- h5tools_str_append(str, " ");
- }
- else
- h5tools_str_append(str, "\\r");
- break;
- case '\t':
- if(!info->do_escape)
- h5tools_str_append(str, "\t");
- else
- h5tools_str_append(str, "\\t");
- break;
- default:
- if(isprint(ch))
- h5tools_str_append(str, "%c", ch);
- else
- h5tools_str_append(str, "\\%03o", ch);
+ switch (ch) {
+ case '"':
+ if (!info->do_escape)
+ h5tools_str_append(str, "\"");
+ else
+ h5tools_str_append(str, "\\\"");
+ break;
+ case '\\':
+ if (!info->do_escape)
+ h5tools_str_append(str, "\\");
+ else
+ h5tools_str_append(str, "\\\\");
+ break;
+ case '\b':
+ if (!info->do_escape)
+ h5tools_str_append(str, "\b");
+ else
+ h5tools_str_append(str, "\\b");
+ break;
+ case '\f':
+ if (!info->do_escape)
+ h5tools_str_append(str, "\f");
+ else
+ h5tools_str_append(str, "\\f");
+ break;
+ case '\n':
+ if (!info->do_escape) {
+ h5tools_str_append(str, "\n");
+ h5tools_str_append(str, " ");
+ }
+ else
+ h5tools_str_append(str, "\\n");
+ break;
+ case '\r':
+ if (!info->do_escape) {
+ h5tools_str_append(str, "\r");
+ h5tools_str_append(str, " ");
+ }
+ else
+ h5tools_str_append(str, "\\r");
+ break;
+ case '\t':
+ if (!info->do_escape)
+ h5tools_str_append(str, "\t");
+ else
+ h5tools_str_append(str, "\\t");
+ break;
+ default:
+ if (isprint(ch))
+ h5tools_str_append(str, "%c", ch);
+ else
+ h5tools_str_append(str, "\\%03o", ch);
- break;
+ break;
}
}
}
void
-h5tools_str_indent(h5tools_str_t *str, const h5tool_format_t *info,
- h5tools_context_t *ctx)
+h5tools_str_indent(h5tools_str_t *str, const h5tool_format_t *info, h5tools_context_t *ctx)
{
unsigned u, indentlevel = 0;
/* Write new prefix */
- if(ctx->indent_level > 0)
+ if (ctx->indent_level > 0)
indentlevel = ctx->indent_level;
else
/*
@@ -628,7 +622,7 @@ h5tools_str_indent(h5tools_str_t *str, const h5tool_format_t *info,
*/
indentlevel = ctx->default_indent_level;
- for(u = 0; u < indentlevel; u++)
+ for (u = 0; u < indentlevel; u++)
h5tools_str_append(str, "%s", OPT(info->line_indent, ""));
}
@@ -642,24 +636,24 @@ h5tools_str_indent(h5tools_str_t *str, const h5tool_format_t *info,
*-------------------------------------------------------------------------
*/
char *
-h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t container,
- hid_t type, void *vp, h5tools_context_t *ctx)
+h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t container, hid_t type, void *vp,
+ h5tools_context_t *ctx)
{
- size_t nsize, offset, size=0, nelmts, start;
+ size_t nsize, offset, size = 0, nelmts, start;
H5T_sign_t nsign;
- char *name = NULL;
+ char * name = NULL;
unsigned char *ucp_vp = (unsigned char *)vp;
- char *cp_vp = (char *)vp;
- hid_t memb = H5I_INVALID_HID;
- hid_t obj = H5I_INVALID_HID;
+ char * cp_vp = (char *)vp;
+ hid_t memb = H5I_INVALID_HID;
+ hid_t obj = H5I_INVALID_HID;
static char fmt_llong[8], fmt_ullong[8];
H5T_str_t pad;
H5T_class_t type_class;
- char *ret_value = NULL;
+ char * ret_value = NULL;
H5TOOLS_START_DEBUG("");
/* Build default formats for long long types */
- if(!fmt_llong[0]) {
+ if (!fmt_llong[0]) {
HDsnprintf(fmt_llong, sizeof(fmt_llong), "%%%sd", H5_PRINTF_LL_WIDTH);
HDsnprintf(fmt_ullong, sizeof(fmt_ullong), "%%%su", H5_PRINTF_LL_WIDTH);
}
@@ -669,44 +663,44 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
nsize = H5Tget_size(type);
nsign = H5Tget_sign(type);
- if(info->raw) {
+ if (info->raw) {
size_t i;
H5TOOLS_DEBUG("info->raw");
- if(1 == nsize)
+ if (1 == nsize)
h5tools_str_append(str, OPT(info->fmt_raw, "0x%02x"), ucp_vp[0]);
else
- for(i = 0; i < nsize; i++) {
- if(i)
+ for (i = 0; i < nsize; i++) {
+ if (i)
h5tools_str_append(str, ":");
h5tools_str_append(str, OPT(info->fmt_raw, "%02x"), ucp_vp[i]);
}
}
else {
H5TOOLS_DEBUG("H5Tget_class(type)");
- if((type_class = H5Tget_class(type)) < 0) {
+ if ((type_class = H5Tget_class(type)) < 0) {
H5TOOLS_ENDDEBUG(" with %s", "NULL");
return NULL;
}
switch (type_class) {
case H5T_FLOAT:
H5TOOLS_DEBUG("H5T_FLOAT");
- if(sizeof(float) == nsize) {
+ if (sizeof(float) == nsize) {
/* if (H5Tequal(type, H5T_NATIVE_FLOAT)) */
float tempfloat;
HDmemcpy(&tempfloat, vp, sizeof(float));
h5tools_str_append(str, OPT(info->fmt_float, "%g"), (double)tempfloat);
}
- else if(sizeof(double) == nsize) {
+ else if (sizeof(double) == nsize) {
/* if (H5Tequal(type, H5T_NATIVE_DOUBLE)) */
double tempdouble;
HDmemcpy(&tempdouble, vp, sizeof(double));
h5tools_str_append(str, OPT(info->fmt_double, "%g"), tempdouble);
-#if H5_SIZEOF_LONG_DOUBLE !=0
+#if H5_SIZEOF_LONG_DOUBLE != 0
}
- else if(sizeof(long double) == nsize) {
+ else if (sizeof(long double) == nsize) {
/* if (H5Tequal(type, H5T_NATIVE_LDOUBLE)) */
long double templdouble;
@@ -716,100 +710,100 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
}
break;
- case H5T_STRING:
- {
- unsigned int i;
- char quote = '\0';
- char *s;
-
- H5TOOLS_DEBUG("H5T_STRING");
- quote = '\0';
- if(H5Tis_variable_str(type)) {
- /* cp_vp is the pointer into the struct where a `char*' is stored. So we have
- * to dereference the pointer to get the `char*' to pass to HDstrlen(). */
- s = *(char **)((void *)cp_vp);
- if(s != NULL)
- size = HDstrlen(s);
- }
- else {
- s = cp_vp;
- size = H5Tget_size(type);
- }
- pad = H5Tget_strpad(type);
+ case H5T_STRING: {
+ unsigned int i;
+ char quote = '\0';
+ char * s;
+
+ H5TOOLS_DEBUG("H5T_STRING");
+ quote = '\0';
+ if (H5Tis_variable_str(type)) {
+ /* cp_vp is the pointer into the struct where a `char*' is stored. So we have
+ * to dereference the pointer to get the `char*' to pass to HDstrlen(). */
+ s = *(char **)((void *)cp_vp);
+ if (s != NULL)
+ size = HDstrlen(s);
+ }
+ else {
+ s = cp_vp;
+ size = H5Tget_size(type);
+ }
+ pad = H5Tget_strpad(type);
- /* Check for NULL pointer for string */
- if(s == NULL)
- h5tools_str_append(str, "NULL");
- else {
- for(i = 0; i < size && (s[i] || pad != H5T_STR_NULLTERM); i++) {
- unsigned j = 1;
-
- /*
- * Count how many times the next character repeats. If the
- * threshold is zero then that means it can repeat any number
- * of times.
- */
- if(info->str_repeat > 0)
- while (i + j < size && s[i] == s[i + j])
- j++;
-
- /*
- * Print the opening quote. If the repeat count is high enough to
- * warrant printing the number of repeats instead of enumerating
- * the characters, then make sure the character to be repeated is
- * in it's own quote.
- */
- if(info->str_repeat > 0 && j > info->str_repeat) {
- if(quote)
- h5tools_str_append(str, "%c", quote);
-
- quote = '\'';
- h5tools_str_append(str, "%s%c", i ? " " : "", quote);
- }
- else if(!quote) {
- quote = '"';
- h5tools_str_append(str, "%s%c", i ? " " : "", quote);
- }
+ /* Check for NULL pointer for string */
+ if (s == NULL)
+ h5tools_str_append(str, "NULL");
+ else {
+ for (i = 0; i < size && (s[i] || pad != H5T_STR_NULLTERM); i++) {
+ unsigned j = 1;
+
+ /*
+ * Count how many times the next character repeats. If the
+ * threshold is zero then that means it can repeat any number
+ * of times.
+ */
+ if (info->str_repeat > 0)
+ while (i + j < size && s[i] == s[i + j])
+ j++;
+
+ /*
+ * Print the opening quote. If the repeat count is high enough to
+ * warrant printing the number of repeats instead of enumerating
+ * the characters, then make sure the character to be repeated is
+ * in it's own quote.
+ */
+ if (info->str_repeat > 0 && j > info->str_repeat) {
+ if (quote)
+ h5tools_str_append(str, "%c", quote);
+
+ quote = '\'';
+ h5tools_str_append(str, "%s%c", i ? " " : "", quote);
+ }
+ else if (!quote) {
+ quote = '"';
+ h5tools_str_append(str, "%s%c", i ? " " : "", quote);
+ }
- /* Print the character */
- h5tools_print_char(str, info, s[i]);
+ /* Print the character */
+ h5tools_print_char(str, info, s[i]);
- /* Print the repeat count */
- if(info->str_repeat && j > info->str_repeat) {
+ /* Print the repeat count */
+ if (info->str_repeat && j > info->str_repeat) {
#ifdef REPEAT_VERBOSE
- h5tools_str_append(str, "%c repeats %d times", quote, j - 1);
+ h5tools_str_append(str, "%c repeats %d times", quote, j - 1);
#else
- h5tools_str_append(str, "%c*%d", quote, j - 1);
-#endif /* REPEAT_VERBOSE */
- quote = '\0';
- i += j - 1;
- }
+ h5tools_str_append(str, "%c*%d", quote, j - 1);
+#endif /* REPEAT_VERBOSE */
+ quote = '\0';
+ i += j - 1;
}
+ }
- if(quote)
- h5tools_str_append(str, "%c", quote);
+ if (quote)
+ h5tools_str_append(str, "%c", quote);
- if(i == 0)
- /*empty string*/
- h5tools_str_append(str, "\"\"");
- } /* end else */
- }
- break;
+ if (i == 0)
+ /*empty string*/
+ h5tools_str_append(str, "\"\"");
+ } /* end else */
+ } break;
case H5T_INTEGER:
H5TOOLS_DEBUG("H5T_INTEGER");
- if(sizeof(char) == nsize) {
- if(info->ascii)
- h5tools_print_char(str, info, (char) (*ucp_vp));
- else if(H5T_SGN_NONE == nsign) {
+ if (sizeof(char) == nsize) {
+ if (info->ascii)
+ h5tools_print_char(str, info, (char)(*ucp_vp));
+ else if (H5T_SGN_NONE == nsign) {
unsigned char tempuchar;
HDmemcpy(&tempuchar, ucp_vp, sizeof(unsigned char));
- if(packed_bits_num) {
- if(packed_data_offset >= 8 * sizeof(unsigned char))
+ if (packed_bits_num) {
+ if (packed_data_offset >= 8 * sizeof(unsigned char))
tempuchar = 0;
else
- tempuchar = (unsigned char)((unsigned long long)(tempuchar >> packed_data_offset) & packed_data_mask);
+ tempuchar =
+ (unsigned char)((unsigned long long)(tempuchar >> packed_data_offset) &
+ packed_data_mask);
}
h5tools_str_append(str, OPT(info->fmt_uchar, "%hhu"), tempuchar);
}
@@ -817,22 +811,24 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
signed char tempchar;
HDmemcpy(&tempchar, cp_vp, sizeof(char));
- if(packed_bits_num) {
- if(packed_data_offset >= 8 * sizeof(char))
+ if (packed_bits_num) {
+ if (packed_data_offset >= 8 * sizeof(char))
tempchar = 0;
else
- tempchar = (signed char)((unsigned long long)(tempchar >> packed_data_offset) & packed_data_mask);
+ tempchar =
+ (signed char)((unsigned long long)(tempchar >> packed_data_offset) &
+ packed_data_mask);
}
h5tools_str_append(str, OPT(info->fmt_schar, "%hhd"), tempchar);
}
} /* end if (sizeof(char) == nsize) */
- else if(sizeof(int) == nsize) {
- if(H5T_SGN_NONE == nsign) {
+ else if (sizeof(int) == nsize) {
+ if (H5T_SGN_NONE == nsign) {
unsigned int tempuint;
HDmemcpy(&tempuint, vp, sizeof(unsigned int));
- if(packed_bits_num) {
- if(packed_data_offset >= 8 * sizeof(unsigned int))
+ if (packed_bits_num) {
+ if (packed_data_offset >= 8 * sizeof(unsigned int))
tempuint = 0;
else
tempuint = (unsigned)((tempuint >> packed_data_offset) & packed_data_mask);
@@ -843,25 +839,28 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
int tempint;
HDmemcpy(&tempint, vp, sizeof(int));
- if(packed_bits_num) {
- if(packed_data_offset >= 8 * sizeof(int))
+ if (packed_bits_num) {
+ if (packed_data_offset >= 8 * sizeof(int))
tempint = 0;
else
- tempint = (int)((unsigned long long)(tempint >> packed_data_offset) & packed_data_mask);
+ tempint = (int)((unsigned long long)(tempint >> packed_data_offset) &
+ packed_data_mask);
}
h5tools_str_append(str, OPT(info->fmt_int, "%d"), tempint);
}
} /* end if (sizeof(int) == nsize) */
- else if(sizeof(short) == nsize) {
- if(H5T_SGN_NONE == nsign) {
+ else if (sizeof(short) == nsize) {
+ if (H5T_SGN_NONE == nsign) {
unsigned short tempushort;
HDmemcpy(&tempushort, vp, sizeof(unsigned short));
- if(packed_bits_num) {
- if(packed_data_offset >= 8 * sizeof(unsigned short))
+ if (packed_bits_num) {
+ if (packed_data_offset >= 8 * sizeof(unsigned short))
tempushort = 0;
else
- tempushort = (unsigned short)((unsigned long long)(tempushort >> packed_data_offset) & packed_data_mask);
+ tempushort =
+ (unsigned short)((unsigned long long)(tempushort >> packed_data_offset) &
+ packed_data_mask);
}
h5tools_str_append(str, OPT(info->fmt_ushort, "%hu"), tempushort);
}
@@ -869,22 +868,23 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
short tempshort;
HDmemcpy(&tempshort, vp, sizeof(short));
- if(packed_bits_num) {
- if(packed_data_offset >= 8 * sizeof(short))
+ if (packed_bits_num) {
+ if (packed_data_offset >= 8 * sizeof(short))
tempshort = 0;
else
- tempshort = (short)((unsigned long long)(tempshort >> packed_data_offset) & packed_data_mask);
+ tempshort = (short)((unsigned long long)(tempshort >> packed_data_offset) &
+ packed_data_mask);
}
h5tools_str_append(str, OPT(info->fmt_short, "%hd"), tempshort);
}
} /* end if (sizeof(short) == nsize) */
- else if(sizeof(long) == nsize) {
- if(H5T_SGN_NONE == nsign) {
+ else if (sizeof(long) == nsize) {
+ if (H5T_SGN_NONE == nsign) {
unsigned long tempulong;
HDmemcpy(&tempulong, vp, sizeof(unsigned long));
- if(packed_bits_num) {
- if(packed_data_offset >= 8 * sizeof(unsigned long))
+ if (packed_bits_num) {
+ if (packed_data_offset >= 8 * sizeof(unsigned long))
tempulong = 0;
else
tempulong = (tempulong >> packed_data_offset) & packed_data_mask;
@@ -895,23 +895,24 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
long templong;
HDmemcpy(&templong, vp, sizeof(long));
- if(packed_bits_num) {
- if(packed_data_offset >= 8 * sizeof(long))
+ if (packed_bits_num) {
+ if (packed_data_offset >= 8 * sizeof(long))
templong = 0;
else
- templong = (long)((unsigned long long)(templong >> packed_data_offset) & packed_data_mask);
+ templong = (long)((unsigned long long)(templong >> packed_data_offset) &
+ packed_data_mask);
}
h5tools_str_append(str, OPT(info->fmt_long, "%ld"), templong);
}
} /* end if (sizeof(long) == nsize) */
#if H5_SIZEOF_LONG != H5_SIZEOF_LONG_LONG
- else if(sizeof(long long) == nsize) {
- if(H5T_SGN_NONE == nsign) {
+ else if (sizeof(long long) == nsize) {
+ if (H5T_SGN_NONE == nsign) {
unsigned long long tempullong;
HDmemcpy(&tempullong, vp, sizeof(unsigned long long));
- if(packed_bits_num) {
- if(packed_data_offset >= 8 * sizeof(unsigned long long))
+ if (packed_bits_num) {
+ if (packed_data_offset >= 8 * sizeof(unsigned long long))
tempullong = 0;
else
tempullong = (tempullong >> packed_data_offset) & packed_data_mask;
@@ -922,8 +923,8 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
long long templlong;
HDmemcpy(&templlong, vp, sizeof(long long));
- if(packed_bits_num) {
- if(packed_data_offset >= 8 * sizeof(long long))
+ if (packed_bits_num) {
+ if (packed_data_offset >= 8 * sizeof(long long))
templlong = 0;
else
templlong = (templlong >> packed_data_offset) & packed_data_mask;
@@ -931,19 +932,19 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
h5tools_str_append(str, OPT(info->fmt_llong, fmt_llong), templlong);
}
} /* end if (sizeof(long long) == nsize) */
-#endif /* H5_SIZEOF_LONG != H5_SIZEOF_LONG_LONG */
+#endif /* H5_SIZEOF_LONG != H5_SIZEOF_LONG_LONG */
break;
case H5T_COMPOUND:
H5TOOLS_DEBUG("H5T_COMPOUND");
- if(ctx->cmpd_listv) { /* there is <list_of_fields> */
- unsigned save_indent_level; /* The indentation level */
- size_t curr_field; /* Current field to display */
- int i = 0; /* Local index variable */
- unsigned x = 0; /* Local index variable */
- const H5LD_memb_t * const *listv; /* Vector of information for <list_of_fields> */
-
- listv = ctx->cmpd_listv;
+ if (ctx->cmpd_listv) { /* there is <list_of_fields> */
+ unsigned save_indent_level; /* The indentation level */
+ size_t curr_field; /* Current field to display */
+ int i = 0; /* Local index variable */
+ unsigned x = 0; /* Local index variable */
+ const H5LD_memb_t *const *listv; /* Vector of information for <list_of_fields> */
+
+ listv = ctx->cmpd_listv;
ctx->cmpd_listv = NULL;
h5tools_str_append(str, "%s", OPT(info->cmpd_pre, "{"));
@@ -954,39 +955,38 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
* put in "{", "}", ",", member name and value accordingly.
*/
save_indent_level = ctx->indent_level;
- for(curr_field = 0; listv[curr_field] != NULL; curr_field++) {
- if(curr_field)
- h5tools_str_append(str, "%s", OPT(info->cmpd_sep, ", "OPTIONAL_LINE_BREAK));
+ for (curr_field = 0; listv[curr_field] != NULL; curr_field++) {
+ if (curr_field)
+ h5tools_str_append(str, "%s", OPT(info->cmpd_sep, ", " OPTIONAL_LINE_BREAK));
else
h5tools_str_append(str, "%s", OPT(info->cmpd_end, ""));
- if(info->arr_linebreak)
+ if (info->arr_linebreak)
h5tools_str_indent(str, info, ctx);
/* Process members of each field */
- for(i = 0; listv[curr_field]->names[i] != NULL; i++) {
+ for (i = 0; listv[curr_field]->names[i] != NULL; i++) {
h5tools_str_append(str, OPT(info->cmpd_name, ""), listv[curr_field]->names[i]);
- if(i) {
+ if (i) {
ctx->indent_level++;
h5tools_str_append(str, "%s", OPT(info->cmpd_pre, "{"));
}
}
- h5tools_str_sprint(str, info, container, listv[curr_field]->last_tid, cp_vp + listv[curr_field]->tot_offset, ctx);
- if(ctx->indent_level > 0)
- for(x = ctx->indent_level; x > 0; x--)
+ h5tools_str_sprint(str, info, container, listv[curr_field]->last_tid,
+ cp_vp + listv[curr_field]->tot_offset, ctx);
+ if (ctx->indent_level > 0)
+ for (x = ctx->indent_level; x > 0; x--)
h5tools_str_append(str, "%s", OPT(info->cmpd_suf, "}"));
ctx->indent_level = save_indent_level;
}
-
- if(info->arr_linebreak) {
+ if (info->arr_linebreak) {
h5tools_str_append(str, "%s", OPT(info->cmpd_end, ""));
h5tools_str_indent(str, info, ctx);
}
h5tools_str_append(str, "%s", OPT(info->cmpd_suf, "}"));
ctx->cmpd_listv = info->cmpd_listv;
-
}
else {
int retvalue;
@@ -1000,13 +1000,13 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
ctx->indent_level++;
- for(j = 0; j < nmembs; j++) {
- if(j)
- h5tools_str_append(str, "%s", OPT(info->cmpd_sep, ", "OPTIONAL_LINE_BREAK));
+ for (j = 0; j < nmembs; j++) {
+ if (j)
+ h5tools_str_append(str, "%s", OPT(info->cmpd_sep, ", " OPTIONAL_LINE_BREAK));
else
h5tools_str_append(str, "%s", OPT(info->cmpd_end, ""));
- if(info->arr_linebreak)
+ if (info->arr_linebreak)
h5tools_str_indent(str, info, ctx);
/* The name */
@@ -1016,7 +1016,7 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
/* The value */
offset = H5Tget_member_offset(type, j);
- memb = H5Tget_member_type(type, j);
+ memb = H5Tget_member_type(type, j);
h5tools_str_sprint(str, info, container, memb, cp_vp + offset, ctx);
@@ -1024,7 +1024,7 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
}
ctx->indent_level--;
- if(info->arr_linebreak) {
+ if (info->arr_linebreak) {
h5tools_str_append(str, "%s", OPT(info->cmpd_end, ""));
h5tools_str_indent(str, info, ctx);
}
@@ -1033,46 +1033,43 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
}
break;
- case H5T_ENUM:
- {
- char enum_name[1024];
+ case H5T_ENUM: {
+ char enum_name[1024];
- H5TOOLS_DEBUG("H5T_ENUM");
- if(H5Tenum_nameof(type, vp, enum_name, sizeof enum_name) >= 0)
- h5tools_str_append(str, h5tools_escape(enum_name, sizeof(enum_name)));
- else {
- size_t i;
- if(1 == nsize)
- h5tools_str_append(str, "0x%02x", ucp_vp[0]);
- else
- for(i = 0; i < nsize; i++)
- h5tools_str_append(str, "%s%02x", i ? ":" : "", ucp_vp[i]);
- }
+ H5TOOLS_DEBUG("H5T_ENUM");
+ if (H5Tenum_nameof(type, vp, enum_name, sizeof enum_name) >= 0)
+ h5tools_str_append(str, h5tools_escape(enum_name, sizeof(enum_name)));
+ else {
+ size_t i;
+ if (1 == nsize)
+ h5tools_str_append(str, "0x%02x", ucp_vp[0]);
+ else
+ for (i = 0; i < nsize; i++)
+ h5tools_str_append(str, "%s%02x", i ? ":" : "", ucp_vp[i]);
}
- break;
+ } break;
case H5T_REFERENCE:
H5TOOLS_DEBUG("H5T_REFERENCE");
- if(h5tools_str_is_zero(vp, nsize))
+ if (h5tools_str_is_zero(vp, nsize))
h5tools_str_append(str, "NULL");
else {
if (H5Tequal(type, H5T_STD_REF)) {
- H5O_type_t obj_type = -1; /* Object type */
- H5R_type_t ref_type; /* Reference type */
+ H5O_type_t obj_type = -1; /* Object type */
+ H5R_type_t ref_type; /* Reference type */
H5R_ref_t *ref_vp = (H5R_ref_t *)vp;
H5TOOLS_DEBUG("H5T_REFERENCE:H5T_STD_REF");
ref_type = H5Rget_type(ref_vp);
H5Rget_obj_type3(ref_vp, H5P_DEFAULT, &obj_type);
switch (ref_type) {
- case H5R_OBJECT1:
- {
+ case H5R_OBJECT1: {
/* Object references -- show the type and OID of the referenced object. */
H5O_info2_t oi;
- char *obj_tok_str = NULL;
+ char * obj_tok_str = NULL;
H5TOOLS_DEBUG("ref_type is H5R_OBJECT1");
- if((obj = H5Ropen_object(ref_vp, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((obj = H5Ropen_object(ref_vp, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
H5Oget_info3(obj, &oi, H5O_INFO_BASIC);
H5Otoken_to_str(obj, &oi.token, &obj_tok_str);
}
@@ -1082,44 +1079,45 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
/* Print object type and close object */
switch (obj_type) {
case H5O_TYPE_GROUP:
- h5tools_str_append(str, "%u-%s", (unsigned) oi.type, H5_TOOLS_GROUP);
+ h5tools_str_append(str, "%u-%s", (unsigned)oi.type, H5_TOOLS_GROUP);
break;
case H5O_TYPE_DATASET:
- h5tools_str_append(str, "%u-%s", (unsigned) oi.type, H5_TOOLS_DATASET);
+ h5tools_str_append(str, "%u-%s", (unsigned)oi.type, H5_TOOLS_DATASET);
break;
case H5O_TYPE_NAMED_DATATYPE:
- h5tools_str_append(str, "%u-%s", (unsigned) oi.type, H5_TOOLS_DATATYPE);
+ h5tools_str_append(str, "%u-%s", (unsigned)oi.type,
+ H5_TOOLS_DATATYPE);
break;
case H5O_TYPE_MAP:
case H5O_TYPE_UNKNOWN:
case H5O_TYPE_NTYPES:
default:
- h5tools_str_append(str, "%u-%s", (unsigned) oi.type, H5_TOOLS_UNKNOWN);
+ h5tools_str_append(str, "%u-%s", (unsigned)oi.type, H5_TOOLS_UNKNOWN);
break;
} /* end switch */
h5tools_str_sprint_reference(str, ref_vp);
/* Print OID */
- if(info->obj_hidefileno)
+ if (info->obj_hidefileno)
h5tools_str_append(str, info->obj_format, obj_tok_str);
else
h5tools_str_append(str, info->obj_format, oi.fileno, obj_tok_str);
- if(obj_tok_str) {
+ if (obj_tok_str) {
H5free_memory(obj_tok_str);
obj_tok_str = NULL;
}
- if(obj >= 0)
- if(H5Oclose(obj) < 0)
+ if (obj >= 0)
+ if (H5Oclose(obj) < 0)
H5TOOLS_ERROR(NULL, "H5Oclose H5R_OBJECT1 failed");
- }
+ }
- break;
+ break;
case H5R_DATASET_REGION1:
H5TOOLS_DEBUG("ref_type is H5R_DATASET_REGION1");
h5tools_str_append(str, H5_TOOLS_DATASET);
@@ -1177,132 +1175,127 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
}
break;
- case H5T_ARRAY:
- {
- int k, ndims;
- hsize_t i, dims[H5S_MAX_RANK], temp_nelmts;
- static int is_next_arry_elmt = 0;
-
- H5TOOLS_DEBUG("H5T_ARRAY");
- /* Get the array's base datatype for each element */
- memb = H5Tget_super(type);
- size = H5Tget_size(memb);
- ndims = H5Tget_array_ndims(type);
- H5Tget_array_dims2(type, dims);
- HDassert(ndims >= 1 && ndims <= H5S_MAX_RANK);
-
- /* Calculate the number of array elements */
- for(k = 0, nelmts = 1; k < ndims; k++) {
- temp_nelmts = nelmts;
- temp_nelmts *= dims[k];
- HDassert(temp_nelmts == (hsize_t) ((size_t) temp_nelmts));
- nelmts = (size_t) temp_nelmts;
- }
- /* Print the opening bracket */
- h5tools_str_append(str, "%s", OPT(info->arr_pre, "["));
-
- ctx->indent_level++;
+ case H5T_ARRAY: {
+ int k, ndims;
+ hsize_t i, dims[H5S_MAX_RANK], temp_nelmts;
+ static int is_next_arry_elmt = 0;
+
+ H5TOOLS_DEBUG("H5T_ARRAY");
+ /* Get the array's base datatype for each element */
+ memb = H5Tget_super(type);
+ size = H5Tget_size(memb);
+ ndims = H5Tget_array_ndims(type);
+ H5Tget_array_dims2(type, dims);
+ HDassert(ndims >= 1 && ndims <= H5S_MAX_RANK);
+
+ /* Calculate the number of array elements */
+ for (k = 0, nelmts = 1; k < ndims; k++) {
+ temp_nelmts = nelmts;
+ temp_nelmts *= dims[k];
+ HDassert(temp_nelmts == (hsize_t)((size_t)temp_nelmts));
+ nelmts = (size_t)temp_nelmts;
+ }
+ /* Print the opening bracket */
+ h5tools_str_append(str, "%s", OPT(info->arr_pre, "["));
- for(i = 0; i < nelmts; i++) {
- if(i)
- h5tools_str_append(str, "%s", OPT(info->arr_sep, "," OPTIONAL_LINE_BREAK));
+ ctx->indent_level++;
- if(info->arr_linebreak && i && i % dims[ndims - 1] == 0) {
- h5tools_str_append(str, "%s", "\n");
- h5tools_str_indent(str, info, ctx);
+ for (i = 0; i < nelmts; i++) {
+ if (i)
+ h5tools_str_append(str, "%s", OPT(info->arr_sep, "," OPTIONAL_LINE_BREAK));
- } /* end if */
- else if(i && info->arr_sep) {
- /* if next element begin, add next line with indent */
- if(is_next_arry_elmt) {
- is_next_arry_elmt = 0;
+ if (info->arr_linebreak && i && i % dims[ndims - 1] == 0) {
+ h5tools_str_append(str, "%s", "\n");
+ h5tools_str_indent(str, info, ctx);
- h5tools_str_append(str, "%s", "\n ");
- h5tools_str_indent(str, info, ctx);
+ } /* end if */
+ else if (i && info->arr_sep) {
+ /* if next element begin, add next line with indent */
+ if (is_next_arry_elmt) {
+ is_next_arry_elmt = 0;
- }
- /* otherwise just add space */
- else
- h5tools_str_append(str, " ");
+ h5tools_str_append(str, "%s", "\n ");
+ h5tools_str_indent(str, info, ctx);
+ }
+ /* otherwise just add space */
+ else
+ h5tools_str_append(str, " ");
- } /* end else if */
+ } /* end else if */
- /* Dump values in an array element */
- is_next_arry_elmt = 0; /* dump all values in the array element, so turn it off */
- h5tools_str_sprint(str, info, container, memb, cp_vp + i * size, ctx);
- } /* end for */
+ /* Dump values in an array element */
+ is_next_arry_elmt = 0; /* dump all values in the array element, so turn it off */
+ h5tools_str_sprint(str, info, container, memb, cp_vp + i * size, ctx);
+ } /* end for */
- ctx->indent_level--;
+ ctx->indent_level--;
- /* Print the closing bracket */
- h5tools_str_append(str, "%s", OPT(info->arr_suf, "]"));
- is_next_arry_elmt = 1; /* set for begining of next array element */
- H5Tclose(memb);
- }
- break;
+ /* Print the closing bracket */
+ h5tools_str_append(str, "%s", OPT(info->arr_suf, "]"));
+ is_next_arry_elmt = 1; /* set for begining of next array element */
+ H5Tclose(memb);
+ } break;
- case H5T_VLEN:
- {
- unsigned int i;
+ case H5T_VLEN: {
+ unsigned int i;
- H5TOOLS_DEBUG("H5T_VLEN");
- /* Get the VL sequences's base datatype for each element */
- memb = H5Tget_super(type);
- size = H5Tget_size(memb);
+ H5TOOLS_DEBUG("H5T_VLEN");
+ /* Get the VL sequences's base datatype for each element */
+ memb = H5Tget_super(type);
+ size = H5Tget_size(memb);
- /* Print the opening bracket */
- h5tools_str_append(str, "%s", OPT(info->vlen_pre, "("));
+ /* Print the opening bracket */
+ h5tools_str_append(str, "%s", OPT(info->vlen_pre, "("));
- /* Get the number of sequence elements */
- nelmts = ((hvl_t *)((void *)cp_vp))->len;
+ /* Get the number of sequence elements */
+ nelmts = ((hvl_t *)((void *)cp_vp))->len;
- for(i = 0; i < nelmts; i++) {
- if(i) h5tools_str_append(str, "%s", OPT(info->vlen_sep, "," OPTIONAL_LINE_BREAK));
+ for (i = 0; i < nelmts; i++) {
+ if (i)
+ h5tools_str_append(str, "%s", OPT(info->vlen_sep, "," OPTIONAL_LINE_BREAK));
#ifdef LATER
- /* Need to fix so VL data breaks at correct location on end of line -QAK */
- if(info->arr_linebreak && h5tools_str_len(str)>=info->line_ncols) {
- int x;
+ /* Need to fix so VL data breaks at correct location on end of line -QAK */
+ if (info->arr_linebreak && h5tools_str_len(str) >= info->line_ncols) {
+ int x;
- h5tools_str_append(str, "%s", "\n");
+ h5tools_str_append(str, "%s", "\n");
- /* need to indent some more here */
- if(ctx->indent_level >= 0)
- h5tools_str_append(str, "%s", OPT(info->line_pre, ""));
+ /* need to indent some more here */
+ if (ctx->indent_level >= 0)
+ h5tools_str_append(str, "%s", OPT(info->line_pre, ""));
- for(x = 0; x < ctx->indent_level + 1; x++)
- h5tools_str_append(str,"%s",OPT(info->line_indent,""));
- } /* end if */
-#endif /* LATER */
+ for (x = 0; x < ctx->indent_level + 1; x++)
+ h5tools_str_append(str, "%s", OPT(info->line_indent, ""));
+ } /* end if */
+#endif /* LATER */
- ctx->indent_level++;
+ ctx->indent_level++;
- /* Dump the array element */
- h5tools_str_sprint(str, info, container, memb, ((char *) (((hvl_t *)((void *)cp_vp))->p)) + i * size, ctx);
+ /* Dump the array element */
+ h5tools_str_sprint(str, info, container, memb,
+ ((char *)(((hvl_t *)((void *)cp_vp))->p)) + i * size, ctx);
- ctx->indent_level--;
- } /* end for */
+ ctx->indent_level--;
+ } /* end for */
- h5tools_str_append(str, "%s", OPT(info->vlen_suf, ")"));
- H5Tclose(memb);
- }
- break;
+ h5tools_str_append(str, "%s", OPT(info->vlen_suf, ")"));
+ H5Tclose(memb);
+ } break;
case H5T_TIME:
case H5T_BITFIELD:
- case H5T_OPAQUE:
- {
- /* All other types get printed as hexadecimal */
- size_t i;
-
- H5TOOLS_DEBUG("OTHER");
- if(1 == nsize)
- h5tools_str_append(str, "0x%02x", ucp_vp[0]);
- else
- for(i = 0; i < nsize; i++)
- h5tools_str_append(str, "%s%02x", i ? ":" : "", ucp_vp[i]);
- }
- break;
+ case H5T_OPAQUE: {
+ /* All other types get printed as hexadecimal */
+ size_t i;
+
+ H5TOOLS_DEBUG("OTHER");
+ if (1 == nsize)
+ h5tools_str_append(str, "0x%02x", ucp_vp[0]);
+ else
+ for (i = 0; i < nsize; i++)
+ h5tools_str_append(str, "%s%02x", i ? ":" : "", ucp_vp[i]);
+ } break;
case H5T_NO_CLASS:
case H5T_NCLASSES:
@@ -1318,7 +1311,6 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
return ret_value;
}
-
/*-------------------------------------------------------------------------
* Function: h5tools_str_sprint_reference
*
@@ -1394,70 +1386,70 @@ h5tools_str_sprint_reference(h5tools_str_t *str, H5R_ref_t *ref_vp)
*-------------------------------------------------------------------------
*/
static char *
-h5tools_escape(char *s/*in,out*/, size_t size)
+h5tools_escape(char *s /*in,out*/, size_t size)
{
- register size_t i;
- const char *escape;
- char octal[8];
- size_t n = HDstrlen(s);
+ register size_t i;
+ const char * escape;
+ char octal[8];
+ size_t n = HDstrlen(s);
- for(i = 0; i < n; i++) {
+ for (i = 0; i < n; i++) {
switch (s[i]) {
- case '\'':
- escape = "\\\'";
- break;
- case '\"':
- escape = "\\\"";
- break;
- case '\\':
- escape = "\\\\";
- break;
- case '\?':
- escape = "\\\?";
- break;
- case '\a':
- escape = "\\a";
- break;
- case '\b':
- escape = "\\b";
- break;
- case '\f':
- escape = "\\f";
- break;
- case '\n':
- escape = "\\n";
- break;
- case '\r':
- escape = "\\r";
- break;
- case '\t':
- escape = "\\t";
- break;
- case '\v':
- escape = "\\v";
- break;
- default:
- if(!isprint(s[i])) {
- HDsnprintf(octal, sizeof(octal), "\\%03o", (unsigned char) s[i]);
- escape = octal;
- }
- else
- escape = NULL;
+ case '\'':
+ escape = "\\\'";
+ break;
+ case '\"':
+ escape = "\\\"";
+ break;
+ case '\\':
+ escape = "\\\\";
+ break;
+ case '\?':
+ escape = "\\\?";
+ break;
+ case '\a':
+ escape = "\\a";
+ break;
+ case '\b':
+ escape = "\\b";
+ break;
+ case '\f':
+ escape = "\\f";
+ break;
+ case '\n':
+ escape = "\\n";
+ break;
+ case '\r':
+ escape = "\\r";
+ break;
+ case '\t':
+ escape = "\\t";
+ break;
+ case '\v':
+ escape = "\\v";
+ break;
+ default:
+ if (!isprint(s[i])) {
+ HDsnprintf(octal, sizeof(octal), "\\%03o", (unsigned char)s[i]);
+ escape = octal;
+ }
+ else
+ escape = NULL;
- break;
+ break;
}
- if(escape) {
+ if (escape) {
size_t esc_size = HDstrlen(escape);
- if(n + esc_size + 1 > size)
+ if (n + esc_size + 1 > size)
/*would overflow*/
return NULL;
HDmemmove(s + i + esc_size, s + i + 1, n - i); /*make room*/
- HDmemcpy(s + i, escape, esc_size); /*insert*/
- n += esc_size - 1; /* adjust total string size */
- i += esc_size; /* adjust string position */
+ HDmemcpy(s + i, escape, esc_size); /*insert*/
+ n += esc_size - 1; /* adjust total string size */
+ i += esc_size; /* adjust string position */
}
}
@@ -1478,10 +1470,10 @@ h5tools_escape(char *s/*in,out*/, size_t size)
static hbool_t
h5tools_str_is_zero(const void *_mem, size_t size)
{
- const unsigned char *mem = (const unsigned char *) _mem;
+ const unsigned char *mem = (const unsigned char *)_mem;
- while(size-- > 0)
- if(mem[size])
+ while (size-- > 0)
+ if (mem[size])
return FALSE;
return TRUE;
@@ -1504,30 +1496,31 @@ h5tools_str_is_zero(const void *_mem, size_t size)
*-------------------------------------------------------------------------
*/
char *
-h5tools_str_replace ( const char *string, const char *substr, const char *replacement )
+h5tools_str_replace(const char *string, const char *substr, const char *replacement)
{
char *tok = NULL;
char *newstr = NULL;
char *head = NULL;
- if(substr == NULL || replacement == NULL)
+ if (substr == NULL || replacement == NULL)
return HDstrdup(string);
newstr = HDstrdup(string);
- head = newstr;
- while((tok = HDstrstr(head, substr))) {
+ head = newstr;
+ while ((tok = HDstrstr(head, substr))) {
char *oldstr;
oldstr = newstr;
newstr = (char *)HDmalloc(HDstrlen(oldstr) - HDstrlen(substr) + HDstrlen(replacement) + 1);
- if(newstr == NULL) {
+ if (newstr == NULL) {
HDfree(oldstr);
return NULL;
}
HDmemcpy(newstr, oldstr, (size_t)(tok - oldstr));
HDmemcpy(newstr + (tok - oldstr), replacement, HDstrlen(replacement));
- HDmemcpy(newstr + (tok - oldstr) + HDstrlen(replacement), tok + HDstrlen(substr), HDstrlen(oldstr) - HDstrlen(substr) - (size_t)(tok - oldstr));
- HDmemset(newstr + HDstrlen (oldstr) - HDstrlen(substr) + HDstrlen(replacement) , 0, 1);
+ HDmemcpy(newstr + (tok - oldstr) + HDstrlen(replacement), tok + HDstrlen(substr),
+ HDstrlen(oldstr) - HDstrlen(substr) - (size_t)(tok - oldstr));
+ HDmemset(newstr + HDstrlen(oldstr) - HDstrlen(substr) + HDstrlen(replacement), 0, 1);
/* move back head right after the last replacement */
head = newstr + (tok - oldstr) + HDstrlen(replacement);
HDfree(oldstr);
@@ -1535,4 +1528,3 @@ h5tools_str_replace ( const char *string, const char *substr, const char *replac
return newstr;
}
-
diff --git a/tools/lib/h5tools_str.h b/tools/lib/h5tools_str.h
index 65446ee..992ad13 100644
--- a/tools/lib/h5tools_str.h
+++ b/tools/lib/h5tools_str.h
@@ -19,32 +19,31 @@
#define H5TOOLS_STR_H__
typedef struct h5tools_str_t {
- char *s; /*allocate string */
- size_t len; /*length of actual value */
- size_t nalloc; /*allocated size of string */
+ char * s; /*allocate string */
+ size_t len; /*length of actual value */
+ size_t nalloc; /*allocated size of string */
} h5tools_str_t;
-H5TOOLS_DLL void h5tools_str_close(h5tools_str_t *str);
-H5TOOLS_DLL size_t h5tools_str_len(h5tools_str_t *str);
-H5TOOLS_DLL char *h5tools_str_append(h5tools_str_t *str, const char *fmt, ...);
-H5TOOLS_DLL char *h5tools_str_reset(h5tools_str_t *str);
-H5TOOLS_DLL char *h5tools_str_trunc(h5tools_str_t *str, size_t size);
-H5TOOLS_DLL char *h5tools_str_fmt(h5tools_str_t *str, size_t start, const char *fmt);
-H5TOOLS_DLL char *h5tools_str_prefix(h5tools_str_t *str, const h5tool_format_t *info,
- hsize_t elmtno, h5tools_context_t *ctx);
+H5TOOLS_DLL void h5tools_str_close(h5tools_str_t *str);
+H5TOOLS_DLL size_t h5tools_str_len(h5tools_str_t *str);
+H5TOOLS_DLL char * h5tools_str_append(h5tools_str_t *str, const char *fmt, ...);
+H5TOOLS_DLL char * h5tools_str_reset(h5tools_str_t *str);
+H5TOOLS_DLL char * h5tools_str_trunc(h5tools_str_t *str, size_t size);
+H5TOOLS_DLL char * h5tools_str_fmt(h5tools_str_t *str, size_t start, const char *fmt);
+H5TOOLS_DLL char * h5tools_str_prefix(h5tools_str_t *str, const h5tool_format_t *info, hsize_t elmtno,
+ h5tools_context_t *ctx);
/*
* new functions needed to display region reference data
*/
-H5TOOLS_DLL char *h5tools_str_region_prefix(h5tools_str_t *str, const h5tool_format_t *info,
- hsize_t elmtno, hsize_t *ptdata, h5tools_context_t *ctx);
-H5TOOLS_DLL void h5tools_str_dump_space_slabs(h5tools_str_t *, hid_t, const h5tool_format_t *, h5tools_context_t *ctx);
-H5TOOLS_DLL void h5tools_str_dump_space_blocks(h5tools_str_t *, hid_t, const h5tool_format_t *);
-H5TOOLS_DLL void h5tools_str_dump_space_points(h5tools_str_t *, hid_t, const h5tool_format_t *);
-H5TOOLS_DLL void h5tools_str_sprint_reference(h5tools_str_t *str, H5R_ref_t *vp);
-H5TOOLS_DLL char *h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info,
- hid_t container, hid_t type, void *vp,
- h5tools_context_t *ctx);
-H5TOOLS_DLL char *h5tools_str_replace ( const char *string, const char *substr,
- const char *replacement );
+H5TOOLS_DLL char *h5tools_str_region_prefix(h5tools_str_t *str, const h5tool_format_t *info, hsize_t elmtno,
+ hsize_t *ptdata, h5tools_context_t *ctx);
+H5TOOLS_DLL void h5tools_str_dump_space_slabs(h5tools_str_t *, hid_t, const h5tool_format_t *,
+ h5tools_context_t *ctx);
+H5TOOLS_DLL void h5tools_str_dump_space_blocks(h5tools_str_t *, hid_t, const h5tool_format_t *);
+H5TOOLS_DLL void h5tools_str_dump_space_points(h5tools_str_t *, hid_t, const h5tool_format_t *);
+H5TOOLS_DLL void h5tools_str_sprint_reference(h5tools_str_t *str, H5R_ref_t *vp);
+H5TOOLS_DLL char *h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t container,
+ hid_t type, void *vp, h5tools_context_t *ctx);
+H5TOOLS_DLL char *h5tools_str_replace(const char *string, const char *substr, const char *replacement);
-#endif /* H5TOOLS_STR_H__ */
+#endif /* H5TOOLS_STR_H__ */
diff --git a/tools/lib/h5tools_type.c b/tools/lib/h5tools_type.c
index 22e4a39..4ebe310 100644
--- a/tools/lib/h5tools_type.c
+++ b/tools/lib/h5tools_type.c
@@ -26,7 +26,7 @@
hid_t
h5tools_get_little_endian_type(hid_t tid)
{
- hid_t p_type=H5I_INVALID_HID;
+ hid_t p_type = H5I_INVALID_HID;
H5T_class_t type_class;
size_t size;
H5T_sign_t sign;
@@ -35,7 +35,7 @@ h5tools_get_little_endian_type(hid_t tid)
size = H5Tget_size(tid);
sign = H5Tget_sign(tid);
- switch(type_class) {
+ switch (type_class) {
case H5T_INTEGER:
if (size == 1 && sign == H5T_SGN_2)
p_type = H5Tcopy(H5T_STD_I8LE);
@@ -93,7 +93,6 @@ h5tools_get_little_endian_type(hid_t tid)
return p_type;
} /* end h5tools_get_little_endian_type() */
-
/*-------------------------------------------------------------------------
* Function: h5tools_get_big_endian_type
*
@@ -115,7 +114,7 @@ h5tools_get_big_endian_type(hid_t tid)
size = H5Tget_size(tid);
sign = H5Tget_sign(tid);
- switch(type_class) {
+ switch (type_class) {
case H5T_INTEGER:
if (size == 1 && sign == H5T_SGN_2)
p_type = H5Tcopy(H5T_STD_I8BE);
@@ -150,7 +149,7 @@ h5tools_get_big_endian_type(hid_t tid)
else if (size == 4)
p_type = H5Tcopy(H5T_STD_B32BE);
else if (size == 8)
- p_type=H5Tcopy(H5T_STD_B64BE);
+ p_type = H5Tcopy(H5T_STD_B64BE);
break;
case H5T_TIME:
@@ -171,4 +170,3 @@ h5tools_get_big_endian_type(hid_t tid)
return p_type;
} /* end h5tools_get_big_endian_type() */
-
diff --git a/tools/lib/h5tools_utils.c b/tools/lib/h5tools_utils.c
index 6167dd9..aa2418d 100644
--- a/tools/lib/h5tools_utils.c
+++ b/tools/lib/h5tools_utils.c
@@ -28,11 +28,11 @@
/* global variables */
unsigned h5tools_nCols = 80;
/* ``get_option'' variables */
-int opt_err = 1; /*get_option prints errors if this is on */
-int opt_ind = 1; /*token pointer */
-const char *opt_arg; /*flag argument (or value) */
-static int h5tools_d_status = 0;
-static const char *h5tools_progname = "h5tools";
+int opt_err = 1; /*get_option prints errors if this is on */
+int opt_ind = 1; /*token pointer */
+const char * opt_arg; /*flag argument (or value) */
+static int h5tools_d_status = 0;
+static const char *h5tools_progname = "h5tools";
/*
* The output functions need a temporary buffer to hold a piece of the
@@ -41,22 +41,21 @@ static const char *h5tools_progname = "h5tools";
* largest value suitable for your machine (for testing use a small value).
*/
/* Maximum size used in a call to malloc for a dataset */
-hsize_t H5TOOLS_MALLOCSIZE = (256 * 1024 * 1024); /* 256 MB */
+hsize_t H5TOOLS_MALLOCSIZE = (256 * 1024 * 1024); /* 256 MB */
/* size of hyperslab buffer when a dataset is bigger than H5TOOLS_MALLOCSIZE */
-hsize_t H5TOOLS_BUFSIZE = ( 32 * 1024 * 1024); /* 32 MB */
-
+hsize_t H5TOOLS_BUFSIZE = (32 * 1024 * 1024); /* 32 MB */
/* ``parallel_print'' variables */
-unsigned char g_Parallel = 0; /*0 for serial, 1 for parallel */
-char outBuff[OUTBUFF_SIZE];
-unsigned outBuffOffset;
-FILE* overflow_file = NULL;
+unsigned char g_Parallel = 0; /*0 for serial, 1 for parallel */
+char outBuff[OUTBUFF_SIZE];
+unsigned outBuffOffset;
+FILE * overflow_file = NULL;
/* local functions */
static void init_table(hid_t fid, table_t **tbl);
#ifdef H5DUMP_DEBUG
-static void dump_table(hid_t fid, char* tablename, table_t *table);
-#endif /* H5DUMP_DEBUG */
+static void dump_table(hid_t fid, char *tablename, table_t *table);
+#endif /* H5DUMP_DEBUG */
static void add_obj(table_t *table, const H5O_token_t *obj_token, const char *objname, hbool_t recorded);
/*-------------------------------------------------------------------------
@@ -66,28 +65,29 @@ static void add_obj(table_t *table, const H5O_token_t *obj_token, const char *ob
*-------------------------------------------------------------------------
*/
void
-parallel_print(const char* format, ...)
+parallel_print(const char *format, ...)
{
- int bytes_written;
+ int bytes_written;
va_list ap;
HDva_start(ap, format);
- if(!g_Parallel)
+ if (!g_Parallel)
HDvprintf(format, ap);
else {
- if(overflow_file == NULL) /*no overflow has occurred yet */ {
+ if (overflow_file == NULL) /*no overflow has occurred yet */ {
bytes_written = HDvsnprintf(outBuff + outBuffOffset, OUTBUFF_SIZE - outBuffOffset, format, ap);
HDva_end(ap);
HDva_start(ap, format);
- if((bytes_written < 0) || ((unsigned)bytes_written >= (OUTBUFF_SIZE - outBuffOffset))) {
+ if ((bytes_written < 0) || ((unsigned)bytes_written >= (OUTBUFF_SIZE - outBuffOffset))) {
/* Terminate the outbuff at the end of the previous output */
outBuff[outBuffOffset] = '\0';
overflow_file = HDtmpfile();
- if(overflow_file == NULL)
- HDfprintf(rawerrorstream, "warning: could not create overflow file. Output may be truncated.\n");
+ if (overflow_file == NULL)
+ HDfprintf(rawerrorstream,
+ "warning: could not create overflow file. Output may be truncated.\n");
else
bytes_written = HDvfprintf(overflow_file, format, ap);
}
@@ -96,12 +96,10 @@ parallel_print(const char* format, ...)
}
else
bytes_written = HDvfprintf(overflow_file, format, ap);
-
}
HDva_end(ap);
}
-
/*-------------------------------------------------------------------------
* Function: error_msg
*
@@ -126,7 +124,6 @@ error_msg(const char *fmt, ...)
HDva_end(ap);
}
-
/*-------------------------------------------------------------------------
* Function: warn_msg
*
@@ -162,10 +159,9 @@ void
help_ref_msg(FILE *output)
{
HDfprintf(output, "Try '-h' or '--help' for more information or ");
- HDfprintf(output, "see the <%s> entry in the 'HDF5 Reference Manual'.\n",h5tools_getprogname());
+ HDfprintf(output, "see the <%s> entry in the 'HDF5 Reference Manual'.\n", h5tools_getprogname());
}
-
/*-------------------------------------------------------------------------
* Function: get_option
*
@@ -182,8 +178,8 @@ help_ref_msg(FILE *output)
int
get_option(int argc, const char **argv, const char *opts, const struct long_options *l_opts)
{
- static int sp = 1; /* character index in current token */
- int opt_opt = '?'; /* option character passed back to user */
+ static int sp = 1; /* character index in current token */
+ int opt_opt = '?'; /* option character passed back to user */
if (sp == 1) {
/* check for more flag-like tokens */
@@ -199,7 +195,7 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti
if (sp == 1 && argv[opt_ind][0] == '-' && argv[opt_ind][1] == '-') {
/* long command line option */
const char *arg = &argv[opt_ind][2];
- int i;
+ int i;
for (i = 0; l_opts && l_opts[i].name; i++) {
size_t len = HDstrlen(l_opts[i].name);
@@ -219,9 +215,8 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti
}
else if (l_opts[i].has_arg == require_arg) {
if (opt_err)
- HDfprintf(rawerrorstream,
- "%s: option required for \"--%s\" flag\n",
- argv[0], arg);
+ HDfprintf(rawerrorstream, "%s: option required for \"--%s\" flag\n", argv[0],
+ arg);
opt_opt = '?';
}
@@ -231,9 +226,8 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti
else {
if (arg[len] == '=') {
if (opt_err)
- HDfprintf(rawerrorstream,
- "%s: no option required for \"%s\" flag\n",
- argv[0], arg);
+ HDfprintf(rawerrorstream, "%s: no option required for \"%s\" flag\n", argv[0],
+ arg);
opt_opt = '?';
}
@@ -255,15 +249,14 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti
sp = 1;
}
else {
- register char *cp; /* pointer into current token */
+ register char *cp; /* pointer into current token */
/* short command line option */
opt_opt = argv[opt_ind][sp];
if (opt_opt == ':' || (cp = HDstrchr(opts, opt_opt)) == 0) {
if (opt_err)
- HDfprintf(rawerrorstream, "%s: unknown option \"%c\"\n",
- argv[0], opt_opt);
+ HDfprintf(rawerrorstream, "%s: unknown option \"%c\"\n", argv[0], opt_opt);
/* if no chars left in this token, move to next token */
if (argv[opt_ind][++sp] == '\0') {
@@ -281,9 +274,7 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti
}
else if (++opt_ind >= argc) {
if (opt_err)
- HDfprintf(rawerrorstream,
- "%s: value expected for option \"%c\"\n",
- argv[0], opt_opt);
+ HDfprintf(rawerrorstream, "%s: value expected for option \"%c\"\n", argv[0], opt_opt);
opt_opt = '?';
}
@@ -299,8 +290,8 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti
/* check the next argument */
opt_ind++;
/* we do have an extra argument, check if not last */
- if ( (opt_ind+1) < argc ) {
- if ( argv[opt_ind][0] != '-' ) {
+ if ((opt_ind + 1) < argc) {
+ if (argv[opt_ind][0] != '-') {
opt_arg = argv[opt_ind++];
}
else {
@@ -326,7 +317,6 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti
return opt_opt;
}
-
/*****************************************************************************
*
* Function: parse_tuple()
@@ -393,22 +383,16 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti
*****************************************************************************
*/
herr_t
-parse_tuple(const char *start,
- int sep,
- char **cpy_out,
- unsigned *nelems,
- char ***ptrs_out)
+parse_tuple(const char *start, int sep, char **cpy_out, unsigned *nelems, char ***ptrs_out)
{
- char *elem_ptr = NULL;
- char *dest_ptr = NULL;
- unsigned elems_count = 0;
- char **elems = NULL; /* more like *elems[], but complier... */
- char **elems_re = NULL; /* temporary pointer, for realloc */
- char *cpy = NULL;
- herr_t ret_value = SUCCEED;
- unsigned init_slots = 2;
-
-
+ char * elem_ptr = NULL;
+ char * dest_ptr = NULL;
+ unsigned elems_count = 0;
+ char ** elems = NULL; /* more like *elems[], but complier... */
+ char ** elems_re = NULL; /* temporary pointer, for realloc */
+ char * cpy = NULL;
+ herr_t ret_value = SUCCEED;
+ unsigned init_slots = 2;
/*****************
* SANITY-CHECKS *
@@ -433,8 +417,6 @@ parse_tuple(const char *start,
elems_count = 0;
-
-
/***********
* PREPARE *
***********/
@@ -442,22 +424,26 @@ parse_tuple(const char *start,
/* create list
*/
elems = (char **)HDmalloc(sizeof(char *) * (init_slots + 1));
- if (elems == NULL) { ret_value = FAIL; goto done; } /* CANTALLOC */
+ if (elems == NULL) {
+ ret_value = FAIL;
+ goto done;
+ } /* CANTALLOC */
/* create destination string
*/
- start++; /* advance past opening paren '(' */
+ start++; /* advance past opening paren '(' */
cpy = (char *)HDmalloc(sizeof(char) * (HDstrlen(start))); /* no +1; less '(' */
- if (cpy == NULL) { ret_value = FAIL; goto done; } /* CANTALLOC */
+ if (cpy == NULL) {
+ ret_value = FAIL;
+ goto done;
+ } /* CANTALLOC */
/* set pointers
*/
- dest_ptr = cpy; /* start writing copy here */
- elem_ptr = cpy; /* first element starts here */
+ dest_ptr = cpy; /* start writing copy here */
+ elem_ptr = cpy; /* first element starts here */
elems[elems_count++] = elem_ptr; /* set first element pointer into list */
-
-
/*********
* PARSE *
*********/
@@ -468,30 +454,30 @@ parse_tuple(const char *start,
if (*start == '\\') {
/* Possibly an escape digraph.
*/
- if ((*(start + 1) == '\\') ||
- (*(start + 1) == sep) )
- {
+ if ((*(start + 1) == '\\') || (*(start + 1) == sep)) {
/* Valid escape digraph of "\\" or "\<sep>".
*/
- start++; /* advance past escape char '\' */
+ start++; /* advance past escape char '\' */
*(dest_ptr++) = *(start++); /* Copy subsequent char */
/* and advance pointers. */
- } else {
- /* Not an accepted escape digraph.
- * Copy backslash character.
- */
+ }
+ else {
+ /* Not an accepted escape digraph.
+ * Copy backslash character.
+ */
*(dest_ptr++) = *(start++);
}
- } else if (*start == sep) {
+ }
+ else if (*start == sep) {
/* Non-escaped separator.
* Terminate elements substring in copy, record element, advance.
* Expand elements list if appropriate.
*/
- *(dest_ptr++) = 0; /* Null-terminate elem substring in copy */
- /* and advance pointer. */
- start++; /* Advance src pointer past separator. */
- elem_ptr = dest_ptr; /* Element pointer points to start of first */
- /* character after null sep in copy. */
+ *(dest_ptr++) = 0; /* Null-terminate elem substring in copy */
+ /* and advance pointer. */
+ start++; /* Advance src pointer past separator. */
+ elem_ptr = dest_ptr; /* Element pointer points to start of first */
+ /* character after null sep in copy. */
elems[elems_count++] = elem_ptr; /* Set elem pointer in list */
/* and increment count. */
@@ -499,8 +485,7 @@ parse_tuple(const char *start,
*/
if (elems_count == init_slots) {
init_slots *= 2;
- elems_re = (char **)realloc(elems, sizeof(char *) * \
- (init_slots + 1));
+ elems_re = (char **)realloc(elems, sizeof(char *) * (init_slots + 1));
if (elems_re == NULL) {
/* CANTREALLOC */
ret_value = FAIL;
@@ -508,24 +493,24 @@ parse_tuple(const char *start,
}
elems = elems_re;
}
- } else if (*start == ')' && *(start + 1) == '\0') {
+ }
+ else if (*start == ')' && *(start + 1) == '\0') {
/* Found terminal, non-escaped close-paren. Last element.
* Write null terminator to copy.
* Advance source pointer to gently break from loop.
* Requred to prevent ")" from always being added to last element.
*/
start++;
- } else {
+ }
+ else {
/* Copy character into destination. Advance pointers.
*/
*(dest_ptr++) = *(start++);
}
}
- *dest_ptr = '\0'; /* Null-terminate destination string. */
+ *dest_ptr = '\0'; /* Null-terminate destination string. */
elems[elems_count] = NULL; /* Null-terminate elements list. */
-
-
/********************
* PASS BACK VALUES *
********************/
@@ -537,18 +522,16 @@ parse_tuple(const char *start,
done:
if (ret_value == FAIL) {
/* CLEANUP */
- if (cpy) free(cpy);
- if (elems) free(elems);
+ if (cpy)
+ free(cpy);
+ if (elems)
+ free(elems);
}
return ret_value;
} /* parse_tuple */
-
-
-
-
/*-------------------------------------------------------------------------
* Function: indentation
*
@@ -570,7 +553,6 @@ indentation(unsigned x)
}
}
-
/*-------------------------------------------------------------------------
* Function: print_version
*
@@ -583,12 +565,10 @@ indentation(unsigned x)
void
print_version(const char *progname)
{
- PRINTSTREAM(rawoutstream, "%s: Version %u.%u.%u%s%s\n",
- progname, H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE,
- ((const char *)H5_VERS_SUBRELEASE)[0] ? "-" : "", H5_VERS_SUBRELEASE);
+ PRINTSTREAM(rawoutstream, "%s: Version %u.%u.%u%s%s\n", progname, H5_VERS_MAJOR, H5_VERS_MINOR,
+ H5_VERS_RELEASE, ((const char *)H5_VERS_SUBRELEASE)[0] ? "-" : "", H5_VERS_SUBRELEASE);
}
-
/*-------------------------------------------------------------------------
* Function: init_table
*
@@ -603,15 +583,14 @@ init_table(hid_t fid, table_t **tbl)
{
table_t *table = (table_t *)HDmalloc(sizeof(table_t));
- table->fid = fid;
- table->size = 20;
+ table->fid = fid;
+ table->size = 20;
table->nobjs = 0;
- table->objs = (obj_t *)HDmalloc(table->size * sizeof(obj_t));
+ table->objs = (obj_t *)HDmalloc(table->size * sizeof(obj_t));
*tbl = table;
}
-
/*-------------------------------------------------------------------------
* Function: free_table
*
@@ -624,11 +603,11 @@ init_table(hid_t fid, table_t **tbl)
void
free_table(table_t *table)
{
- unsigned u; /* Local index value */
+ unsigned u; /* Local index value */
/* Free the names for the objects in the table */
- for(u = 0; u < table->nobjs; u++)
- if(table->objs[u].objname)
+ for (u = 0; u < table->nobjs; u++)
+ if (table->objs[u].objname)
HDfree(table->objs[u].objname);
HDfree(table->objs);
@@ -645,24 +624,22 @@ free_table(table_t *table)
*-------------------------------------------------------------------------
*/
static void
-dump_table(hid_t fid, char* tablename, table_t *table)
+dump_table(hid_t fid, char *tablename, table_t *table)
{
unsigned u;
- char *obj_tok_str = NULL;
+ char * obj_tok_str = NULL;
- PRINTSTREAM(rawoutstream,"%s: # of entries = %d\n", tablename,table->nobjs);
+ PRINTSTREAM(rawoutstream, "%s: # of entries = %d\n", tablename, table->nobjs);
for (u = 0; u < table->nobjs; u++) {
H5VLconnector_token_to_str(fid, table->objs[u].obj_token, &obj_tok_str);
- PRINTSTREAM(rawoutstream,"%s %s %d %d\n", obj_tok_str,
- table->objs[u].objname,
- table->objs[u].displayed, table->objs[u].recorded);
+ PRINTSTREAM(rawoutstream, "%s %s %d %d\n", obj_tok_str, table->objs[u].objname,
+ table->objs[u].displayed, table->objs[u].recorded);
H5VLfree_token_str(fid, obj_tok_str);
}
}
-
/*-------------------------------------------------------------------------
* Function: dump_tables
*
@@ -678,8 +655,7 @@ dump_tables(find_objs_t *info)
dump_table(info->fid, "dset_table", info->dset_table);
dump_table(info->fid, "type_table", info->type_table);
}
-#endif /* H5DUMP_DEBUG */
-
+#endif /* H5DUMP_DEBUG */
/*-------------------------------------------------------------------------
* Function: search_obj
@@ -692,22 +668,21 @@ dump_tables(find_objs_t *info)
*-------------------------------------------------------------------------
*/
H5_ATTR_PURE obj_t *
-search_obj(table_t *table, const H5O_token_t *obj_token)
+ search_obj(table_t *table, const H5O_token_t *obj_token)
{
unsigned u;
- int token_cmp;
+ int token_cmp;
- for(u = 0; u < table->nobjs; u++) {
- if(H5Otoken_cmp(table->fid, &table->objs[u].obj_token, obj_token, &token_cmp) < 0)
+ for (u = 0; u < table->nobjs; u++) {
+ if (H5Otoken_cmp(table->fid, &table->objs[u].obj_token, obj_token, &token_cmp) < 0)
return NULL;
- if(!token_cmp)
+ if (!token_cmp)
return &(table->objs[u]);
}
return NULL;
}
-
/*-------------------------------------------------------------------------
* Function: find_objs_cb
*
@@ -721,31 +696,31 @@ search_obj(table_t *table, const H5O_token_t *obj_token)
static herr_t
find_objs_cb(const char *name, const H5O_info2_t *oinfo, const char *already_seen, void *op_data)
{
- find_objs_t *info = (find_objs_t*)op_data;
- herr_t ret_value = 0;
+ find_objs_t *info = (find_objs_t *)op_data;
+ herr_t ret_value = 0;
- switch(oinfo->type) {
+ switch (oinfo->type) {
case H5O_TYPE_GROUP:
- if(NULL == already_seen)
+ if (NULL == already_seen)
add_obj(info->group_table, &oinfo->token, name, TRUE);
break;
case H5O_TYPE_DATASET:
- if(NULL == already_seen) {
+ if (NULL == already_seen) {
hid_t dset = H5I_INVALID_HID;
/* Add the dataset to the list of objects */
add_obj(info->dset_table, &oinfo->token, name, TRUE);
/* Check for a dataset that uses a named datatype */
- if((dset = H5Dopen2(info->fid, name, H5P_DEFAULT)) >= 0) {
+ if ((dset = H5Dopen2(info->fid, name, H5P_DEFAULT)) >= 0) {
hid_t type = H5Dget_type(dset);
- if(H5Tcommitted(type) > 0) {
+ if (H5Tcommitted(type) > 0) {
H5O_info2_t type_oinfo;
H5Oget_info3(type, &type_oinfo, H5O_INFO_BASIC);
- if(search_obj(info->type_table, &type_oinfo.token) == NULL)
+ if (search_obj(info->type_table, &type_oinfo.token) == NULL)
add_obj(info->type_table, &type_oinfo.token, name, FALSE);
} /* end if */
@@ -758,10 +733,10 @@ find_objs_cb(const char *name, const H5O_info2_t *oinfo, const char *already_see
break;
case H5O_TYPE_NAMED_DATATYPE:
- if(NULL == already_seen) {
+ if (NULL == already_seen) {
obj_t *found_obj;
- if((found_obj = search_obj(info->type_table, &oinfo->token)) == NULL)
+ if ((found_obj = search_obj(info->type_table, &oinfo->token)) == NULL)
add_obj(info->type_table, &oinfo->token, name, TRUE);
else {
/* Use latest version of name */
@@ -771,7 +746,7 @@ find_objs_cb(const char *name, const H5O_info2_t *oinfo, const char *already_see
/* Mark named datatype as having valid name */
found_obj->recorded = TRUE;
} /* end else */
- } /* end if */
+ } /* end if */
break;
case H5O_TYPE_MAP:
@@ -784,7 +759,6 @@ find_objs_cb(const char *name, const H5O_info2_t *oinfo, const char *already_see
return ret_value;
}
-
/*-------------------------------------------------------------------------
* Function: init_objs
*
@@ -796,8 +770,7 @@ find_objs_cb(const char *name, const H5O_info2_t *oinfo, const char *already_see
*-------------------------------------------------------------------------
*/
herr_t
-init_objs(hid_t fid, find_objs_t *info, table_t **group_table,
- table_t **dset_table, table_t **type_table)
+init_objs(hid_t fid, find_objs_t *info, table_t **group_table, table_t **dset_table, table_t **type_table)
{
herr_t ret_value = SUCCEED;
@@ -807,18 +780,18 @@ init_objs(hid_t fid, find_objs_t *info, table_t **group_table,
init_table(fid, type_table);
/* Init the find_objs_t */
- info->fid = fid;
+ info->fid = fid;
info->group_table = *group_table;
- info->type_table = *type_table;
- info->dset_table = *dset_table;
+ info->type_table = *type_table;
+ info->dset_table = *dset_table;
/* Find all shared objects */
- if((ret_value = h5trav_visit(fid, "/", TRUE, TRUE, find_objs_cb, NULL, info, H5O_INFO_BASIC)) < 0)
+ if ((ret_value = h5trav_visit(fid, "/", TRUE, TRUE, find_objs_cb, NULL, info, H5O_INFO_BASIC)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "finding shared objects failed");
done:
/* Release resources */
- if(ret_value < 0) {
+ if (ret_value < 0) {
free_table(*group_table);
info->group_table = NULL;
free_table(*type_table);
@@ -829,7 +802,6 @@ done:
return ret_value;
}
-
/*-------------------------------------------------------------------------
* Function: add_obj
*
@@ -845,7 +817,7 @@ add_obj(table_t *table, const H5O_token_t *obj_token, const char *objname, hbool
size_t u;
/* See if we need to make table larger */
- if(table->nobjs == table->size) {
+ if (table->nobjs == table->size) {
table->size *= 2;
table->objs = (struct obj_t *)HDrealloc(table->objs, table->size * sizeof(table->objs[0]));
} /* end if */
@@ -855,12 +827,11 @@ add_obj(table_t *table, const H5O_token_t *obj_token, const char *objname, hbool
/* Set information about object */
HDmemcpy(&table->objs[u].obj_token, obj_token, sizeof(H5O_token_t));
- table->objs[u].objname = HDstrdup(objname);
- table->objs[u].recorded = record;
+ table->objs[u].objname = HDstrdup(objname);
+ table->objs[u].recorded = record;
table->objs[u].displayed = 0;
}
-
#ifndef H5_HAVE_TMPFILE
/*-------------------------------------------------------------------------
* Function: tmpfile
@@ -901,52 +872,54 @@ tmpfile(void)
* link_info->trg_path must be freed out of this function
*-------------------------------------------------------------------------*/
int
-H5tools_get_symlink_info(hid_t file_id, const char *linkpath, h5tool_link_info_t *link_info, hbool_t get_obj_type)
+H5tools_get_symlink_info(hid_t file_id, const char *linkpath, h5tool_link_info_t *link_info,
+ hbool_t get_obj_type)
{
- htri_t l_ret;
+ htri_t l_ret;
H5O_info2_t trg_oinfo;
- hid_t fapl = H5P_DEFAULT;
- hid_t lapl = H5P_DEFAULT;
- int ret_value = -1; /* init to fail */
+ hid_t fapl = H5P_DEFAULT;
+ hid_t lapl = H5P_DEFAULT;
+ int ret_value = -1; /* init to fail */
/* init */
link_info->trg_type = H5O_TYPE_UNKNOWN;
/* if path is root, return group type */
- if(!HDstrcmp(linkpath,"/")) {
+ if (!HDstrcmp(linkpath, "/")) {
link_info->trg_type = H5O_TYPE_GROUP;
H5TOOLS_GOTO_DONE(2);
}
/* check if link itself exist */
- if(H5Lexists(file_id, linkpath, H5P_DEFAULT) <= 0) {
- if(link_info->opt.msg_mode == 1)
- parallel_print("Warning: link <%s> doesn't exist \n",linkpath);
+ if (H5Lexists(file_id, linkpath, H5P_DEFAULT) <= 0) {
+ if (link_info->opt.msg_mode == 1)
+ parallel_print("Warning: link <%s> doesn't exist \n", linkpath);
H5TOOLS_GOTO_DONE(FAIL);
} /* end if */
/* get info from link */
- if(H5Lget_info2(file_id, linkpath, &(link_info->linfo), H5P_DEFAULT) < 0) {
- if(link_info->opt.msg_mode == 1)
- parallel_print("Warning: unable to get link info from <%s>\n",linkpath);
+ if (H5Lget_info2(file_id, linkpath, &(link_info->linfo), H5P_DEFAULT) < 0) {
+ if (link_info->opt.msg_mode == 1)
+ parallel_print("Warning: unable to get link info from <%s>\n", linkpath);
H5TOOLS_GOTO_DONE(FAIL);
} /* end if */
/* given path is hard link (object) */
- if(link_info->linfo.type == H5L_TYPE_HARD)
+ if (link_info->linfo.type == H5L_TYPE_HARD)
H5TOOLS_GOTO_DONE(2);
/* trg_path must be freed out of this function when finished using */
- if((link_info->trg_path = (char*)HDcalloc(link_info->linfo.u.val_size, sizeof(char))) == NULL) {
- if(link_info->opt.msg_mode == 1)
- parallel_print("Warning: unable to allocate buffer for <%s>\n",linkpath);
+ if ((link_info->trg_path = (char *)HDcalloc(link_info->linfo.u.val_size, sizeof(char))) == NULL) {
+ if (link_info->opt.msg_mode == 1)
+ parallel_print("Warning: unable to allocate buffer for <%s>\n", linkpath);
H5TOOLS_GOTO_DONE(FAIL);
} /* end if */
/* get link value */
- if(H5Lget_val(file_id, linkpath, (void *)link_info->trg_path, link_info->linfo.u.val_size, H5P_DEFAULT) < 0) {
- if(link_info->opt.msg_mode == 1)
- parallel_print("Warning: unable to get link value from <%s>\n",linkpath);
+ if (H5Lget_val(file_id, linkpath, (void *)link_info->trg_path, link_info->linfo.u.val_size, H5P_DEFAULT) <
+ 0) {
+ if (link_info->opt.msg_mode == 1)
+ parallel_print("Warning: unable to get link value from <%s>\n", linkpath);
H5TOOLS_GOTO_DONE(FAIL);
} /* end if */
@@ -954,51 +927,51 @@ H5tools_get_symlink_info(hid_t file_id, const char *linkpath, h5tool_link_info_t
* if link type is external link use different lapl to
* follow object in other file
*/
- if(link_info->linfo.type == H5L_TYPE_EXTERNAL) {
- if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0)
+ if (link_info->linfo.type == H5L_TYPE_EXTERNAL) {
+ if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0)
H5TOOLS_GOTO_DONE(FAIL);
- if(H5Pset_fapl_sec2(fapl) < 0)
+ if (H5Pset_fapl_sec2(fapl) < 0)
H5TOOLS_GOTO_DONE(FAIL);
- if((lapl = H5Pcreate(H5P_LINK_ACCESS)) < 0)
+ if ((lapl = H5Pcreate(H5P_LINK_ACCESS)) < 0)
H5TOOLS_GOTO_DONE(FAIL);
- if(H5Pset_elink_fapl(lapl, fapl) < 0)
+ if (H5Pset_elink_fapl(lapl, fapl) < 0)
H5TOOLS_GOTO_DONE(FAIL);
} /* end if */
/* Check for retrieving object info */
- if(get_obj_type) {
+ if (get_obj_type) {
/*--------------------------------------------------------------
* if link's target object exist, get type
*/
- /* check if target object exist */
+ /* check if target object exist */
l_ret = H5Oexists_by_name(file_id, linkpath, lapl);
/* detect dangling link */
- if(l_ret == FALSE) {
+ if (l_ret == FALSE) {
H5TOOLS_GOTO_DONE(0);
}
- else if(l_ret < 0) { /* function failed */
+ else if (l_ret < 0) { /* function failed */
H5TOOLS_GOTO_DONE(FAIL);
}
/* get target object info */
- if(H5Oget_info_by_name3(file_id, linkpath, &trg_oinfo, H5O_INFO_BASIC, lapl) < 0) {
- if(link_info->opt.msg_mode == 1)
+ if (H5Oget_info_by_name3(file_id, linkpath, &trg_oinfo, H5O_INFO_BASIC, lapl) < 0) {
+ if (link_info->opt.msg_mode == 1)
parallel_print("Warning: unable to get object information for <%s>\n", linkpath);
H5TOOLS_GOTO_DONE(FAIL);
} /* end if */
/* check unknown type */
- if(trg_oinfo.type < H5O_TYPE_GROUP || trg_oinfo.type >=H5O_TYPE_NTYPES) {
- if(link_info->opt.msg_mode == 1)
+ if (trg_oinfo.type < H5O_TYPE_GROUP || trg_oinfo.type >= H5O_TYPE_NTYPES) {
+ if (link_info->opt.msg_mode == 1)
parallel_print("Warning: target object of <%s> is unknown type\n", linkpath);
H5TOOLS_GOTO_DONE(FAIL);
- } /* end if */
+ } /* end if */
/* set target obj type to return */
HDmemcpy(&link_info->obj_token, &trg_oinfo.token, sizeof(H5O_token_t));
link_info->trg_type = trg_oinfo.type;
- link_info->fileno = trg_oinfo.fileno;
+ link_info->fileno = trg_oinfo.fileno;
} /* end if */
else
link_info->trg_type = H5O_TYPE_UNKNOWN;
@@ -1007,9 +980,9 @@ H5tools_get_symlink_info(hid_t file_id, const char *linkpath, h5tool_link_info_t
ret_value = 1;
done:
- if(fapl != H5P_DEFAULT)
+ if (fapl != H5P_DEFAULT)
H5Pclose(fapl);
- if(lapl != H5P_DEFAULT)
+ if (lapl != H5P_DEFAULT)
H5Pclose(lapl);
return ret_value;
@@ -1039,13 +1012,13 @@ h5tools_setstatus(int D_status)
H5_ATTR_PURE const char *
h5tools_getprogname(void)
{
- return h5tools_progname;
+ return h5tools_progname;
}
H5_ATTR_PURE int
h5tools_getstatus(void)
{
- return h5tools_d_status;
+ return h5tools_d_status;
}
/*-----------------------------------------------------------
@@ -1059,13 +1032,13 @@ int
h5tools_getenv_update_hyperslab_bufsize(void)
{
const char *env_str = NULL;
- long hyperslab_bufsize_mb;
- int ret_value = 1;
+ long hyperslab_bufsize_mb;
+ int ret_value = 1;
/* check if environment variable is set for the hyperslab buffer size */
- if (NULL != (env_str = HDgetenv ("H5TOOLS_BUFSIZE"))) {
- errno = 0;
- hyperslab_bufsize_mb = HDstrtol(env_str, (char**)NULL, 10);
+ if (NULL != (env_str = HDgetenv("H5TOOLS_BUFSIZE"))) {
+ errno = 0;
+ hyperslab_bufsize_mb = HDstrtol(env_str, (char **)NULL, 10);
if (errno != 0 || hyperslab_bufsize_mb <= 0)
H5TOOLS_GOTO_ERROR(FAIL, "hyperslab buffer size failed");
@@ -1094,15 +1067,14 @@ done:
*----------------------------------------------------------------------------
*/
herr_t
-h5tools_parse_ros3_fapl_tuple(const char *tuple_str, int delim,
- H5FD_ros3_fapl_t *fapl_config_out)
+h5tools_parse_ros3_fapl_tuple(const char *tuple_str, int delim, H5FD_ros3_fapl_t *fapl_config_out)
{
- const char *ccred[3];
- unsigned nelems = 0;
- char *start = NULL;
- char *s3cred_src = NULL;
- char **s3cred = NULL;
- herr_t ret_value = SUCCEED;
+ const char *ccred[3];
+ unsigned nelems = 0;
+ char * start = NULL;
+ char * s3cred_src = NULL;
+ char ** s3cred = NULL;
+ herr_t ret_value = SUCCEED;
/* Attempt to parse S3 credentials tuple */
if (parse_tuple(tuple_str, delim, &s3cred_src, &nelems, &s3cred) < 0)
@@ -1128,7 +1100,6 @@ done:
return ret_value;
}
-
/*----------------------------------------------------------------------------
*
* Function: h5tools_populate_ros3_fapl()
@@ -1192,8 +1163,7 @@ done:
*----------------------------------------------------------------------------
*/
int
-h5tools_populate_ros3_fapl(H5FD_ros3_fapl_t *fa,
- const char **values)
+h5tools_populate_ros3_fapl(H5FD_ros3_fapl_t *fa, const char **values)
{
int show_progress = 0; /* set to 1 for debugging */
int ret_value = 1; /* 1 for success, 0 for failure */
@@ -1248,9 +1218,7 @@ h5tools_populate_ros3_fapl(H5FD_ros3_fapl_t *fa,
/* if region and ID are supplied (key optional), write to fapl...
* fail if value would overflow
*/
- if (*values[0] != '\0' &&
- *values[1] != '\0')
- {
+ if (*values[0] != '\0' && *values[1] != '\0') {
if (HDstrlen(values[0]) > H5FD_ROS3_MAX_REGION_LEN) {
if (show_progress) {
HDprintf(" ERROR: aws_region value too long\n");
@@ -1258,13 +1226,11 @@ h5tools_populate_ros3_fapl(H5FD_ros3_fapl_t *fa,
ret_value = 0;
goto done;
}
- HDmemcpy(fa->aws_region, values[0],
- (HDstrlen(values[0]) + 1));
+ HDmemcpy(fa->aws_region, values[0], (HDstrlen(values[0]) + 1));
if (show_progress) {
HDprintf(" aws_region set\n");
}
-
if (HDstrlen(values[1]) > H5FD_ROS3_MAX_SECRET_ID_LEN) {
if (show_progress) {
HDprintf(" ERROR: secret_id value too long\n");
@@ -1272,9 +1238,7 @@ h5tools_populate_ros3_fapl(H5FD_ros3_fapl_t *fa,
ret_value = 0;
goto done;
}
- HDmemcpy(fa->secret_id,
- values[1],
- (HDstrlen(values[1]) + 1));
+ HDmemcpy(fa->secret_id, values[1], (HDstrlen(values[1]) + 1));
if (show_progress) {
HDprintf(" secret_id set\n");
}
@@ -1286,9 +1250,7 @@ h5tools_populate_ros3_fapl(H5FD_ros3_fapl_t *fa,
ret_value = 0;
goto done;
}
- HDmemcpy(fa->secret_key,
- values[2],
- (HDstrlen(values[2]) + 1));
+ HDmemcpy(fa->secret_key, values[2], (HDstrlen(values[2]) + 1));
if (show_progress) {
HDprintf(" secret_key set\n");
}
@@ -1297,15 +1259,10 @@ h5tools_populate_ros3_fapl(H5FD_ros3_fapl_t *fa,
if (show_progress) {
HDprintf(" set to authenticate\n");
}
-
- } else if (*values[0] != '\0' ||
- *values[1] != '\0' ||
- *values[2] != '\0')
- {
+ }
+ else if (*values[0] != '\0' || *values[1] != '\0' || *values[2] != '\0') {
if (show_progress) {
- HDprintf(
- " ERROR: invalid assortment of empty/non-empty values\n"
- );
+ HDprintf(" ERROR: invalid assortment of empty/non-empty values\n");
}
ret_value = 0;
goto done;
@@ -1330,14 +1287,13 @@ done:
*----------------------------------------------------------------------------
*/
herr_t
-h5tools_parse_hdfs_fapl_tuple(const char *tuple_str, int delim,
- H5FD_hdfs_fapl_t *fapl_config_out)
+h5tools_parse_hdfs_fapl_tuple(const char *tuple_str, int delim, H5FD_hdfs_fapl_t *fapl_config_out)
{
- unsigned long k = 0;
- unsigned nelems = 0;
- char *props_src = NULL;
- char **props = NULL;
- herr_t ret_value = SUCCEED;
+ unsigned long k = 0;
+ unsigned nelems = 0;
+ char * props_src = NULL;
+ char ** props = NULL;
+ herr_t ret_value = SUCCEED;
/* Attempt to parse HDFS configuration tuple */
if (parse_tuple(tuple_str, delim, &props_src, &nelems, &props) < 0)
@@ -1382,4 +1338,3 @@ done:
return ret_value;
}
#endif /* H5_HAVE_LIBHDFS */
-
diff --git a/tools/lib/h5tools_utils.h b/tools/lib/h5tools_utils.h
index 07069cc..65c54fa 100644
--- a/tools/lib/h5tools_utils.h
+++ b/tools/lib/h5tools_utils.h
@@ -27,13 +27,13 @@ extern "C" {
#endif
/* ``parallel_print'' information */
-#define PRINT_DATA_MAX_SIZE 512
-#define OUTBUFF_SIZE (PRINT_DATA_MAX_SIZE*4)
+#define PRINT_DATA_MAX_SIZE 512
+#define OUTBUFF_SIZE (PRINT_DATA_MAX_SIZE * 4)
-H5TOOLS_DLLVAR int g_nTasks;
+H5TOOLS_DLLVAR int g_nTasks;
H5TOOLS_DLLVAR unsigned char g_Parallel;
-H5TOOLS_DLLVAR char outBuff[];
-H5TOOLS_DLLVAR unsigned outBuffOffset;
+H5TOOLS_DLLVAR char outBuff[];
+H5TOOLS_DLLVAR unsigned outBuffOffset;
H5TOOLS_DLLVAR FILE *overflow_file;
/* Maximum size used in a call to malloc for a dataset */
@@ -43,14 +43,14 @@ H5TOOLS_DLLVAR hsize_t H5TOOLS_BUFSIZE;
/*
* begin get_option section
*/
-H5TOOLS_DLLVAR int opt_err; /* getoption prints errors if this is on */
-H5TOOLS_DLLVAR int opt_ind; /* token pointer */
-H5TOOLS_DLLVAR const char *opt_arg; /* flag argument (or value) */
+H5TOOLS_DLLVAR int opt_err; /* getoption prints errors if this is on */
+H5TOOLS_DLLVAR int opt_ind; /* token pointer */
+H5TOOLS_DLLVAR const char *opt_arg; /* flag argument (or value) */
enum {
- no_arg = 0, /* doesn't take an argument */
- require_arg, /* requires an argument */
- optional_arg /* argument is optional */
+ no_arg = 0, /* doesn't take an argument */
+ require_arg, /* requires an argument */
+ optional_arg /* argument is optional */
};
/*
@@ -82,10 +82,10 @@ enum {
* end.
*/
typedef struct long_options {
- const char *name; /* name of the long option */
- int has_arg; /* whether we should look for an arg */
- char shortval; /* the shortname equivalent of long arg
- * this gets returned from get_option */
+ const char *name; /* name of the long option */
+ int has_arg; /* whether we should look for an arg */
+ char shortval; /* the shortname equivalent of long arg
+ * this gets returned from get_option */
} long_options;
H5TOOLS_DLL int get_option(int argc, const char **argv, const char *opt, const struct long_options *l_opt);
@@ -95,15 +95,15 @@ H5TOOLS_DLL int get_option(int argc, const char **argv, const char *opt, const s
/*struct taken from the dumper. needed in table struct*/
typedef struct obj_t {
- H5O_token_t obj_token;
- char *objname;
- hbool_t displayed; /* Flag to indicate that the object has been displayed */
- hbool_t recorded; /* Flag for named datatypes to indicate they were found in the group hierarchy */
+ H5O_token_t obj_token;
+ char * objname;
+ hbool_t displayed; /* Flag to indicate that the object has been displayed */
+ hbool_t recorded; /* Flag for named datatypes to indicate they were found in the group hierarchy */
} obj_t;
/*struct for the tables that the find_objs function uses*/
typedef struct table_t {
- hid_t fid;
+ hid_t fid;
size_t size;
size_t nobjs;
obj_t *objs;
@@ -117,21 +117,23 @@ typedef struct find_objs_t {
table_t *dset_table;
} find_objs_t;
-H5TOOLS_DLLVAR unsigned h5tools_nCols; /*max number of columns for outputting */
+H5TOOLS_DLLVAR unsigned h5tools_nCols; /*max number of columns for outputting */
/* Definitions of useful routines */
-H5TOOLS_DLL void indentation(unsigned);
-H5TOOLS_DLL void print_version(const char *progname);
-H5TOOLS_DLL void parallel_print(const char* format, ... );
-H5TOOLS_DLL herr_t parse_tuple(const char *start, int sep, char **cpy_out, unsigned *nelems, char ***ptrs_out);
-H5TOOLS_DLL void error_msg(const char *fmt, ...);
-H5TOOLS_DLL void warn_msg(const char *fmt, ...);
-H5TOOLS_DLL void help_ref_msg(FILE *output);
-H5TOOLS_DLL void free_table(table_t *table);
+H5TOOLS_DLL void indentation(unsigned);
+H5TOOLS_DLL void print_version(const char *progname);
+H5TOOLS_DLL void parallel_print(const char *format, ...);
+H5TOOLS_DLL herr_t parse_tuple(const char *start, int sep, char **cpy_out, unsigned *nelems,
+ char ***ptrs_out);
+H5TOOLS_DLL void error_msg(const char *fmt, ...);
+H5TOOLS_DLL void warn_msg(const char *fmt, ...);
+H5TOOLS_DLL void help_ref_msg(FILE *output);
+H5TOOLS_DLL void free_table(table_t *table);
#ifdef H5DUMP_DEBUG
H5TOOLS_DLL void dump_tables(find_objs_t *info);
-#endif /* H5DUMP_DEBUG */
-H5TOOLS_DLL herr_t init_objs(hid_t fid, find_objs_t *info, table_t **group_table, table_t **dset_table, table_t **type_table);
+#endif /* H5DUMP_DEBUG */
+H5TOOLS_DLL herr_t init_objs(hid_t fid, find_objs_t *info, table_t **group_table, table_t **dset_table,
+ table_t **type_table);
H5TOOLS_DLL obj_t *search_obj(table_t *temp, const H5O_token_t *obj_token);
#ifndef H5_HAVE_TMPFILE
H5TOOLS_DLL FILE *tmpfile(void);
@@ -145,46 +147,48 @@ H5TOOLS_DLL FILE *tmpfile(void);
/* This code is layout for common code among tools */
typedef enum toolname_t {
- TOOL_H5DIFF, TOOL_H5LS, TOOL__H5DUMP /* add as necessary */
+ TOOL_H5DIFF,
+ TOOL_H5LS,
+ TOOL__H5DUMP /* add as necessary */
} h5tool_toolname_t;
/* this struct can be used to differntiate among tools */
typedef struct {
h5tool_toolname_t toolname;
- int msg_mode;
+ int msg_mode;
} h5tool_opt_t;
/* obtain link info from H5tools_get_symlink_info() */
typedef struct {
- H5O_type_t trg_type; /* OUT: target type */
- char *trg_path; /* OUT: target obj path. This must be freed
+ H5O_type_t trg_type; /* OUT: target type */
+ char * trg_path; /* OUT: target obj path. This must be freed
* when used with H5tools_get_symlink_info() */
- H5O_token_t obj_token; /* OUT: target object token */
+ H5O_token_t obj_token; /* OUT: target object token */
unsigned long fileno; /* OUT: File number that target object is located in */
H5L_info2_t linfo; /* OUT: link info */
h5tool_opt_t opt; /* IN: options */
} h5tool_link_info_t;
-
/* Definitions of routines */
-H5TOOLS_DLL int H5tools_get_symlink_info(hid_t file_id, const char * linkpath, h5tool_link_info_t *link_info, hbool_t get_obj_type);
+H5TOOLS_DLL int H5tools_get_symlink_info(hid_t file_id, const char *linkpath, h5tool_link_info_t *link_info,
+ hbool_t get_obj_type);
H5TOOLS_DLL const char *h5tools_getprogname(void);
-H5TOOLS_DLL void h5tools_setprogname(const char*progname);
-H5TOOLS_DLL int h5tools_getstatus(void);
-H5TOOLS_DLL void h5tools_setstatus(int d_status);
-H5TOOLS_DLL int h5tools_getenv_update_hyperslab_bufsize(void);
+H5TOOLS_DLL void h5tools_setprogname(const char *progname);
+H5TOOLS_DLL int h5tools_getstatus(void);
+H5TOOLS_DLL void h5tools_setstatus(int d_status);
+H5TOOLS_DLL int h5tools_getenv_update_hyperslab_bufsize(void);
#ifdef H5_HAVE_ROS3_VFD
H5TOOLS_DLL herr_t h5tools_parse_ros3_fapl_tuple(const char *tuple_str, int delim,
- H5FD_ros3_fapl_t *fapl_config_out);
-H5TOOLS_DLL int h5tools_populate_ros3_fapl(H5FD_ros3_fapl_t *fa, const char **values);
+ H5FD_ros3_fapl_t *fapl_config_out);
+H5TOOLS_DLL int h5tools_populate_ros3_fapl(H5FD_ros3_fapl_t *fa, const char **values);
#endif /* H5_HAVE_ROS3_VFD */
#ifdef H5_HAVE_LIBHDFS
H5TOOLS_DLL herr_t h5tools_parse_hdfs_fapl_tuple(const char *tuple_str, int delim,
- H5FD_hdfs_fapl_t *fapl_config_out);
+ H5FD_hdfs_fapl_t *fapl_config_out);
#endif
#ifdef __cplusplus
}
#endif
-#endif /* H5TOOLS_UTILS_H__ */
+#endif /* H5TOOLS_UTILS_H__ */
diff --git a/tools/lib/h5trav.c b/tools/lib/h5trav.c
index dc7e27d..74357d0 100644
--- a/tools/lib/h5trav.c
+++ b/tools/lib/h5trav.c
@@ -11,7 +11,6 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
#include "h5trav.h"
#include "h5tools.h"
#include "H5private.h"
@@ -22,32 +21,32 @@
*/
typedef struct trav_addr_path_t {
H5O_token_t token;
- char *path;
+ char * path;
} trav_addr_path_t;
typedef struct trav_addr_t {
- size_t nalloc;
- size_t nused;
+ size_t nalloc;
+ size_t nused;
trav_addr_path_t *objs;
} trav_addr_t;
typedef struct {
- h5trav_obj_func_t visit_obj; /* Callback for visiting objects */
- h5trav_lnk_func_t visit_lnk; /* Callback for visiting links */
- void *udata; /* User data to pass to callbacks */
+ h5trav_obj_func_t visit_obj; /* Callback for visiting objects */
+ h5trav_lnk_func_t visit_lnk; /* Callback for visiting links */
+ void * udata; /* User data to pass to callbacks */
} trav_visitor_t;
typedef struct {
- trav_addr_t *seen; /* List of addresses seen already */
- const trav_visitor_t *visitor; /* Information for visiting each link/object */
- hbool_t is_absolute; /* Whether the traversal has absolute paths */
- const char *base_grp_name; /* Name of the group that serves as the base
- * for iteration */
- unsigned fields; /* Fields needed in H5O_info2_t struct */
+ trav_addr_t * seen; /* List of addresses seen already */
+ const trav_visitor_t *visitor; /* Information for visiting each link/object */
+ hbool_t is_absolute; /* Whether the traversal has absolute paths */
+ const char * base_grp_name; /* Name of the group that serves as the base
+ * for iteration */
+ unsigned fields; /* Fields needed in H5O_info2_t struct */
} trav_ud_traverse_t;
typedef struct {
- hid_t fid; /* File ID being traversed */
+ hid_t fid; /* File ID being traversed */
} trav_print_udata_t;
typedef struct trav_path_op_data_t {
@@ -56,26 +55,22 @@ typedef struct trav_path_op_data_t {
/* format for hsize_t */
#ifdef H5TRAV_PRINT_SPACE
-#define HSIZE_T_FORMAT "%" H5_PRINTF_LL_WIDTH "u"
+#define HSIZE_T_FORMAT "%" H5_PRINTF_LL_WIDTH "u"
#endif /* H5TRAV_PRINT_SPACE */
/*-------------------------------------------------------------------------
* local functions
*-------------------------------------------------------------------------
*/
-static void trav_table_add(trav_table_t *table,
- const char *objname,
- const H5O_info2_t *oinfo);
+static void trav_table_add(trav_table_t *table, const char *objname, const H5O_info2_t *oinfo);
-static void trav_table_addlink(trav_table_t *table,
- const H5O_token_t *obj_token,
- const char *path);
+static void trav_table_addlink(trav_table_t *table, const H5O_token_t *obj_token, const char *path);
/*-------------------------------------------------------------------------
* local variables
*-------------------------------------------------------------------------
*/
-static H5_index_t trav_index_by = H5_INDEX_NAME;
+static H5_index_t trav_index_by = H5_INDEX_NAME;
static H5_iter_order_t trav_index_order = H5_ITER_INC;
static int trav_verbosity = 0;
@@ -91,7 +86,7 @@ static int trav_verbosity = 0;
void
h5trav_set_index(H5_index_t print_index_by, H5_iter_order_t print_index_order)
{
- trav_index_by = print_index_by;
+ trav_index_by = print_index_by;
trav_index_order = print_index_order;
}
@@ -114,7 +109,6 @@ h5trav_set_verbose(int print_verbose)
*-------------------------------------------------------------------------
*/
-
/*-------------------------------------------------------------------------
* Function: trav_token_add
*
@@ -126,12 +120,14 @@ h5trav_set_verbose(int print_verbose)
static void
trav_token_add(trav_addr_t *visited, H5O_token_t *token, const char *path)
{
- size_t idx; /* Index of address to use */
+ size_t idx; /* Index of address to use */
/* Allocate space if necessary */
- if(visited->nused == visited->nalloc) {
- visited->nalloc = MAX(1, visited->nalloc * 2);;
- visited->objs = (trav_addr_path_t *)HDrealloc(visited->objs, visited->nalloc * sizeof(trav_addr_path_t));
+ if (visited->nused == visited->nalloc) {
+ visited->nalloc = MAX(1, visited->nalloc * 2);
+ ;
+ visited->objs =
+ (trav_addr_path_t *)HDrealloc(visited->objs, visited->nalloc * sizeof(trav_addr_path_t));
} /* end if */
/* Append it */
@@ -140,7 +136,6 @@ trav_token_add(trav_addr_t *visited, H5O_token_t *token, const char *path)
visited->objs[idx].path = HDstrdup(path);
} /* end trav_token_add() */
-
/*-------------------------------------------------------------------------
* Function: trav_token_visited
*
@@ -152,23 +147,22 @@ trav_token_add(trav_addr_t *visited, H5O_token_t *token, const char *path)
H5_ATTR_PURE static const char *
trav_token_visited(hid_t loc_id, trav_addr_t *visited, H5O_token_t *token)
{
- size_t u; /* Local index variable */
- int token_cmp;
+ size_t u; /* Local index variable */
+ int token_cmp;
/* Look for address */
- for(u = 0; u < visited->nused; u++) {
+ for (u = 0; u < visited->nused; u++) {
/* Check for address already in array */
- if(H5Otoken_cmp(loc_id, &visited->objs[u].token, token, &token_cmp) < 0)
+ if (H5Otoken_cmp(loc_id, &visited->objs[u].token, token, &token_cmp) < 0)
return NULL;
- if(!token_cmp)
- return(visited->objs[u].path);
+ if (!token_cmp)
+ return (visited->objs[u].path);
}
/* Didn't find object token */
- return(NULL);
+ return (NULL);
} /* end trav_token_visited() */
-
/*-------------------------------------------------------------------------
* Function: traverse_cb
*
@@ -176,23 +170,23 @@ trav_token_visited(hid_t loc_id, trav_addr_t *visited, H5O_token_t *token)
*-------------------------------------------------------------------------
*/
static herr_t
-traverse_cb(hid_t loc_id, const char *path, const H5L_info2_t *linfo,
- void *_udata)
+traverse_cb(hid_t loc_id, const char *path, const H5L_info2_t *linfo, void *_udata)
{
- trav_ud_traverse_t *udata = (trav_ud_traverse_t *)_udata; /* User data */
- char *new_name = NULL;
- const char *full_name;
- const char *already_visited = NULL; /* Whether the link/object was already visited */
+ trav_ud_traverse_t *udata = (trav_ud_traverse_t *)_udata; /* User data */
+ char * new_name = NULL;
+ const char * full_name;
+ const char * already_visited = NULL; /* Whether the link/object was already visited */
/* Create the full path name for the link */
- if(udata->is_absolute) {
- size_t base_len = HDstrlen(udata->base_grp_name);
- size_t add_slash = base_len ? ((udata->base_grp_name)[base_len - 1] != '/') : 1;
- size_t new_name_len = base_len + add_slash + HDstrlen(path) + 1 + 3; /* Extra "+3" to quiet GCC warning - 2019/07/05, QAK */
-
- if(NULL == (new_name = (char*)HDmalloc(new_name_len)))
- return(H5_ITER_ERROR);
- if(add_slash)
+ if (udata->is_absolute) {
+ size_t base_len = HDstrlen(udata->base_grp_name);
+ size_t add_slash = base_len ? ((udata->base_grp_name)[base_len - 1] != '/') : 1;
+ size_t new_name_len = base_len + add_slash + HDstrlen(path) + 1 +
+ 3; /* Extra "+3" to quiet GCC warning - 2019/07/05, QAK */
+
+ if (NULL == (new_name = (char *)HDmalloc(new_name_len)))
+ return (H5_ITER_ERROR);
+ if (add_slash)
HDsnprintf(new_name, new_name_len, "%s/%s", udata->base_grp_name, path);
else
HDsnprintf(new_name, new_name_len, "%s%s", udata->base_grp_name, path);
@@ -202,48 +196,47 @@ traverse_cb(hid_t loc_id, const char *path, const H5L_info2_t *linfo,
full_name = path;
/* Perform the correct action for different types of links */
- if(linfo->type == H5L_TYPE_HARD) {
+ if (linfo->type == H5L_TYPE_HARD) {
H5O_info2_t oinfo;
/* Get information about the object */
- if(H5Oget_info_by_name3(loc_id, path, &oinfo, udata->fields, H5P_DEFAULT) < 0) {
- if(new_name)
+ if (H5Oget_info_by_name3(loc_id, path, &oinfo, udata->fields, H5P_DEFAULT) < 0) {
+ if (new_name)
HDfree(new_name);
- return(H5_ITER_ERROR);
+ return (H5_ITER_ERROR);
} /* end if */
/* If the object has multiple links, add it to the list of addresses
* already visited, if it isn't there already
*/
- if(oinfo.rc > 1)
- if(NULL == (already_visited = trav_token_visited(loc_id, udata->seen, &oinfo.token)))
+ if (oinfo.rc > 1)
+ if (NULL == (already_visited = trav_token_visited(loc_id, udata->seen, &oinfo.token)))
trav_token_add(udata->seen, &oinfo.token, full_name);
/* Make 'visit object' callback */
- if(udata->visitor->visit_obj)
- if((*udata->visitor->visit_obj)(full_name, &oinfo, already_visited, udata->visitor->udata) < 0) {
- if(new_name)
+ if (udata->visitor->visit_obj)
+ if ((*udata->visitor->visit_obj)(full_name, &oinfo, already_visited, udata->visitor->udata) < 0) {
+ if (new_name)
HDfree(new_name);
- return(H5_ITER_ERROR);
+ return (H5_ITER_ERROR);
} /* end if */
- } /* end if */
+ } /* end if */
else {
/* Make 'visit link' callback */
- if(udata->visitor->visit_lnk)
- if((*udata->visitor->visit_lnk)(full_name, linfo, udata->visitor->udata) < 0) {
- if(new_name)
+ if (udata->visitor->visit_lnk)
+ if ((*udata->visitor->visit_lnk)(full_name, linfo, udata->visitor->udata) < 0) {
+ if (new_name)
HDfree(new_name);
- return(H5_ITER_ERROR);
+ return (H5_ITER_ERROR);
} /* end if */
- } /* end else */
+ } /* end else */
- if(new_name)
+ if (new_name)
HDfree(new_name);
- return(H5_ITER_CONT);
+ return (H5_ITER_CONT);
} /* end traverse_cb() */
-
/*-------------------------------------------------------------------------
* Function: traverse
*
@@ -255,68 +248,69 @@ traverse_cb(hid_t loc_id, const char *path, const H5L_info2_t *linfo,
*-------------------------------------------------------------------------
*/
static int
-traverse(hid_t file_id, const char *grp_name, hbool_t visit_start,
- hbool_t recurse, const trav_visitor_t *visitor, unsigned fields)
+traverse(hid_t file_id, const char *grp_name, hbool_t visit_start, hbool_t recurse,
+ const trav_visitor_t *visitor, unsigned fields)
{
- H5O_info2_t oinfo; /* Object info for starting group */
+ H5O_info2_t oinfo; /* Object info for starting group */
int ret_value = 0;
/* Get info for starting object */
- if(H5Oget_info_by_name3(file_id, grp_name, &oinfo, fields, H5P_DEFAULT) < 0)
+ if (H5Oget_info_by_name3(file_id, grp_name, &oinfo, fields, H5P_DEFAULT) < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Oget_info_by_name failed");
/* Visit the starting object */
- if(visit_start && visitor->visit_obj)
+ if (visit_start && visitor->visit_obj)
(*visitor->visit_obj)(grp_name, &oinfo, NULL, visitor->udata);
/* Go visiting, if the object is a group */
- if(oinfo.type == H5O_TYPE_GROUP) {
- trav_addr_t seen; /* List of addresses seen */
- trav_ud_traverse_t udata; /* User data for iteration callback */
+ if (oinfo.type == H5O_TYPE_GROUP) {
+ trav_addr_t seen; /* List of addresses seen */
+ trav_ud_traverse_t udata; /* User data for iteration callback */
/* Init addresses seen */
seen.nused = seen.nalloc = 0;
- seen.objs = NULL;
+ seen.objs = NULL;
/* Check for multiple links to top group */
- if(oinfo.rc > 1)
+ if (oinfo.rc > 1)
trav_token_add(&seen, &oinfo.token, grp_name);
/* Set up user data structure */
- udata.seen = &seen;
- udata.visitor = visitor;
- udata.is_absolute = (*grp_name == '/');
+ udata.seen = &seen;
+ udata.visitor = visitor;
+ udata.is_absolute = (*grp_name == '/');
udata.base_grp_name = grp_name;
- udata.fields = fields;
+ udata.fields = fields;
/* Check for iteration of links vs. visiting all links recursively */
- if(recurse) {
+ if (recurse) {
/* Visit all links in group, recursively */
- if(H5Lvisit_by_name2(file_id, grp_name, trav_index_by, trav_index_order, traverse_cb, &udata, H5P_DEFAULT) < 0)
+ if (H5Lvisit_by_name2(file_id, grp_name, trav_index_by, trav_index_order, traverse_cb, &udata,
+ H5P_DEFAULT) < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Lvisit_by_name failed");
} /* end if */
else {
/* Iterate over links in group */
- if(H5Literate_by_name2(file_id, grp_name, trav_index_by, trav_index_order, NULL, traverse_cb, &udata, H5P_DEFAULT) < 0)
+ if (H5Literate_by_name2(file_id, grp_name, trav_index_by, trav_index_order, NULL, traverse_cb,
+ &udata, H5P_DEFAULT) < 0)
H5TOOLS_GOTO_ERROR((-1), "H5Literate_by_name failed");
} /* end else */
/* Free visited addresses table */
- if(seen.objs) {
- size_t u; /* Local index variable */
+ if (seen.objs) {
+ size_t u; /* Local index variable */
/* Free paths to objects */
- for(u = 0; u < seen.nused; u++)
+ for (u = 0; u < seen.nused; u++)
HDfree(seen.objs[u].path);
HDfree(seen.objs);
} /* end if */
- } /* end if */
+ } /* end if */
done:
return ret_value;
}
-
/*-------------------------------------------------------------------------
* Function: trav_info_add
*
@@ -328,19 +322,20 @@ done:
void
trav_info_add(trav_info_t *info, const char *path, h5trav_type_t obj_type)
{
- size_t idx; /* Index of address to use */
+ size_t idx; /* Index of address to use */
if (info) {
/* Allocate space if necessary */
- if(info->nused == info->nalloc) {
- info->nalloc = MAX(1, info->nalloc * 2);;
+ if (info->nused == info->nalloc) {
+ info->nalloc = MAX(1, info->nalloc * 2);
+ ;
info->paths = (trav_path_t *)HDrealloc(info->paths, info->nalloc * sizeof(trav_path_t));
} /* end if */
/* Append it */
- idx = info->nused++;
- info->paths[idx].path = HDstrdup(path);
- info->paths[idx].type = obj_type;
+ idx = info->nused++;
+ info->paths[idx].path = HDstrdup(path);
+ info->paths[idx].type = obj_type;
info->paths[idx].fileno = 0;
/* Set token to 'undefined' values */
@@ -348,7 +343,6 @@ trav_info_add(trav_info_t *info, const char *path, h5trav_type_t obj_type)
}
} /* end trav_info_add() */
-
/*-------------------------------------------------------------------------
* Function: trav_fileinfo_add
*
@@ -361,9 +355,9 @@ void
trav_fileinfo_add(trav_info_t *info, hid_t loc_id)
{
H5O_info2_t oinfo;
- size_t idx = info->nused - 1;
+ size_t idx = info->nused - 1;
- if(info->paths[idx].path && HDstrcmp(info->paths[idx].path, "."))
+ if (info->paths[idx].path && HDstrcmp(info->paths[idx].path, "."))
H5Oget_info_by_name3(loc_id, info->paths[idx].path, &oinfo, H5O_INFO_BASIC, H5P_DEFAULT);
else
H5Oget_info3(loc_id, &oinfo, H5O_INFO_BASIC);
@@ -372,7 +366,6 @@ trav_fileinfo_add(trav_info_t *info, hid_t loc_id)
info->paths[idx].fileno = oinfo.fileno;
} /* end trav_fileinfo_add() */
-
/*-------------------------------------------------------------------------
* Function: trav_info_visit_obj
*
@@ -383,10 +376,10 @@ trav_fileinfo_add(trav_info_t *info, hid_t loc_id)
*-------------------------------------------------------------------------
*/
int
-trav_info_visit_obj(const char *path, const H5O_info2_t *oinfo,
- const char H5_ATTR_UNUSED *already_visited, void *udata)
+trav_info_visit_obj(const char *path, const H5O_info2_t *oinfo, const char H5_ATTR_UNUSED *already_visited,
+ void *udata)
{
- size_t idx;
+ size_t idx;
trav_info_t *info_p;
/* Add the object to the 'info' struct */
@@ -394,15 +387,14 @@ trav_info_visit_obj(const char *path, const H5O_info2_t *oinfo,
trav_info_add((trav_info_t *)udata, path, (h5trav_type_t)oinfo->type);
/* set object addr and fileno. These are for checking same object */
- info_p = (trav_info_t *) udata;
- idx = info_p->nused - 1;
+ info_p = (trav_info_t *)udata;
+ idx = info_p->nused - 1;
HDmemcpy(&info_p->paths[idx].obj_token, &oinfo->token, sizeof(H5O_token_t));
info_p->paths[idx].fileno = oinfo->fileno;
- return(0);
+ return (0);
} /* end trav_info_visit_obj() */
-
/*-------------------------------------------------------------------------
* Function: trav_info_visit_lnk
*
@@ -416,12 +408,12 @@ int
trav_info_visit_lnk(const char *path, const H5L_info2_t *linfo, void *udata)
{
/* Add the link to the 'info' struct */
- trav_info_add((trav_info_t *)udata, path, ((linfo->type == H5L_TYPE_SOFT) ? H5TRAV_TYPE_LINK : H5TRAV_TYPE_UDLINK));
+ trav_info_add((trav_info_t *)udata, path,
+ ((linfo->type == H5L_TYPE_SOFT) ? H5TRAV_TYPE_LINK : H5TRAV_TYPE_UDLINK));
- return(0);
+ return (0);
} /* end trav_info_visit_lnk() */
-
/*-------------------------------------------------------------------------
* Function: h5trav_getinfo
*
@@ -435,16 +427,16 @@ trav_info_visit_lnk(const char *path, const H5L_info2_t *linfo, void *udata)
int
h5trav_getinfo(hid_t file_id, trav_info_t *info)
{
- trav_visitor_t info_visitor; /* Visitor structure for trav_info_t's */
+ trav_visitor_t info_visitor; /* Visitor structure for trav_info_t's */
int ret_value = 0;
/* Init visitor structure */
info_visitor.visit_obj = trav_info_visit_obj;
info_visitor.visit_lnk = trav_info_visit_lnk;
- info_visitor.udata = info;
+ info_visitor.udata = info;
/* Traverse all objects in the file, visiting each object & link */
- if(traverse(file_id, "/", TRUE, TRUE, &info_visitor, H5O_INFO_BASIC) < 0)
+ if (traverse(file_id, "/", TRUE, TRUE, &info_visitor, H5O_INFO_BASIC) < 0)
H5TOOLS_GOTO_ERROR((-1), "traverse failed");
done:
@@ -463,23 +455,22 @@ done:
H5_ATTR_PURE ssize_t
h5trav_getindex(const trav_info_t *info, const char *obj)
{
- size_t u; /* Local index variable */
+ size_t u; /* Local index variable */
/* Loop over all paths in 'info' struct, looking for object */
- for(u = 0; u < info->nused; u++) {
+ for (u = 0; u < info->nused; u++) {
/* Check for object name having full path (with leading '/') */
- if(HDstrcmp(obj, info->paths[u].path) == 0)
- return((ssize_t)u);
+ if (HDstrcmp(obj, info->paths[u].path) == 0)
+ return ((ssize_t)u);
/* Check for object name without leading '/' */
- if(HDstrcmp(obj, (info->paths[u].path + 1)) == 0)
- return((ssize_t)u);
+ if (HDstrcmp(obj, (info->paths[u].path + 1)) == 0)
+ return ((ssize_t)u);
} /* end for */
- return((ssize_t)-1);
+ return ((ssize_t)-1);
} /* end h5trav_getindex() */
-
/*-------------------------------------------------------------------------
* Function: trav_info_init
*
@@ -495,19 +486,18 @@ trav_info_init(const char *filename, hid_t fileid, trav_info_t **_info)
/* Init info structure */
info->nused = info->nalloc = 0;
- info->paths = NULL;
- info->fname = filename;
- info->fid = fileid;
+ info->paths = NULL;
+ info->fname = filename;
+ info->fid = fileid;
/* Initialize list of visited symbolic links */
- info->symlink_visited.nused = 0;
- info->symlink_visited.nalloc = 0;
- info->symlink_visited.objs = NULL;
+ info->symlink_visited.nused = 0;
+ info->symlink_visited.nalloc = 0;
+ info->symlink_visited.objs = NULL;
info->symlink_visited.dangle_link = FALSE;
- *_info = info;
+ *_info = info;
} /* end trav_info_init() */
-
/*-------------------------------------------------------------------------
* Function: trav_info_free
*
@@ -517,11 +507,11 @@ trav_info_init(const char *filename, hid_t fileid, trav_info_t **_info)
void
trav_info_free(trav_info_t *info)
{
- size_t u; /* Local index variable */
+ size_t u; /* Local index variable */
- if(info) {
+ if (info) {
/* Free visited symbolic links path and file (if alloc) */
- for(u = 0; u < info->symlink_visited.nused; u++) {
+ for (u = 0; u < info->symlink_visited.nused; u++) {
if (info->symlink_visited.objs[u].file)
HDfree(info->symlink_visited.objs[u].file);
HDfree(info->symlink_visited.objs[u].path);
@@ -529,20 +519,18 @@ trav_info_free(trav_info_t *info)
HDfree(info->symlink_visited.objs);
/* Free path names */
- for(u = 0; u < info->nused; u++)
+ for (u = 0; u < info->nused; u++)
HDfree(info->paths[u].path);
HDfree(info->paths);
HDfree(info);
} /* end if */
} /* end trav_info_free() */
-
/*-------------------------------------------------------------------------
* "h5trav table" public functions. used in h5repack
*-------------------------------------------------------------------------
*/
-
/*-------------------------------------------------------------------------
* Function: trav_table_visit_obj
*
@@ -553,13 +541,12 @@ trav_info_free(trav_info_t *info)
*-------------------------------------------------------------------------
*/
static int
-trav_table_visit_obj(const char *path, const H5O_info2_t *oinfo,
- const char *already_visited, void *udata)
+trav_table_visit_obj(const char *path, const H5O_info2_t *oinfo, const char *already_visited, void *udata)
{
trav_table_t *table = (trav_table_t *)udata;
/* Check if we've already seen this object */
- if(NULL == already_visited)
+ if (NULL == already_visited)
/* add object to table */
trav_table_add(table, path, oinfo);
else
@@ -569,7 +556,6 @@ trav_table_visit_obj(const char *path, const H5O_info2_t *oinfo,
return 0;
} /* end trav_table_visit_obj() */
-
/*-------------------------------------------------------------------------
* Function: trav_table_visit_lnk
*
@@ -588,7 +574,6 @@ trav_table_visit_lnk(const char *path, const H5L_info2_t H5_ATTR_UNUSED *linfo,
return 0;
} /* end trav_table_visit_lnk() */
-
/*-------------------------------------------------------------------------
* Function: h5trav_gettable
*
@@ -601,16 +586,16 @@ trav_table_visit_lnk(const char *path, const H5L_info2_t H5_ATTR_UNUSED *linfo,
int
h5trav_gettable(hid_t fid, trav_table_t *table)
{
- trav_visitor_t table_visitor; /* Visitor structure for trav_table_t's */
+ trav_visitor_t table_visitor; /* Visitor structure for trav_table_t's */
int ret_value = 0;
/* Init visitor structure */
table_visitor.visit_obj = trav_table_visit_obj;
table_visitor.visit_lnk = trav_table_visit_lnk;
- table_visitor.udata = table;
+ table_visitor.udata = table;
/* Traverse all objects in the file, visiting each object & link */
- if(traverse(fid, "/", TRUE, TRUE, &table_visitor, H5O_INFO_BASIC) < 0)
+ if (traverse(fid, "/", TRUE, TRUE, &table_visitor, H5O_INFO_BASIC) < 0)
H5TOOLS_GOTO_ERROR((-1), "traverse failed");
done:
@@ -631,31 +616,31 @@ h5trav_getindext(const char *name, const trav_table_t *table)
{
unsigned int i;
- if(table) {
- for(i = 0; i < table->nobjs; i++) {
+ if (table) {
+ for (i = 0; i < table->nobjs; i++) {
/* Check for object name having full path (with leading '/') */
- if(HDstrcmp(name, table->objs[i].name) == 0)
- return((int)i);
+ if (HDstrcmp(name, table->objs[i].name) == 0)
+ return ((int)i);
/* Check for object name without leading '/' */
- if(HDstrcmp(name, table->objs[i].name + 1) == 0)
- return((int)i);
+ if (HDstrcmp(name, table->objs[i].name + 1) == 0)
+ return ((int)i);
/* search also in the list of links */
- if(table->objs[i].nlinks) {
+ if (table->objs[i].nlinks) {
unsigned int j;
- for ( j=0; j<table->objs[i].nlinks; j++) {
+ for (j = 0; j < table->objs[i].nlinks; j++) {
/* Check for object name having full path (with leading '/') */
- if(HDstrcmp(name, table->objs[i].links[j].new_name) == 0)
- return((int)i);
+ if (HDstrcmp(name, table->objs[i].links[j].new_name) == 0)
+ return ((int)i);
/* Check for object name without leading '/' */
- if(HDstrcmp(name, table->objs[i].links[j].new_name + 1) == 0)
- return((int)i);
+ if (HDstrcmp(name, table->objs[i].links[j].new_name + 1) == 0)
+ return ((int)i);
} /* end for */
- } /* end if */
- } /* end for */
+ } /* end if */
+ } /* end for */
}
return -1;
}
@@ -673,25 +658,25 @@ trav_table_add(trav_table_t *table, const char *path, const H5O_info2_t *oinfo)
{
size_t new_obj;
- if(table) {
- if(table->nobjs == table->size) {
+ if (table) {
+ if (table->nobjs == table->size) {
table->size = MAX(1, table->size * 2);
table->objs = (trav_obj_t *)HDrealloc(table->objs, table->size * sizeof(trav_obj_t));
} /* end if */
new_obj = table->nobjs++;
- if(oinfo)
+ if (oinfo)
HDmemcpy(&table->objs[new_obj].obj_token, &oinfo->token, sizeof(H5O_token_t));
else
/* Set token to 'undefined' values */
table->objs[new_obj].obj_token = H5O_TOKEN_UNDEF;
table->objs[new_obj].flags[0] = table->objs[new_obj].flags[1] = 0;
- table->objs[new_obj].is_same_trgobj = 0;
- table->objs[new_obj].name = (char *)HDstrdup(path);
- table->objs[new_obj].type = oinfo ? (h5trav_type_t)oinfo->type : H5TRAV_TYPE_LINK;
- table->objs[new_obj].nlinks = 0;
+ table->objs[new_obj].is_same_trgobj = 0;
+ table->objs[new_obj].name = (char *)HDstrdup(path);
+ table->objs[new_obj].type = oinfo ? (h5trav_type_t)oinfo->type : H5TRAV_TYPE_LINK;
+ table->objs[new_obj].nlinks = 0;
table->objs[new_obj].sizelinks = 0;
- table->objs[new_obj].links = NULL;
+ table->objs[new_obj].links = NULL;
}
}
@@ -706,37 +691,37 @@ trav_table_add(trav_table_t *table, const char *path, const H5O_info2_t *oinfo)
static void
trav_table_addlink(trav_table_t *table, const H5O_token_t *obj_token, const char *path)
{
- size_t i; /* Local index variable */
- int token_cmp;
+ size_t i; /* Local index variable */
+ int token_cmp;
- if(table) {
- for(i = 0; i < table->nobjs; i++) {
- if(H5Otoken_cmp(table->fid, &table->objs[i].obj_token, obj_token, &token_cmp) < 0)
+ if (table) {
+ for (i = 0; i < table->nobjs; i++) {
+ if (H5Otoken_cmp(table->fid, &table->objs[i].obj_token, obj_token, &token_cmp) < 0)
return;
- if(!token_cmp) {
+ if (!token_cmp) {
size_t n;
/* already inserted? */
- if(HDstrcmp(table->objs[i].name, path) == 0)
+ if (HDstrcmp(table->objs[i].name, path) == 0)
return;
/* allocate space if necessary */
- if(table->objs[i].nlinks == (unsigned)table->objs[i].sizelinks) {
+ if (table->objs[i].nlinks == (unsigned)table->objs[i].sizelinks) {
table->objs[i].sizelinks = MAX(1, table->objs[i].sizelinks * 2);
- table->objs[i].links = (trav_link_t *)HDrealloc(table->objs[i].links, table->objs[i].sizelinks * sizeof(trav_link_t));
+ table->objs[i].links = (trav_link_t *)HDrealloc(
+ table->objs[i].links, table->objs[i].sizelinks * sizeof(trav_link_t));
} /* end if */
/* insert it */
- n = table->objs[i].nlinks++;
+ n = table->objs[i].nlinks++;
table->objs[i].links[n].new_name = (char *)HDstrdup(path);
return;
} /* end if */
- } /* end for */
- } /* end if */
+ } /* end for */
+ } /* end if */
}
-
/*-------------------------------------------------------------------------
* Function: trav_table_addflags
*
@@ -745,15 +730,13 @@ trav_table_addlink(trav_table_t *table, const H5O_token_t *obj_token, const char
* Return: void
*-------------------------------------------------------------------------
*/
-void trav_table_addflags(unsigned *flags,
- char *name,
- h5trav_type_t type,
- trav_table_t *table)
+void
+trav_table_addflags(unsigned *flags, char *name, h5trav_type_t type, trav_table_t *table)
{
size_t new_obj;
- if(table) {
- if(table->nobjs == table->size) {
+ if (table) {
+ if (table->nobjs == table->size) {
table->size = MAX(1, table->size * 2);
table->objs = (trav_obj_t *)HDrealloc(table->objs, table->size * sizeof(trav_obj_t));
} /* end if */
@@ -763,18 +746,17 @@ void trav_table_addflags(unsigned *flags,
/* Set token to 'undefined' values */
table->objs[new_obj].obj_token = H5O_TOKEN_UNDEF;
- table->objs[new_obj].flags[0] = flags[0];
- table->objs[new_obj].flags[1] = flags[1];
+ table->objs[new_obj].flags[0] = flags[0];
+ table->objs[new_obj].flags[1] = flags[1];
table->objs[new_obj].is_same_trgobj = 0;
- table->objs[new_obj].name = (char *)HDstrdup(name);
- table->objs[new_obj].type = type;
- table->objs[new_obj].nlinks = 0;
- table->objs[new_obj].sizelinks = 0;
- table->objs[new_obj].links = NULL;
+ table->objs[new_obj].name = (char *)HDstrdup(name);
+ table->objs[new_obj].type = type;
+ table->objs[new_obj].nlinks = 0;
+ table->objs[new_obj].sizelinks = 0;
+ table->objs[new_obj].links = NULL;
}
}
-
/*-------------------------------------------------------------------------
* Function: trav_table_init
*
@@ -783,19 +765,19 @@ void trav_table_addflags(unsigned *flags,
* Return: void
*-------------------------------------------------------------------------
*/
-void trav_table_init(hid_t fid, trav_table_t **tbl)
+void
+trav_table_init(hid_t fid, trav_table_t **tbl)
{
- trav_table_t* table = (trav_table_t*) HDmalloc(sizeof(trav_table_t));
- if(table) {
- table->fid = fid;
- table->size = 0;
+ trav_table_t *table = (trav_table_t *)HDmalloc(sizeof(trav_table_t));
+ if (table) {
+ table->fid = fid;
+ table->size = 0;
table->nobjs = 0;
- table->objs = NULL;
+ table->objs = NULL;
}
*tbl = table;
}
-
/*-------------------------------------------------------------------------
* Function: trav_table_free
*
@@ -804,23 +786,24 @@ void trav_table_init(hid_t fid, trav_table_t **tbl)
* Return: void
*-------------------------------------------------------------------------
*/
-void trav_table_free(trav_table_t *table)
+void
+trav_table_free(trav_table_t *table)
{
- if(table) {
- if(table->objs) {
+ if (table) {
+ if (table->objs) {
unsigned int i;
- for(i = 0; i < table->nobjs; i++) {
- HDfree(table->objs[i].name );
- if(table->objs[i].nlinks) {
+ for (i = 0; i < table->nobjs; i++) {
+ HDfree(table->objs[i].name);
+ if (table->objs[i].nlinks) {
unsigned int j;
- for(j = 0; j < table->objs[i].nlinks; j++)
+ for (j = 0; j < table->objs[i].nlinks; j++)
HDfree(table->objs[i].links[j].new_name);
HDfree(table->objs[i].links);
} /* end if */
- } /* end for */
+ } /* end for */
HDfree(table->objs);
} /* end if */
HDfree(table);
@@ -830,39 +813,40 @@ void trav_table_free(trav_table_t *table)
static herr_t
trav_attr(hid_t
#ifndef H5TRAV_PRINT_SPACE
- H5_ATTR_UNUSED
+ H5_ATTR_UNUSED
#endif /* H5TRAV_PRINT_SPACE */
- obj, const char *attr_name, const H5A_info_t H5_ATTR_UNUSED *ainfo, void *_op_data)
+ obj,
+ const char *attr_name, const H5A_info_t H5_ATTR_UNUSED *ainfo, void *_op_data)
{
trav_path_op_data_t *op_data = (trav_path_op_data_t *)_op_data;
- const char *buf = op_data->path;
+ const char * buf = op_data->path;
- if((strlen(buf)==1) && (*buf=='/'))
+ if ((strlen(buf) == 1) && (*buf == '/'))
HDprintf(" %-10s %s%s", "attribute", buf, attr_name);
else
HDprintf(" %-10s %s/%s", "attribute", buf, attr_name);
#ifdef H5TRAV_PRINT_SPACE
- if(trav_verbosity < 2) {
+ if (trav_verbosity < 2) {
#endif
HDprintf("\n");
#ifdef H5TRAV_PRINT_SPACE
}
else {
- hid_t attr = H5I_INVALID_HID;
- hid_t space = H5I_INVALID_HID;
- hsize_t size[H5S_MAX_RANK];
- int ndims;
- int i;
- H5S_class_t space_type;
-
- if((attr = H5Aopen(obj, attr_name, H5P_DEFAULT))) {
+ hid_t attr = H5I_INVALID_HID;
+ hid_t space = H5I_INVALID_HID;
+ hsize_t size[H5S_MAX_RANK];
+ int ndims;
+ int i;
+ H5S_class_t space_type;
+
+ if ((attr = H5Aopen(obj, attr_name, H5P_DEFAULT))) {
space = H5Aget_space(attr);
/* Data space */
- ndims = H5Sget_simple_extent_dims(space, size, NULL);
+ ndims = H5Sget_simple_extent_dims(space, size, NULL);
space_type = H5Sget_simple_extent_type(space);
- switch(space_type) {
+ switch (space_type) {
case H5S_SCALAR:
/* scalar dataspace */
HDprintf(" scalar\n");
@@ -872,7 +856,7 @@ trav_attr(hid_t
/* simple dataspace */
HDprintf(" {");
for (i = 0; i < ndims; i++) {
- HDprintf("%s" HSIZE_T_FORMAT, i?", ":"", size[i]);
+ HDprintf("%s" HSIZE_T_FORMAT, i ? ", " : "", size[i]);
}
HDprintf("}\n");
break;
@@ -894,10 +878,9 @@ trav_attr(hid_t
}
#endif
- return(0);
+ return (0);
}
-
/*-------------------------------------------------------------------------
* Function: trav_print_visit_obj
*
@@ -908,15 +891,14 @@ trav_attr(hid_t
*-------------------------------------------------------------------------
*/
static int
-trav_print_visit_obj(const char *path, const H5O_info2_t *oinfo,
- const char *already_visited, void *udata)
+trav_print_visit_obj(const char *path, const H5O_info2_t *oinfo, const char *already_visited, void *udata)
{
trav_print_udata_t *print_udata = (trav_print_udata_t *)udata;
/* Print the name of the object */
/* (no new-line, so that objects that we've encountered before can print
* the name of the original object)
*/
- switch(oinfo->type) {
+ switch (oinfo->type) {
case H5O_TYPE_GROUP:
HDprintf(" %-10s %s", "group", path);
break;
@@ -938,24 +920,23 @@ trav_print_visit_obj(const char *path, const H5O_info2_t *oinfo,
} /* end switch */
/* Check if we've already seen this object */
- if(NULL == already_visited) {
+ if (NULL == already_visited) {
trav_path_op_data_t op_data;
op_data.path = path;
/* Finish printing line about object */
HDprintf("\n");
- if(trav_verbosity > 0)
- H5Aiterate_by_name(print_udata->fid, path, trav_index_by, trav_index_order,
- NULL, trav_attr, &op_data, H5P_DEFAULT);
+ if (trav_verbosity > 0)
+ H5Aiterate_by_name(print_udata->fid, path, trav_index_by, trav_index_order, NULL, trav_attr,
+ &op_data, H5P_DEFAULT);
}
else
/* Print the link's original name */
HDprintf(" -> %s\n", already_visited);
- return(0);
+ return (0);
} /* end trav_print_visit_obj() */
-
/*-------------------------------------------------------------------------
* Function: trav_print_visit_lnk
*
@@ -971,12 +952,12 @@ trav_print_visit_lnk(const char *path, const H5L_info2_t *linfo, void *udata)
trav_print_udata_t *print_udata = (trav_print_udata_t *)udata;
/* Print appropriate information for the type of link */
- switch(linfo->type) {
+ switch (linfo->type) {
case H5L_TYPE_SOFT:
- if(linfo->u.val_size > 0) {
- char *targbuf = (char*)HDmalloc(linfo->u.val_size + 1);
- if(targbuf) {
- if(H5Lget_val(print_udata->fid, path, targbuf, linfo->u.val_size + 1, H5P_DEFAULT) < 0)
+ if (linfo->u.val_size > 0) {
+ char *targbuf = (char *)HDmalloc(linfo->u.val_size + 1);
+ if (targbuf) {
+ if (H5Lget_val(print_udata->fid, path, targbuf, linfo->u.val_size + 1, H5P_DEFAULT) < 0)
targbuf[0] = 0;
HDprintf(" %-10s %s -> %s\n", "link", path, targbuf);
HDfree(targbuf);
@@ -987,16 +968,16 @@ trav_print_visit_lnk(const char *path, const H5L_info2_t *linfo, void *udata)
break;
case H5L_TYPE_EXTERNAL:
- if(linfo->u.val_size > 0) {
- char *targbuf = NULL;
+ if (linfo->u.val_size > 0) {
+ char * targbuf = NULL;
const char *filename = NULL;
- const char *objname = NULL;
+ const char *objname = NULL;
- targbuf = (char*)HDmalloc(linfo->u.val_size + 1);
- if(targbuf) {
- if(H5Lget_val(print_udata->fid, path, targbuf, linfo->u.val_size + 1, H5P_DEFAULT) < 0)
+ targbuf = (char *)HDmalloc(linfo->u.val_size + 1);
+ if (targbuf) {
+ if (H5Lget_val(print_udata->fid, path, targbuf, linfo->u.val_size + 1, H5P_DEFAULT) < 0)
targbuf[0] = 0;
- if(H5Lunpack_elink_val(targbuf, linfo->u.val_size, NULL, &filename, &objname) >= 0)
+ if (H5Lunpack_elink_val(targbuf, linfo->u.val_size, NULL, &filename, &objname) >= 0)
HDprintf(" %-10s %s -> %s %s\n", "ext link", path, filename, objname);
HDfree(targbuf);
}
@@ -1007,7 +988,7 @@ trav_print_visit_lnk(const char *path, const H5L_info2_t *linfo, void *udata)
case H5L_TYPE_HARD:
/* Should be handled elsewhere */
- return(-1);
+ return (-1);
case H5L_TYPE_ERROR:
case H5L_TYPE_MAX:
@@ -1016,10 +997,9 @@ trav_print_visit_lnk(const char *path, const H5L_info2_t *linfo, void *udata)
break;
} /* end switch() */
- return(0);
+ return (0);
} /* end trav_print_visit_lnk() */
-
/*-------------------------------------------------------------------------
* Function: h5trav_print
*
@@ -1032,9 +1012,9 @@ trav_print_visit_lnk(const char *path, const H5L_info2_t *linfo, void *udata)
int
h5trav_print(hid_t fid)
{
- trav_print_udata_t print_udata; /* User data for traversal */
- trav_visitor_t print_visitor; /* Visitor structure for printing objects */
- int ret_value = 0;
+ trav_print_udata_t print_udata; /* User data for traversal */
+ trav_visitor_t print_visitor; /* Visitor structure for printing objects */
+ int ret_value = 0;
/* Init user data for printing */
print_udata.fid = fid;
@@ -1042,17 +1022,16 @@ h5trav_print(hid_t fid)
/* Init visitor structure */
print_visitor.visit_obj = trav_print_visit_obj;
print_visitor.visit_lnk = trav_print_visit_lnk;
- print_visitor.udata = &print_udata;
+ print_visitor.udata = &print_udata;
/* Traverse all objects in the file, visiting each object & link */
- if(traverse(fid, "/", TRUE, TRUE, &print_visitor, H5O_INFO_BASIC) < 0)
+ if (traverse(fid, "/", TRUE, TRUE, &print_visitor, H5O_INFO_BASIC) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "traverse failed");
done:
return ret_value;
}
-
/*-------------------------------------------------------------------------
* Function: h5trav_visit
*
@@ -1063,20 +1042,19 @@ done:
*-------------------------------------------------------------------------
*/
int
-h5trav_visit(hid_t fid, const char *grp_name, hbool_t visit_start,
- hbool_t recurse, h5trav_obj_func_t visit_obj, h5trav_lnk_func_t visit_lnk,
- void *udata, unsigned fields)
+h5trav_visit(hid_t fid, const char *grp_name, hbool_t visit_start, hbool_t recurse,
+ h5trav_obj_func_t visit_obj, h5trav_lnk_func_t visit_lnk, void *udata, unsigned fields)
{
- trav_visitor_t visitor; /* Visitor structure for objects */
+ trav_visitor_t visitor; /* Visitor structure for objects */
int ret_value = 0;
/* Init visitor structure */
visitor.visit_obj = visit_obj;
visitor.visit_lnk = visit_lnk;
- visitor.udata = udata;
+ visitor.udata = udata;
/* Traverse all objects in the file, visiting each object & link */
- if(traverse(fid, grp_name, visit_start, recurse, &visitor, fields) < 0)
+ if (traverse(fid, grp_name, visit_start, recurse, &visitor, fields) < 0)
H5TOOLS_GOTO_ERROR((-1), "traverse failed");
done:
@@ -1095,15 +1073,15 @@ done:
herr_t
symlink_visit_add(symlink_trav_t *visited, H5L_type_t type, const char *file, const char *path)
{
- size_t idx; /* Index of address to use */
+ size_t idx; /* Index of address to use */
herr_t ret_value = SUCCEED;
/* Allocate space if necessary */
- if(visited->nused == visited->nalloc) {
- void *tmp_ptr;
+ if (visited->nused == visited->nalloc) {
+ void *tmp_ptr;
visited->nalloc = MAX(1, visited->nalloc * 2);
- if(NULL == (tmp_ptr = HDrealloc(visited->objs, visited->nalloc * sizeof(symlink_trav_path_t))))
+ if (NULL == (tmp_ptr = HDrealloc(visited->objs, visited->nalloc * sizeof(symlink_trav_path_t))))
H5TOOLS_GOTO_ERROR(FAIL, "visited data structure realloc failed");
visited->objs = (symlink_trav_path_t *)tmp_ptr;
} /* end if */
@@ -1115,17 +1093,17 @@ symlink_visit_add(symlink_trav_t *visited, H5L_type_t type, const char *file, co
visited->objs[idx].file = NULL;
visited->objs[idx].path = NULL;
- if(type == H5L_TYPE_EXTERNAL) {
- if(NULL == (visited->objs[idx].file = HDstrdup(file))) {
+ if (type == H5L_TYPE_EXTERNAL) {
+ if (NULL == (visited->objs[idx].file = HDstrdup(file))) {
visited->nused--;
H5TOOLS_GOTO_ERROR(FAIL, "visited data structure name allocation failed");
} /* end if */
- } /* end if */
+ } /* end if */
- if(NULL == (visited->objs[idx].path = HDstrdup(path))) {
+ if (NULL == (visited->objs[idx].path = HDstrdup(path))) {
visited->nused--;
- if(visited->objs[idx].file)
- HDfree (visited->objs[idx].file);
+ if (visited->objs[idx].file)
+ HDfree(visited->objs[idx].file);
H5TOOLS_GOTO_ERROR(FAIL, "visited data structure path allocation failed");
} /* end if */
@@ -1133,7 +1111,6 @@ done:
return ret_value;
} /* end symlink_visit_add() */
-
/*-------------------------------------------------------------------------
* Function: symlink_is_visited
*
@@ -1145,23 +1122,22 @@ done:
H5_ATTR_PURE hbool_t
symlink_is_visited(symlink_trav_t *visited, H5L_type_t type, const char *file, const char *path)
{
- size_t u; /* Local index variable */
+ size_t u; /* Local index variable */
/* Look for symlink */
- for(u = 0; u < visited->nused; u++) {
+ for (u = 0; u < visited->nused; u++) {
/* Check for symlink values already in array */
/* check type and path pair to distingush between symbolic links */
- if((visited->objs[u].type == type) && !HDstrcmp(visited->objs[u].path, path)) {
+ if ((visited->objs[u].type == type) && !HDstrcmp(visited->objs[u].path, path)) {
/* if external link, file need to be matched as well */
- if(visited->objs[u].type == H5L_TYPE_EXTERNAL)
- if(!HDstrcmp(visited->objs[u].file, file))
- return(TRUE);
+ if (visited->objs[u].type == H5L_TYPE_EXTERNAL)
+ if (!HDstrcmp(visited->objs[u].file, file))
+ return (TRUE);
return (TRUE);
} /* end if */
- } /* end for */
+ } /* end for */
/* Didn't find symlink */
- return(FALSE);
+ return (FALSE);
} /* end symlink_is_visited() */
-
diff --git a/tools/lib/h5trav.h b/tools/lib/h5trav.h
index affdf99..ce315d1 100644
--- a/tools/lib/h5trav.h
+++ b/tools/lib/h5trav.h
@@ -17,10 +17,9 @@
#include "hdf5.h"
/* Typedefs for visiting objects */
-typedef herr_t (*h5trav_obj_func_t)(const char *path_name, const H5O_info2_t *oinfo,
- const char *first_seen, void *udata);
-typedef herr_t (*h5trav_lnk_func_t)(const char *path_name, const H5L_info2_t *linfo,
- void *udata);
+typedef herr_t (*h5trav_obj_func_t)(const char *path_name, const H5O_info2_t *oinfo, const char *first_seen,
+ void *udata);
+typedef herr_t (*h5trav_lnk_func_t)(const char *path_name, const H5L_info2_t *linfo, void *udata);
/*-------------------------------------------------------------------------
* public enum to specify type of an object
@@ -34,7 +33,7 @@ typedef herr_t (*h5trav_lnk_func_t)(const char *path_name, const H5L_info2_t *li
*-------------------------------------------------------------------------
*/
typedef enum {
- H5TRAV_TYPE_UNKNOWN = -1, /* Unknown object type */
+ H5TRAV_TYPE_UNKNOWN = -1, /* Unknown object type */
H5TRAV_TYPE_GROUP, /* Object is a group */
H5TRAV_TYPE_DATASET, /* Object is a dataset */
H5TRAV_TYPE_NAMED_DATATYPE, /* Object is a named datatype */
@@ -50,62 +49,59 @@ typedef enum {
* Functions: symlink_visit_add() and symlink_is_visited()
*/
typedef struct symlink_trav_path_t {
- H5L_type_t type;
- char *file;
- char *path;
+ H5L_type_t type;
+ char * file;
+ char * path;
} symlink_trav_path_t;
typedef struct symlink_trav_t {
- size_t nalloc;
- size_t nused;
+ size_t nalloc;
+ size_t nused;
symlink_trav_path_t *objs;
- hbool_t dangle_link;
+ hbool_t dangle_link;
} symlink_trav_t;
typedef struct trav_path_t {
- char *path;
+ char * path;
h5trav_type_t type;
H5O_token_t obj_token; /* object token */
- unsigned long fileno; /* File number that object is located in */
+ unsigned long fileno; /* File number that object is located in */
} trav_path_t;
typedef struct trav_info_t {
- size_t nalloc;
- size_t nused;
- const char *fname;
- hid_t fid; /* File ID */
- trav_path_t *paths;
- symlink_trav_t symlink_visited; /* already visited symbolic links */
- void * opts; /* optional data passing */
+ size_t nalloc;
+ size_t nused;
+ const char * fname;
+ hid_t fid; /* File ID */
+ trav_path_t * paths;
+ symlink_trav_t symlink_visited; /* already visited symbolic links */
+ void * opts; /* optional data passing */
} trav_info_t;
-
/*-------------------------------------------------------------------------
* keep record of hard link information
*-------------------------------------------------------------------------
*/
typedef struct trav_link_t {
- char *new_name;
+ char *new_name;
} trav_link_t;
-
/*-------------------------------------------------------------------------
* struct to store basic info needed for the h5trav table traversal algorythm
*-------------------------------------------------------------------------
*/
typedef struct trav_obj_t {
- H5O_token_t obj_token; /* object token */
- unsigned flags[2]; /* h5diff.object is present or not in both files*/
- hbool_t is_same_trgobj; /* same target object? no need to compare */
- char *name; /* name */
- h5trav_type_t type; /* type of object */
- trav_link_t *links; /* array of possible link names */
- size_t sizelinks; /* size of links array */
- size_t nlinks; /* number of links */
+ H5O_token_t obj_token; /* object token */
+ unsigned flags[2]; /* h5diff.object is present or not in both files*/
+ hbool_t is_same_trgobj; /* same target object? no need to compare */
+ char * name; /* name */
+ h5trav_type_t type; /* type of object */
+ trav_link_t * links; /* array of possible link names */
+ size_t sizelinks; /* size of links array */
+ size_t nlinks; /* number of links */
} trav_obj_t;
-
/*-------------------------------------------------------------------------
* private struct that stores all objects
*-------------------------------------------------------------------------
@@ -118,7 +114,6 @@ typedef struct trav_table_t {
trav_obj_t *objs;
} trav_table_t;
-
/*-------------------------------------------------------------------------
* public functions
*-------------------------------------------------------------------------
@@ -132,20 +127,23 @@ extern "C" {
* "h5trav general" public functions
*-------------------------------------------------------------------------
*/
-H5TOOLS_DLL void h5trav_set_index(H5_index_t print_index_by, H5_iter_order_t print_index_order);
-H5TOOLS_DLL int h5trav_visit(hid_t file_id, const char *grp_name,
- hbool_t visit_start, hbool_t recurse, h5trav_obj_func_t visit_obj,
- h5trav_lnk_func_t visit_lnk, void *udata, unsigned fields);
-H5TOOLS_DLL herr_t symlink_visit_add(symlink_trav_t *visited, H5L_type_t type, const char *file, const char *path);
-H5TOOLS_DLL hbool_t symlink_is_visited(symlink_trav_t *visited, H5L_type_t type, const char *file, const char *path);
+H5TOOLS_DLL void h5trav_set_index(H5_index_t print_index_by, H5_iter_order_t print_index_order);
+H5TOOLS_DLL int h5trav_visit(hid_t file_id, const char *grp_name, hbool_t visit_start, hbool_t recurse,
+ h5trav_obj_func_t visit_obj, h5trav_lnk_func_t visit_lnk, void *udata,
+ unsigned fields);
+H5TOOLS_DLL herr_t symlink_visit_add(symlink_trav_t *visited, H5L_type_t type, const char *file,
+ const char *path);
+H5TOOLS_DLL hbool_t symlink_is_visited(symlink_trav_t *visited, H5L_type_t type, const char *file,
+ const char *path);
/*-------------------------------------------------------------------------
* "h5trav info" public functions
*-------------------------------------------------------------------------
*/
-H5TOOLS_DLL int h5trav_getinfo(hid_t file_id, trav_info_t *info);
+H5TOOLS_DLL int h5trav_getinfo(hid_t file_id, trav_info_t *info);
H5TOOLS_DLL ssize_t h5trav_getindex(const trav_info_t *info, const char *obj);
-H5TOOLS_DLL int trav_info_visit_obj(const char *path, const H5O_info2_t *oinfo, const char *already_visited, void *udata);
+H5TOOLS_DLL int trav_info_visit_obj(const char *path, const H5O_info2_t *oinfo, const char *already_visited,
+ void *udata);
H5TOOLS_DLL int trav_info_visit_lnk(const char *path, const H5L_info2_t *linfo, void *udata);
/*-------------------------------------------------------------------------
@@ -153,14 +151,14 @@ H5TOOLS_DLL int trav_info_visit_lnk(const char *path, const H5L_info2_t *linfo,
*-------------------------------------------------------------------------
*/
-H5TOOLS_DLL int h5trav_gettable(hid_t fid, trav_table_t *travt);
-H5TOOLS_DLL int h5trav_getindext(const char *obj, const trav_table_t *travt);
+H5TOOLS_DLL int h5trav_gettable(hid_t fid, trav_table_t *travt);
+H5TOOLS_DLL int h5trav_getindext(const char *obj, const trav_table_t *travt);
/*-------------------------------------------------------------------------
* "h5trav print" public functions
*-------------------------------------------------------------------------
*/
-H5TOOLS_DLL int h5trav_print(hid_t fid);
+H5TOOLS_DLL int h5trav_print(hid_t fid);
H5TOOLS_DLL void h5trav_set_verbose(int print_verbose);
#ifdef __cplusplus
@@ -189,10 +187,6 @@ H5TOOLS_DLL void trav_table_init(hid_t fid, trav_table_t **table);
H5TOOLS_DLL void trav_table_free(trav_table_t *table);
-H5TOOLS_DLL void trav_table_addflags(unsigned *flags,
- char *objname,
- h5trav_type_t type,
- trav_table_t *table);
-
-#endif /* H5TRAV_H__ */
+H5TOOLS_DLL void trav_table_addflags(unsigned *flags, char *objname, h5trav_type_t type, trav_table_t *table);
+#endif /* H5TRAV_H__ */
diff --git a/tools/lib/io_timer.c b/tools/lib/io_timer.c
index 5c0c31d..0f96941 100644
--- a/tools/lib/io_timer.c
+++ b/tools/lib/io_timer.c
@@ -30,10 +30,10 @@
* The number to divide the tv_usec field with to get a nice decimal to add to
* the number of seconds.
*/
-#define MICROSECOND 1000000.0F
+#define MICROSECOND 1000000.0F
/* global variables */
-io_time_t *timer_g; /* timer: global for stub functions */
+io_time_t *timer_g; /* timer: global for stub functions */
/*
* Function: sub_time
@@ -42,15 +42,13 @@ io_time_t *timer_g; /* timer: global for stub functions */
* Note that the function assumes that a > b
* Programmer: Leon Arber, 1/27/06
*/
-static double sub_time(struct timeval* a, struct timeval* b)
+static double
+sub_time(struct timeval *a, struct timeval *b)
{
- return (((double)a->tv_sec +
- ((double)a->tv_usec) / (double)MICROSECOND) -
- ((double)b->tv_sec +
- ((double)b->tv_usec) / (double)MICROSECOND));
+ return (((double)a->tv_sec + ((double)a->tv_usec) / (double)MICROSECOND) -
+ ((double)b->tv_sec + ((double)b->tv_usec) / (double)MICROSECOND));
}
-
/*
* Function: io_time_new
* Purpose: Build us a brand, spankin', new performance time object.
@@ -134,67 +132,73 @@ io_time_set(io_time_t *pt, timer_type t, int start_stop)
/* sanity check */
HDassert(pt);
- switch(pt->type){
+ switch (pt->type) {
#ifdef H5_HAVE_PARALLEL
- case MPI_CLOCK:
- if (start_stop == TSTART) {
- pt->mpi_timer[t] = MPI_Wtime();
-
- /* When we start the timer for HDF5_FINE_WRITE_FIXED_DIMS or HDF5_FINE_READ_FIXED_DIMS
- * we compute the time it took to only open the file */
- if(t == HDF5_FINE_WRITE_FIXED_DIMS)
- pt->total_time[HDF5_FILE_WRITE_OPEN] += pt->mpi_timer[t] - pt->mpi_timer[HDF5_GROSS_WRITE_FIXED_DIMS];
- else if(t == HDF5_FINE_READ_FIXED_DIMS)
- pt->total_time[HDF5_FILE_READ_OPEN] += pt->mpi_timer[t] - pt->mpi_timer[HDF5_GROSS_READ_FIXED_DIMS];
-
- } else {
- pt->total_time[t] += MPI_Wtime() - pt->mpi_timer[t];
- pt->mpi_timer[t] = MPI_Wtime();
-
- /* When we stop the timer for HDF5_GROSS_WRITE_FIXED_DIMS or HDF5_GROSS_READ_FIXED_DIMS
- * we compute the time it took to close the file after the last read/write finished */
- if(t == HDF5_GROSS_WRITE_FIXED_DIMS)
- pt->total_time[HDF5_FILE_WRITE_CLOSE] += pt->mpi_timer[t] - pt->mpi_timer[HDF5_FINE_WRITE_FIXED_DIMS];
- else if(t == HDF5_GROSS_READ_FIXED_DIMS)
- pt->total_time[HDF5_FILE_READ_CLOSE] += pt->mpi_timer[t] - pt->mpi_timer[HDF5_FINE_READ_FIXED_DIMS];
- }
- break;
+ case MPI_CLOCK:
+ if (start_stop == TSTART) {
+ pt->mpi_timer[t] = MPI_Wtime();
+
+ /* When we start the timer for HDF5_FINE_WRITE_FIXED_DIMS or HDF5_FINE_READ_FIXED_DIMS
+ * we compute the time it took to only open the file */
+ if (t == HDF5_FINE_WRITE_FIXED_DIMS)
+ pt->total_time[HDF5_FILE_WRITE_OPEN] +=
+ pt->mpi_timer[t] - pt->mpi_timer[HDF5_GROSS_WRITE_FIXED_DIMS];
+ else if (t == HDF5_FINE_READ_FIXED_DIMS)
+ pt->total_time[HDF5_FILE_READ_OPEN] +=
+ pt->mpi_timer[t] - pt->mpi_timer[HDF5_GROSS_READ_FIXED_DIMS];
+ }
+ else {
+ pt->total_time[t] += MPI_Wtime() - pt->mpi_timer[t];
+ pt->mpi_timer[t] = MPI_Wtime();
+
+ /* When we stop the timer for HDF5_GROSS_WRITE_FIXED_DIMS or HDF5_GROSS_READ_FIXED_DIMS
+ * we compute the time it took to close the file after the last read/write finished */
+ if (t == HDF5_GROSS_WRITE_FIXED_DIMS)
+ pt->total_time[HDF5_FILE_WRITE_CLOSE] +=
+ pt->mpi_timer[t] - pt->mpi_timer[HDF5_FINE_WRITE_FIXED_DIMS];
+ else if (t == HDF5_GROSS_READ_FIXED_DIMS)
+ pt->total_time[HDF5_FILE_READ_CLOSE] +=
+ pt->mpi_timer[t] - pt->mpi_timer[HDF5_FINE_READ_FIXED_DIMS];
+ }
+ break;
#else
- case MPI_CLOCK:
- HDfprintf(stderr, "MPI clock set in serial library\n");
- return NULL;
+ case MPI_CLOCK:
+ HDfprintf(stderr, "MPI clock set in serial library\n");
+ return NULL;
#endif /* H5_HAVE_PARALLEL */
- case SYS_CLOCK:
+ case SYS_CLOCK:
if (start_stop == TSTART) {
HDgettimeofday(&pt->sys_timer[t], NULL);
- /* When we start the timer for HDF5_FINE_WRITE_FIXED_DIMS or HDF5_FINE_READ_FIXED_DIMS
- * we compute the time it took to only open the file */
- if(t == HDF5_FINE_WRITE_FIXED_DIMS)
- pt->total_time[HDF5_FILE_WRITE_OPEN] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_GROSS_WRITE_FIXED_DIMS]));
- else if(t == HDF5_FINE_READ_FIXED_DIMS)
- pt->total_time[HDF5_FILE_READ_OPEN] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_GROSS_READ_FIXED_DIMS]));
-
-
- } else {
+ /* When we start the timer for HDF5_FINE_WRITE_FIXED_DIMS or HDF5_FINE_READ_FIXED_DIMS
+ * we compute the time it took to only open the file */
+ if (t == HDF5_FINE_WRITE_FIXED_DIMS)
+ pt->total_time[HDF5_FILE_WRITE_OPEN] +=
+ sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_GROSS_WRITE_FIXED_DIMS]));
+ else if (t == HDF5_FINE_READ_FIXED_DIMS)
+ pt->total_time[HDF5_FILE_READ_OPEN] +=
+ sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_GROSS_READ_FIXED_DIMS]));
+ }
+ else {
struct timeval sys_t;
HDgettimeofday(&sys_t, NULL);
pt->total_time[t] += sub_time(&sys_t, &(pt->sys_timer[t]));
- /* When we stop the timer for HDF5_GROSS_WRITE_FIXED_DIMS or HDF5_GROSS_READ_FIXED_DIMS
- * we compute the time it took to close the file after the last read/write finished */
- if(t == HDF5_GROSS_WRITE_FIXED_DIMS)
- pt->total_time[HDF5_FILE_WRITE_CLOSE] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_FINE_WRITE_FIXED_DIMS]));
- else if(t == HDF5_GROSS_READ_FIXED_DIMS)
- pt->total_time[HDF5_FILE_READ_CLOSE] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_FINE_READ_FIXED_DIMS]));
-
+ /* When we stop the timer for HDF5_GROSS_WRITE_FIXED_DIMS or HDF5_GROSS_READ_FIXED_DIMS
+ * we compute the time it took to close the file after the last read/write finished */
+ if (t == HDF5_GROSS_WRITE_FIXED_DIMS)
+ pt->total_time[HDF5_FILE_WRITE_CLOSE] +=
+ sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_FINE_WRITE_FIXED_DIMS]));
+ else if (t == HDF5_GROSS_READ_FIXED_DIMS)
+ pt->total_time[HDF5_FILE_READ_CLOSE] +=
+ sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_FINE_READ_FIXED_DIMS]));
}
- break;
+ break;
- default:
- HDfprintf(stderr, "Unknown time clock type (%d)\n", pt->type);
- return NULL;
+ default:
+ HDfprintf(stderr, "Unknown time clock type (%d)\n", pt->type);
+ return NULL;
} /* end switch */
#if 0
diff --git a/tools/lib/io_timer.h b/tools/lib/io_timer.h
index c1fa58e..fa18e65 100644
--- a/tools/lib/io_timer.h
+++ b/tools/lib/io_timer.h
@@ -17,16 +17,16 @@
#include "hdf5.h"
#if defined(H5_TIME_WITH_SYS_TIME)
-# include <sys/time.h>
-# include <time.h>
+#include <sys/time.h>
+#include <time.h>
#elif defined(H5_HAVE_SYS_TIME_H)
-# include <sys/time.h>
+#include <sys/time.h>
#else
-# include <time.h>
+#include <time.h>
#endif
#ifdef H5_HAVE_WINSOCK2_H
-# include <winsock2.h>
+#include <winsock2.h>
#endif /* H5_HAVE_WINSOCK2_H */
/* The different types of timers we can have */
@@ -49,43 +49,43 @@ typedef enum timer_type_ {
} timer_type;
typedef enum clock_type_ {
- SYS_CLOCK = 0, /* Use system clock to measure time */
- MPI_CLOCK = 1 /* Use MPI clock to measure time */
+ SYS_CLOCK = 0, /* Use system clock to measure time */
+ MPI_CLOCK = 1 /* Use MPI clock to measure time */
} clock_type;
/* Miscellaneous identifiers */
enum {
- TSTART, /* Start a specified timer */
- TSTOP /* Stop a specified timer */
+ TSTART, /* Start a specified timer */
+ TSTOP /* Stop a specified timer */
};
/* The performance time structure */
typedef struct io_time_t {
- clock_type type;
- double total_time[NUM_TIMERS];
- double mpi_timer[NUM_TIMERS];
+ clock_type type;
+ double total_time[NUM_TIMERS];
+ double mpi_timer[NUM_TIMERS];
struct timeval sys_timer[NUM_TIMERS];
} io_time_t;
/* External function declarations */
#ifdef __cplusplus
extern "C" {
-#endif /* __cplusplus */
+#endif /* __cplusplus */
#ifdef STANDALONE
-io_time_t *io_time_new(clock_type t);
-void io_time_destroy(io_time_t *pt);
-io_time_t *io_time_set(io_time_t *pt, timer_type t, int start_stop);
-double io_time_get(io_time_t *pt, timer_type t);
+io_time_t *io_time_new(clock_type t);
+void io_time_destroy(io_time_t *pt);
+io_time_t *io_time_set(io_time_t *pt, timer_type t, int start_stop);
+double io_time_get(io_time_t *pt, timer_type t);
#else
-H5TOOLS_DLL io_time_t *io_time_new(clock_type t);
-H5TOOLS_DLL void io_time_destroy(io_time_t *pt);
-H5TOOLS_DLL io_time_t *io_time_set(io_time_t *pt, timer_type t, int start_stop);
-H5TOOLS_DLL double io_time_get(io_time_t *pt, timer_type t);
+H5TOOLS_DLL io_time_t *io_time_new(clock_type t);
+H5TOOLS_DLL void io_time_destroy(io_time_t *pt);
+H5TOOLS_DLL io_time_t *io_time_set(io_time_t *pt, timer_type t, int start_stop);
+H5TOOLS_DLL double io_time_get(io_time_t *pt, timer_type t);
#endif
#ifdef __cplusplus
}
-#endif /* __cplusplus */
+#endif /* __cplusplus */
-#endif /* IO_TIMER__ */
+#endif /* IO_TIMER__ */
diff --git a/tools/lib/ph5diff.h b/tools/lib/ph5diff.h
index 2189e31..c2df4c6 100644
--- a/tools/lib/ph5diff.h
+++ b/tools/lib/ph5diff.h
@@ -15,32 +15,29 @@
#define _PH5DIFF_H__
/* Send from manager to workers */
-#define MPI_TAG_ARGS 1
-#define MPI_TAG_PRINT_TOK 2
+#define MPI_TAG_ARGS 1
+#define MPI_TAG_PRINT_TOK 2
/*Sent from workers to manager */
-#define MPI_TAG_TOK_REQUEST 3
-#define MPI_TAG_DONE 4
-#define MPI_TAG_TOK_RETURN 5
-#define MPI_TAG_PRINT_DATA 6
+#define MPI_TAG_TOK_REQUEST 3
+#define MPI_TAG_DONE 4
+#define MPI_TAG_TOK_RETURN 5
+#define MPI_TAG_PRINT_DATA 6
/* Operational tags used to init and complete diff */
-#define MPI_TAG_END 7
-#define MPI_TAG_PARALLEL 8
+#define MPI_TAG_END 7
+#define MPI_TAG_PARALLEL 8
-struct diff_mpi_args
-{
- char name1[256];
- char name2[256];
+struct diff_mpi_args {
+ char name1[256];
+ char name2[256];
diff_opt_t opts;
- diff_args_t argdata; /* rest args */
+ diff_args_t argdata; /* rest args */
};
-struct diffs_found
-{
+struct diffs_found {
hsize_t nfound;
- int not_cmp;
+ int not_cmp;
};
-#endif /* _PH5DIFF_H__ */
-
+#endif /* _PH5DIFF_H__ */