summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2007-12-03 18:55:32 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2007-12-03 18:55:32 (GMT)
commit46e3f4ad7eb43f23569977182885250f96156e2a (patch)
tree6704ccaf4c9721a3a3d6233f4827deefbba204fe /tools
parent06f2e446a636d2c957123a4f9d1d10db32b8d5fc (diff)
downloadhdf5-46e3f4ad7eb43f23569977182885250f96156e2a.zip
hdf5-46e3f4ad7eb43f23569977182885250f96156e2a.tar.gz
hdf5-46e3f4ad7eb43f23569977182885250f96156e2a.tar.bz2
[svn-r14317] code maintenance: code cleaning and reorganizing of the h5repack verify routines
tested: windows, linux
Diffstat (limited to 'tools')
-rw-r--r--tools/h5repack/h5repack.h2
-rw-r--r--tools/h5repack/h5repack_verify.c744
2 files changed, 382 insertions, 364 deletions
diff --git a/tools/h5repack/h5repack.h b/tools/h5repack/h5repack.h
index e9c4d9a..31f4038 100644
--- a/tools/h5repack/h5repack.h
+++ b/tools/h5repack/h5repack.h
@@ -194,8 +194,6 @@ int can_read(const char* name, /* object name from traverse list */
*-------------------------------------------------------------------------
*/
-int has_layout(hid_t dcpl_id,
- pack_info_t *obj);
int layout_this(hid_t dcpl_id, /* DCPL from input object */
const char* name, /* object name from traverse list */
diff --git a/tools/h5repack/h5repack_verify.c b/tools/h5repack/h5repack_verify.c
index d6bd2a3..f50e018 100644
--- a/tools/h5repack/h5repack_verify.c
+++ b/tools/h5repack/h5repack_verify.c
@@ -18,14 +18,18 @@
#include "h5tools_utils.h"
extern char *progname;
+static int has_filter(hid_t dcpl_id, H5Z_filter_t filtnin);
+static int has_layout(hid_t dcpl_id,pack_info_t *obj);
+
/*-------------------------------------------------------------------------
- * Function: has_filter
+ * Function: h5repack_verify
*
- * Purpose: verify if a filter is present in the property list DCPL_ID
+ * Purpose: verify if the filters and layout specified in the options list are
+ * present on the OUTPUT file
*
- * Return: 1 has, 0 does not, -1 error
+ * Return: 1=present, 0=not present, -1=error
*
* Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
*
@@ -34,278 +38,289 @@ extern char *progname;
*-------------------------------------------------------------------------
*/
-static int
-has_filter(hid_t dcpl_id, H5Z_filter_t filtnin)
+int h5repack_verify(const char *fname,
+ pack_opt_t *options)
{
- int nfilters; /* number of filters */
- unsigned filt_flags; /* filter flags */
- H5Z_filter_t filtn; /* filter identification number */
- unsigned cd_values[20]; /* filter client data values */
- size_t cd_nelmts; /* filter client number of values */
- char f_name[256]; /* filter name */
- int have = 0; /* flag, filter is present */
- int i; /* index */
-
- /* if no information about the input filter is requested return exit */
- if(filtnin == -1)
- return 1;
-
- /* get information about filters */
- if((nfilters = H5Pget_nfilters(dcpl_id)) < 0)
- return -1;
-
- /* if we do not have filters and the requested filter is NONE, return 1 */
- if(!nfilters && filtnin == H5Z_FILTER_NONE)
- return 1;
+ hid_t fid; /* file ID */
+ hid_t dset_id = -1; /* dataset ID */
+ hid_t dcpl_id = -1; /* dataset creation property list ID */
+ hid_t space_id = -1; /* space ID */
+ unsigned int i;
+ int j;
+ trav_table_t *travt = NULL;
+ int have = 1;
+
+ /* open the file */
+ if((fid = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0 )
+ return -1;
+
+ for(i = 0; i < options->op_tbl->nelems; i++)
+ {
+ char* name = options->op_tbl->objs[i].path;
+ pack_info_t *obj = &options->op_tbl->objs[i];
+
+ /*-------------------------------------------------------------------------
+ * open
+ *-------------------------------------------------------------------------
+ */
+ if((dset_id = H5Dopen2(fid, name, H5P_DEFAULT)) < 0)
+ goto error;
+ if((space_id = H5Dget_space(dset_id)) < 0)
+ goto error;
+ if((dcpl_id = H5Dget_create_plist(dset_id)) < 0)
+ goto error;
+
+ /*-------------------------------------------------------------------------
+ * filter check
+ *-------------------------------------------------------------------------
+ */
+ for(j = 0; j < obj->nfilters; j++)
+ {
+ if(has_filter(dcpl_id, obj->filter[j].filtn) == 0)
+ have = 0;
- 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);
+
+ }
+
+ /*-------------------------------------------------------------------------
+ * layout check
+ *-------------------------------------------------------------------------
+ */
+ if((obj->layout != -1) && (has_layout(dcpl_id, obj) == 0))
+ have = 0;
+
+ /*-------------------------------------------------------------------------
+ * close
+ *-------------------------------------------------------------------------
+ */
+ if(H5Pclose(dcpl_id) < 0)
+ goto error;
+ if (H5Sclose(space_id) < 0)
+ goto error;
+ if (H5Dclose(dset_id) < 0)
+ goto error;
+
+ }
+
+
+ /*-------------------------------------------------------------------------
+ * check for the "all" objects option
+ *-------------------------------------------------------------------------
+ */
+
+ if(options->all_filter == 1 || options->all_layout == 1)
+ {
+
+ /* init table */
+ trav_table_init(&travt);
+
+ /* get the list of objects in the file */
+ if(h5trav_gettable(fid, travt) < 0)
+ goto error;
+
+ for(i = 0; i < travt->nobjs; i++)
+ {
+ char *name = travt->objs[i].name;
+
+ if(travt->objs[i].type == H5TRAV_TYPE_DATASET)
+ {
+
+ /*-------------------------------------------------------------------------
+ * open
+ *-------------------------------------------------------------------------
+ */
+ if((dset_id = H5Dopen2(fid, name, H5P_DEFAULT)) < 0)
+ goto error;
+ if((space_id = H5Dget_space(dset_id)) < 0)
+ goto error;
+ if((dcpl_id = H5Dget_create_plist(dset_id)) < 0)
+ goto error;
+
+ /*-------------------------------------------------------------------------
+ * filter check
+ *-------------------------------------------------------------------------
+ */
+ if(options->all_filter == 1)
+ {
+ int k;
+
+ for (k = 0; k < options->n_filter_g; k++ )
+ {
+ if (has_filter(dcpl_id, options->filter_g[k].filtn) == 0)
+ have = 0;
+ }
+ }
+
+ /*-------------------------------------------------------------------------
+ * layout check
+ *-------------------------------------------------------------------------
+ */
+ if(options->all_layout == 1)
+ {
+ pack_info_t pack;
+ init_packobject(&pack);
+ pack.layout = options->layout_g;
+ pack.chunk = options->chunk_g;
+ if(has_layout(dcpl_id, &pack) == 0)
+ have = 0;
+ }
+
+
+ /*-------------------------------------------------------------------------
+ * close
+ *-------------------------------------------------------------------------
+ */
+ if (H5Pclose(dcpl_id) < 0)
+ goto error;
+ if (H5Sclose(space_id) < 0)
+ goto error;
+ if (H5Dclose(dset_id) < 0)
+ goto error;
+ } /* if */
+
+ } /* i */
+
+ /* free table */
+ trav_table_free(travt);
+ }
+
+ /*-------------------------------------------------------------------------
+ * close
+ *-------------------------------------------------------------------------
+ */
+
+ if (H5Fclose(fid) < 0)
+ return -1;
+
+ return have;
+
+error:
+ H5E_BEGIN_TRY {
+ H5Pclose(dcpl_id);
+ H5Sclose(space_id);
+ H5Dclose(dset_id);
+ H5Fclose(fid);
+ if (travt)
+ trav_table_free(travt);
+ } H5E_END_TRY;
+ return -1;
+}
- if(filtnin == filtn)
- have = 1;
- }
- return have;
-}
/*-------------------------------------------------------------------------
- * Function: has_layout
- *
- * Purpose: verify which layout is present in the property list DCPL_ID
+ * Function: has_filter
*
- * H5D_COMPACT = 0
- * H5D_CONTIGUOUS = 1
- * H5D_CHUNKED = 2
+ * Purpose: verify if a filter is present in the property list DCPL_ID
*
* Return: 1 has, 0 does not, -1 error
*
* Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
*
- * Date: December 30, 2003
+ * Date: December 19, 2003
*
*-------------------------------------------------------------------------
*/
-int has_layout(hid_t dcpl_id,
- pack_info_t *obj)
+static int has_filter(hid_t dcpl_id, H5Z_filter_t filtnin)
{
- hsize_t chsize[64]; /* chunk size in elements */
- H5D_layout_t layout; /* layout */
- int nfilters; /* number of filters */
- int rank; /* rank */
- int i; /* index */
-
- /* if no information about the input layout is requested return exit */
- if (obj==NULL)
- return 1;
-
- /* check if we have filters in the input object */
- if ((nfilters = H5Pget_nfilters(dcpl_id)) < 0)
- return -1;
-
- /* a non chunked layout was requested on a filtered object; avoid the test */
- if (nfilters && obj->layout!=H5D_CHUNKED)
- return 1;
-
- /* get layout */
- if ((layout = H5Pget_layout(dcpl_id)) < 0)
- return -1;
-
- if (obj->layout != layout)
- return 0;
-
- if (layout==H5D_CHUNKED)
- {
- if ((rank = H5Pget_chunk(dcpl_id,NELMTS(chsize),chsize/*out*/)) < 0)
- return -1;
- if (obj->chunk.rank != rank)
- return 0;
- for ( i=0; i<rank; i++)
- if (chsize[i] != obj->chunk.chunk_lengths[i])
- return 0;
- }
-
- return 1;
+ unsigned nfilters; /* number of filters */
+ unsigned filt_flags; /* filter flags */
+ H5Z_filter_t filtn; /* filter identification number */
+ unsigned cd_values[20]; /* filter client data values */
+ size_t cd_nelmts; /* filter client number of values */
+ char f_name[256]; /* filter name */
+ int have = 0; /* flag, filter is present */
+ unsigned i; /* index */
+
+ /* if no information about the input filter is requested return exit */
+ if(filtnin == -1)
+ return 1;
+
+ /* get information about filters */
+ if((nfilters = H5Pget_nfilters(dcpl_id)) < 0)
+ return -1;
+
+ /* if we do not have filters and the requested filter is NONE, return 1 */
+ if(!nfilters && filtnin == H5Z_FILTER_NONE)
+ return 1;
+
+ for(i = 0; i < nfilters; i++)
+ {
+ cd_nelmts = NELMTS(cd_values);
+ filtn = H5Pget_filter2(dcpl_id, i, &filt_flags, &cd_nelmts,
+ cd_values, sizeof(f_name), f_name, NULL);
+
+ if(filtnin == filtn)
+ have = 1;
+ }
+
+ return have;
}
/*-------------------------------------------------------------------------
- * Function: h5repack_verify
+ * Function: has_layout
*
- * Purpose: verify if the filters specified in the options list are
- * present on the OUTPUT file
+ * Purpose: verify which layout is present in the property list DCPL_ID
+ *
+ * H5D_COMPACT = 0
+ * H5D_CONTIGUOUS = 1
+ * H5D_CHUNKED = 2
*
- * Return: 1=filter present, 0=filter not present, -1=error
+ * Return: 1 has, 0 does not, -1 error
*
* Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
*
- * Date: December 19, 2003
+ * Date: December 30, 2003
*
*-------------------------------------------------------------------------
*/
-int h5repack_verify(const char *fname,
- pack_opt_t *options)
+int has_layout(hid_t dcpl_id,
+ pack_info_t *obj)
{
- hid_t fid; /* file ID */
- hid_t dset_id = -1; /* dataset ID */
- hid_t dcpl_id = -1; /* dataset creation property list ID */
- hid_t space_id = -1; /* space ID */
- int ret = 1;
- unsigned int i;
- int j;
- trav_table_t *travt = NULL;
-
- /* open the file */
- if((fid = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0 )
- return -1;
-
- for(i = 0; i < options->op_tbl->nelems; i++) {
- char* name = options->op_tbl->objs[i].path;
- pack_info_t *obj = &options->op_tbl->objs[i];
-
-/*-------------------------------------------------------------------------
- * open
- *-------------------------------------------------------------------------
- */
- if((dset_id = H5Dopen2(fid, name, H5P_DEFAULT)) < 0)
- goto error;
- if((space_id = H5Dget_space(dset_id)) < 0)
- goto error;
- if((dcpl_id = H5Dget_create_plist(dset_id)) < 0)
- goto error;
-
-/*-------------------------------------------------------------------------
- * filter check
- *-------------------------------------------------------------------------
- */
- for(j = 0; j < obj->nfilters; j++) {
- if(has_filter(dcpl_id, obj->filter[j].filtn) == 0)
- ret = 0;
- }
-
-/*-------------------------------------------------------------------------
- * layout check
- *-------------------------------------------------------------------------
- */
- if((obj->layout != -1) && (has_layout(dcpl_id, obj) == 0))
- ret = 0;
-
-/*-------------------------------------------------------------------------
- * close
- *-------------------------------------------------------------------------
- */
- if(H5Pclose(dcpl_id) < 0)
- goto error;
- if (H5Sclose(space_id) < 0)
- goto error;
- if (H5Dclose(dset_id) < 0)
- goto error;
-
- }
-
-
-/*-------------------------------------------------------------------------
- * check for the "all" objects option
- *-------------------------------------------------------------------------
- */
-
- if(options->all_filter == 1 || options->all_layout == 1) {
-
- /* init table */
- trav_table_init(&travt);
-
- /* get the list of objects in the file */
- if(h5trav_gettable(fid, travt) < 0)
- goto error;
-
- for(i = 0; i < travt->nobjs; i++) {
- char *name = travt->objs[i].name;
-
- if(travt->objs[i].type == H5TRAV_TYPE_DATASET) {
-
- /*-------------------------------------------------------------------------
- * open
- *-------------------------------------------------------------------------
- */
- if((dset_id = H5Dopen2(fid, name, H5P_DEFAULT)) < 0)
- goto error;
- if((space_id = H5Dget_space(dset_id)) < 0)
- goto error;
- if((dcpl_id = H5Dget_create_plist(dset_id)) < 0)
- goto error;
-
- /*-------------------------------------------------------------------------
- * filter check
- *-------------------------------------------------------------------------
- */
- if(options->all_filter == 1)
+ hsize_t chsize[64]; /* chunk size in elements */
+ H5D_layout_t layout; /* layout */
+ int nfilters; /* number of filters */
+ int rank; /* rank */
+ int i; /* index */
+
+ /* if no information about the input layout is requested return exit */
+ if (obj==NULL)
+ return 1;
+
+ /* check if we have filters in the input object */
+ if ((nfilters = H5Pget_nfilters(dcpl_id)) < 0)
+ return -1;
+
+ /* a non chunked layout was requested on a filtered object; avoid the test */
+ if (nfilters && obj->layout!=H5D_CHUNKED)
+ return 1;
+
+ /* get layout */
+ if ((layout = H5Pget_layout(dcpl_id)) < 0)
+ return -1;
+
+ if (obj->layout != layout)
+ return 0;
+
+ if (layout==H5D_CHUNKED)
{
- int k;
-
- for (k = 0; k < options->n_filter_g; k++ )
- {
- if (has_filter(dcpl_id, options->filter_g[k].filtn) == 0)
- ret = 0;
- }
+ if ((rank = H5Pget_chunk(dcpl_id,NELMTS(chsize),chsize/*out*/)) < 0)
+ return -1;
+ if (obj->chunk.rank != rank)
+ return 0;
+ for ( i=0; i<rank; i++)
+ if (chsize[i] != obj->chunk.chunk_lengths[i])
+ return 0;
}
+
+ return 1;
+}
- /*-------------------------------------------------------------------------
- * layout check
- *-------------------------------------------------------------------------
- */
- if(options->all_layout == 1) {
- pack_info_t pack;
- init_packobject(&pack);
- pack.layout = options->layout_g;
- pack.chunk = options->chunk_g;
- if(has_layout(dcpl_id, &pack) == 0)
- ret = 0;
- }
-
-
- /*-------------------------------------------------------------------------
- * close
- *-------------------------------------------------------------------------
- */
- if (H5Pclose(dcpl_id) < 0)
- goto error;
- if (H5Sclose(space_id) < 0)
- goto error;
- if (H5Dclose(dset_id) < 0)
- goto error;
- } /* if */
-
- } /* i */
-
- /* free table */
- trav_table_free(travt);
- }
-
-/*-------------------------------------------------------------------------
- * close
- *-------------------------------------------------------------------------
- */
-
- if (H5Fclose(fid) < 0)
- return -1;
-
- return ret;
-error:
- H5E_BEGIN_TRY {
- H5Pclose(dcpl_id);
- H5Sclose(space_id);
- H5Dclose(dset_id);
- H5Fclose(fid);
- if (travt)
- trav_table_free(travt);
- } H5E_END_TRY;
- return -1;
-}
@@ -326,128 +341,133 @@ error:
int h5repack_cmpdcpl(const char *fname1,
const char *fname2)
{
- hid_t fid1=-1; /* file ID */
- hid_t fid2=-1; /* file ID */
- hid_t dset1=-1; /* dataset ID */
- hid_t dset2=-1; /* dataset ID */
- hid_t dcpl1=-1; /* dataset creation property list ID */
- hid_t dcpl2=-1; /* dataset creation property list ID */
- trav_table_t *travt1=NULL;
- trav_table_t *travt2=NULL;
- int ret=1;
- unsigned int i;
-
-/*-------------------------------------------------------------------------
- * open the files first; if they are not valid, no point in continuing
- *-------------------------------------------------------------------------
- */
-
- /* disable error reporting */
- H5E_BEGIN_TRY {
-
- /* Open the files */
- if ((fid1=H5Fopen(fname1,H5F_ACC_RDONLY,H5P_DEFAULT)) < 0 )
- {
- error_msg(progname, "<%s>: %s\n", fname1, H5FOPENERROR );
- return -1;
- }
- if ((fid2=H5Fopen(fname2,H5F_ACC_RDONLY,H5P_DEFAULT)) < 0 )
- {
- error_msg(progname, "<%s>: %s\n", fname2, H5FOPENERROR );
- H5Fclose(fid1);
- return -1;
- }
- /* enable error reporting */
- } H5E_END_TRY;
-
-/*-------------------------------------------------------------------------
- * get file table list of objects
- *-------------------------------------------------------------------------
- */
- trav_table_init(&travt1);
- trav_table_init(&travt2);
- if(h5trav_gettable(fid1, travt1) < 0)
- goto error;
- if(h5trav_gettable(fid2, travt2) < 0)
- goto error;
-
-
-/*-------------------------------------------------------------------------
- * traverse the suppplied object list
- *-------------------------------------------------------------------------
- */
-
- for(i = 0; i < travt1->nobjs; i++) {
- if(travt1->objs[i].type == H5TRAV_TYPE_DATASET) {
- if((dset1 = H5Dopen2(fid1, travt1->objs[i].name, H5P_DEFAULT)) < 0)
- goto error;
- if((dset2 = H5Dopen2(fid2, travt1->objs[i].name, H5P_DEFAULT)) < 0)
- goto error;
- if((dcpl1 = H5Dget_create_plist(dset1)) < 0)
- goto error;
- if((dcpl2 = H5Dget_create_plist(dset2)) < 0)
- goto error;
-
-/*-------------------------------------------------------------------------
- * compare the property lists
- *-------------------------------------------------------------------------
- */
- if((ret = H5Pequal(dcpl1, dcpl2)) < 0)
- goto error;
-
- if(ret == 0) {
- error_msg(progname, "property lists for <%s> are different\n",travt1->objs[i].name);
- goto error;
- }
-
-/*-------------------------------------------------------------------------
- * close
- *-------------------------------------------------------------------------
- */
- if(H5Pclose(dcpl1) < 0)
- goto error;
- if(H5Pclose(dcpl2) < 0)
- goto error;
- if(H5Dclose(dset1) < 0)
- goto error;
- if(H5Dclose(dset2) < 0)
- goto error;
- } /*if*/
- } /*i*/
-
-/*-------------------------------------------------------------------------
- * free
- *-------------------------------------------------------------------------
- */
-
- trav_table_free(travt1);
- trav_table_free(travt2);
-
-/*-------------------------------------------------------------------------
- * close
- *-------------------------------------------------------------------------
- */
-
- H5Fclose(fid1);
- H5Fclose(fid2);
- return ret;
-
-/*-------------------------------------------------------------------------
- * error
- *-------------------------------------------------------------------------
- */
-
+ hid_t fid1=-1; /* file ID */
+ hid_t fid2=-1; /* file ID */
+ hid_t dset1=-1; /* dataset ID */
+ hid_t dset2=-1; /* dataset ID */
+ hid_t dcpl1=-1; /* dataset creation property list ID */
+ hid_t dcpl2=-1; /* dataset creation property list ID */
+ trav_table_t *travt1=NULL;
+ trav_table_t *travt2=NULL;
+ int ret=1;
+ unsigned int i;
+
+ /*-------------------------------------------------------------------------
+ * open the files
+ *-------------------------------------------------------------------------
+ */
+
+ /* disable error reporting */
+ H5E_BEGIN_TRY
+ {
+
+ /* Open the files */
+ if ((fid1=H5Fopen(fname1,H5F_ACC_RDONLY,H5P_DEFAULT)) < 0 )
+ {
+ error_msg(progname, "<%s>: %s\n", fname1, H5FOPENERROR );
+ return -1;
+ }
+ if ((fid2=H5Fopen(fname2,H5F_ACC_RDONLY,H5P_DEFAULT)) < 0 )
+ {
+ error_msg(progname, "<%s>: %s\n", fname2, H5FOPENERROR );
+ H5Fclose(fid1);
+ return -1;
+ }
+ /* enable error reporting */
+ } H5E_END_TRY;
+
+ /*-------------------------------------------------------------------------
+ * get file table list of objects
+ *-------------------------------------------------------------------------
+ */
+ trav_table_init(&travt1);
+ trav_table_init(&travt2);
+ if(h5trav_gettable(fid1, travt1) < 0)
+ goto error;
+ if(h5trav_gettable(fid2, travt2) < 0)
+ goto error;
+
+
+ /*-------------------------------------------------------------------------
+ * traverse the suppplied object list
+ *-------------------------------------------------------------------------
+ */
+
+ for(i = 0; i < travt1->nobjs; i++)
+ {
+ if(travt1->objs[i].type == H5TRAV_TYPE_DATASET)
+ {
+ if((dset1 = H5Dopen2(fid1, travt1->objs[i].name, H5P_DEFAULT)) < 0)
+ goto error;
+ if((dset2 = H5Dopen2(fid2, travt1->objs[i].name, H5P_DEFAULT)) < 0)
+ goto error;
+ if((dcpl1 = H5Dget_create_plist(dset1)) < 0)
+ goto error;
+ if((dcpl2 = H5Dget_create_plist(dset2)) < 0)
+ goto error;
+
+ /*-------------------------------------------------------------------------
+ * compare the property lists
+ *-------------------------------------------------------------------------
+ */
+ if((ret = H5Pequal(dcpl1, dcpl2)) < 0)
+ goto error;
+
+ if(ret == 0)
+ {
+ error_msg(progname, "property lists for <%s> are different\n",travt1->objs[i].name);
+ goto error;
+ }
+
+ /*-------------------------------------------------------------------------
+ * close
+ *-------------------------------------------------------------------------
+ */
+ if(H5Pclose(dcpl1) < 0)
+ goto error;
+ if(H5Pclose(dcpl2) < 0)
+ goto error;
+ if(H5Dclose(dset1) < 0)
+ goto error;
+ if(H5Dclose(dset2) < 0)
+ goto error;
+ } /*if*/
+ } /*i*/
+
+ /*-------------------------------------------------------------------------
+ * free
+ *-------------------------------------------------------------------------
+ */
+
+ trav_table_free(travt1);
+ trav_table_free(travt2);
+
+ /*-------------------------------------------------------------------------
+ * close
+ *-------------------------------------------------------------------------
+ */
+
+ H5Fclose(fid1);
+ H5Fclose(fid2);
+ return ret;
+
+ /*-------------------------------------------------------------------------
+ * error
+ *-------------------------------------------------------------------------
+ */
+
error:
- H5E_BEGIN_TRY {
- H5Pclose(dcpl1);
- H5Pclose(dcpl2);
- H5Dclose(dset1);
- H5Dclose(dset2);
- H5Fclose(fid1);
- H5Fclose(fid2);
- trav_table_free(travt1);
- trav_table_free(travt2);
- } H5E_END_TRY;
- return -1;
-
+ H5E_BEGIN_TRY
+ {
+ H5Pclose(dcpl1);
+ H5Pclose(dcpl2);
+ H5Dclose(dset1);
+ H5Dclose(dset2);
+ H5Fclose(fid1);
+ H5Fclose(fid2);
+ trav_table_free(travt1);
+ trav_table_free(travt2);
+ } H5E_END_TRY;
+ return -1;
+
}