summaryrefslogtreecommitdiffstats
path: root/tools/h5diff/h5diff_common.c
diff options
context:
space:
mode:
authorJonathan Kim <jkm@hdfgroup.org>2010-01-25 21:43:48 (GMT)
committerJonathan Kim <jkm@hdfgroup.org>2010-01-25 21:43:48 (GMT)
commit79cd5838d1fb36b3b5385a8f3741fc33a53537d2 (patch)
tree4c2d0e6e8e9fa2f675891283f2f9b2f636c61c61 /tools/h5diff/h5diff_common.c
parentbb25c85e794449d3bf59d8811e53288569161790 (diff)
downloadhdf5-79cd5838d1fb36b3b5385a8f3741fc33a53537d2.zip
hdf5-79cd5838d1fb36b3b5385a8f3741fc33a53537d2.tar.gz
hdf5-79cd5838d1fb36b3b5385a8f3741fc33a53537d2.tar.bz2
[svn-r18164] Purpose:
Add a feature to compare through links. Relate to bugzilla report 1754. Description: Currently, h5diff command only compares the name(path) of target object not the actual data. With this feature, h5diff will go through the link(s) and figure out the actual object at the end of the link and compare data if exist. Internally we have hard-link, soft-link, external-link (as part of user_defined-link). This feature will provide a user transparent experience when comparing link objects as the user can specify any of those 3 type of links to be compared in any combination. Tested on Jam.
Diffstat (limited to 'tools/h5diff/h5diff_common.c')
-rw-r--r--tools/h5diff/h5diff_common.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/h5diff/h5diff_common.c b/tools/h5diff/h5diff_common.c
index 3403935..64b0097 100644
--- a/tools/h5diff/h5diff_common.c
+++ b/tools/h5diff/h5diff_common.c
@@ -31,7 +31,7 @@ const char *progname = "h5diff";
* Command-line options: The user can specify short or long-named
* parameters.
*/
-static const char *s_opts = "hVrvqn:d:p:Nc";
+static const char *s_opts = "hVrvqn:d:p:Ncl";
static struct long_options l_opts[] = {
{ "help", no_arg, 'h' },
{ "version", no_arg, 'V' },
@@ -44,6 +44,7 @@ static struct long_options l_opts[] = {
{ "nan", no_arg, 'N' },
{ "compare", no_arg, 'c' },
{ "use-system-epsilon", no_arg, 'e' },
+ { "link-follow", no_arg, 'l' },
{ NULL, 0, '\0' }
};
@@ -100,6 +101,9 @@ void parse_command_line(int argc,
case 'r':
options->m_report = 1;
break;
+ case 'l':
+ options->linkfollow = 1;
+ break;
case 'd':
options->d=1;
@@ -360,6 +364,7 @@ void usage(void)
printf(" -r, --report Report mode. Print differences\n");
printf(" -v, --verbose Verbose mode. Print differences, list of objects\n");
printf(" -q, --quiet Quiet mode. Do not do output\n");
+ printf(" -l, --link-follow Follow link(s)\n");
printf(" -c, --compare List objects that are not comparable\n");
printf(" -N, --nan Avoid NaNs detection\n");
printf(" -n C, --count=C Print differences up to C number, C is a positive integer.\n");