summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5diff_attr.c
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2007-03-05 16:26:50 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2007-03-05 16:26:50 (GMT)
commitbd01f34589a4d3d790312a844bfd0cce28721f31 (patch)
tree75517f698815cf1a71af8eda28055cf8c75cd585 /tools/lib/h5diff_attr.c
parent44f312b183305cf37295595bfd3f5df40fc637be (diff)
downloadhdf5-bd01f34589a4d3d790312a844bfd0cce28721f31.zip
hdf5-bd01f34589a4d3d790312a844bfd0cce28721f31.tar.gz
hdf5-bd01f34589a4d3d790312a844bfd0cce28721f31.tar.bz2
[svn-r13451]
h5diff bug fix, attributes differences were not being count for total differences Revision of H5Ocopy call in h5repack
Diffstat (limited to 'tools/lib/h5diff_attr.c')
-rw-r--r--tools/lib/h5diff_attr.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/tools/lib/h5diff_attr.c b/tools/lib/h5diff_attr.c
index c99a1ae..37bef3e 100644
--- a/tools/lib/h5diff_attr.c
+++ b/tools/lib/h5diff_attr.c
@@ -26,22 +26,23 @@
* loc_id = H5Dopen( fid, name);
* loc_id = H5Topen( fid, name);
*
- * Return:
- * 0 : no differences found
- * 1 : differences found
+ * Return: number of differences found
*
* Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
*
* Date: November, 03, 2003
*
+ * Modifications:
+ * March, 02, 2007: return the number of differences found
+ *
*-------------------------------------------------------------------------
*/
-int diff_attr(hid_t loc1_id,
- hid_t loc2_id,
- const char *path1,
- const char *path2,
- diff_opt_t *options)
+hsize_t diff_attr(hid_t loc1_id,
+ hid_t loc2_id,
+ const char *path1,
+ const char *path2,
+ diff_opt_t *options)
{
hid_t attr1_id=-1; /* attr ID */
hid_t attr2_id=-1; /* attr ID */
@@ -65,9 +66,9 @@ int diff_attr(hid_t loc1_id,
char np1[512];
char np2[512];
int n1, n2, i, j;
- hsize_t nfound;
+ hsize_t nfound=0;
+ hsize_t nfound_total=0;
int cmp=1;
- int ret=0;
if ((n1 = H5Aget_num_attrs(loc1_id))<0)
goto error;
@@ -95,7 +96,6 @@ int diff_attr(hid_t loc1_id,
{
if ((attr2_id = H5Aopen_name(loc2_id, name1))<0)
{
- ret = 1;
goto error;
}
} H5E_END_TRY;
@@ -285,9 +285,11 @@ int diff_attr(hid_t loc1_id,
HDfree(buf1);
if (buf2)
HDfree(buf2);
+
+ nfound_total += nfound;
} /* i */
- return ret;
+ return nfound_total;
error:
H5E_BEGIN_TRY {
@@ -306,7 +308,7 @@ error:
} H5E_END_TRY;
options->err_stat=1;
- return ret;
+ return nfound_total;
}