summaryrefslogtreecommitdiffstats
path: root/tools/lib
diff options
context:
space:
mode:
authorJonathan Kim <jkm@hdfgroup.org>2012-01-24 20:39:59 (GMT)
committerJonathan Kim <jkm@hdfgroup.org>2012-01-24 20:39:59 (GMT)
commit13ef2d1fbbc50956c1cea1d28462a974c8e036a6 (patch)
tree6b2022fd5ed84e87b1ad9918b6a66fd5de74f7a6 /tools/lib
parent06f7971a13a5e026a4711a7408319840456a1541 (diff)
downloadhdf5-13ef2d1fbbc50956c1cea1d28462a974c8e036a6.zip
hdf5-13ef2d1fbbc50956c1cea1d28462a974c8e036a6.tar.gz
hdf5-13ef2d1fbbc50956c1cea1d28462a974c8e036a6.tar.bz2
[svn-r21890] Purpose:
Fix for HDFFV-7836 h5diff: displays error stack message for comparing the two dangling symlink with follow-symlinks option Description: While ago, to improve performance, skipping same object checking (h5tools_is_obj_same()) was added. However the checking function doesn't understand about the dangling link and caused the issue. Since handling dangling link code section already implemented, move the checking function after handling dangling-links to address the problem. Test was added and tagged with jira#. Tested: jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows (32-LE cmake), Cmake (jam)
Diffstat (limited to 'tools/lib')
-rw-r--r--tools/lib/h5diff.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/tools/lib/h5diff.c b/tools/lib/h5diff.c
index 6e9fee8..be20ed4 100644
--- a/tools/lib/h5diff.c
+++ b/tools/lib/h5diff.c
@@ -861,17 +861,6 @@ hsize_t h5diff(const char *fname1,
HDstrcat(obj2fullname, "/");
}
- /*
- * If verbose options is used, need to traverse thorugh the list of objects
- * in the group to print out objects information.
- * Use h5tools_is_obj_same() to improve performance by skipping
- * comparing details of same objects.
- */
- if(!(options->m_verbose || options->m_report))
- {
- if (h5tools_is_obj_same(file1_id,obj1fullname,file2_id,obj2fullname)!=0)
- goto out;
- }
/*---------------------------------------------
* check for following symlinks
@@ -949,6 +938,19 @@ hsize_t h5diff(const char *fname1,
obj2type = trg_linfo2.trg_type;
} /* end of if follow symlinks */
+ /*
+ * If verbose options is not used, don't need to traverse thorugh 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(!(options->m_verbose || options->m_report))
+ {
+ if (h5tools_is_obj_same(file1_id,obj1fullname,file2_id,obj2fullname)!=0)
+ goto out;
+ }
+
/* if both obj1 and obj2 are group */
if (obj1type == H5TRAV_TYPE_GROUP && obj2type == H5TRAV_TYPE_GROUP)