summaryrefslogtreecommitdiffstats
path: root/tools/h5diff
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2008-10-29 19:47:50 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2008-10-29 19:47:50 (GMT)
commit13294e2042f855e92653dc7ca3ff3b5980ee816d (patch)
tree2347a889df8fc5cd37e29ac89124aa52174dc583 /tools/h5diff
parente636e152ea862cb1cb9da3e0141f32ef5459052f (diff)
downloadhdf5-13294e2042f855e92653dc7ca3ff3b5980ee816d.zip
hdf5-13294e2042f855e92653dc7ca3ff3b5980ee816d.tar.gz
hdf5-13294e2042f855e92653dc7ca3ff3b5980ee816d.tar.bz2
[svn-r15988] Merge with 1.8 up to rev 15871
Regarding h5diff, h5copy Tested: linux
Diffstat (limited to 'tools/h5diff')
-rw-r--r--tools/h5diff/h5diff_common.c5
-rw-r--r--tools/h5diff/h5diff_main.c33
2 files changed, 25 insertions, 13 deletions
diff --git a/tools/h5diff/h5diff_common.c b/tools/h5diff/h5diff_common.c
index eda96ae..5a59215 100644
--- a/tools/h5diff/h5diff_common.c
+++ b/tools/h5diff/h5diff_common.c
@@ -67,6 +67,9 @@ void parse_command_line(int argc,
/* process the command-line */
memset(options, 0, sizeof (diff_opt_t));
+ /* assume equal contents initially */
+ options->contents = 1;
+
/* parse command line options */
while ((opt = get_option(argc, argv, s_opts, l_opts)) != EOF)
{
@@ -160,6 +163,7 @@ void parse_command_line(int argc,
}
+
/*-------------------------------------------------------------------------
* Function: print_info
*
@@ -320,7 +324,6 @@ void usage(void)
printf(" -v, --verbose Verbose mode. Print differences, list of objects\n");
printf(" -q, --quiet Quiet mode. Do not do output\n");
-
printf(" -n C, --count=C Print differences up to C number\n");
printf(" -d D, --delta=D Print difference when greater than limit D\n");
printf(" -p R, --relative=R Print difference when greater than relative limit R\n");
diff --git a/tools/h5diff/h5diff_main.c b/tools/h5diff/h5diff_main.c
index f79099e..822d59c 100644
--- a/tools/h5diff/h5diff_main.c
+++ b/tools/h5diff/h5diff_main.c
@@ -13,10 +13,12 @@
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#include "h5diff.h"
#include <stdlib.h>
#include <assert.h>
+#include <memory.h>
+#include "h5diff.h"
#include "h5diff_common.h"
+#include "h5tools_utils.h"
/*-------------------------------------------------------------------------
* Function: main
@@ -62,12 +64,6 @@
* November 19, 2007
* adopted the syntax h5diff [OPTIONS] file1 file2 [obj1[obj2]]
*
- * Aug 2008
- * Added a "contents" mode check.
- * If this mode is present, objects in both files must match (must be exactly the same)
- * If this does not happen, the tool returns an error code of 1
- * (instead of the success code of 0)
- *
*-------------------------------------------------------------------------
*/
@@ -75,15 +71,25 @@
int main(int argc, const char *argv[])
{
int ret;
- char *fname1 = NULL;
- char *fname2 = NULL;
- char *objname1 = NULL;
- char *objname2 = NULL;
+ const char *fname1 = NULL;
+ const char *fname2 = NULL;
+ const char *objname1 = NULL;
+ const char *objname2 = NULL;
hsize_t nfound=0;
diff_opt_t options;
+ /*-------------------------------------------------------------------------
+ * process the command-line
+ *-------------------------------------------------------------------------
+ */
+
parse_command_line(argc, argv, &fname1, &fname2, &objname1, &objname2, &options);
+ /*-------------------------------------------------------------------------
+ * do the diff
+ *-------------------------------------------------------------------------
+ */
+
nfound = h5diff(fname1,fname2,objname1,objname2,&options);
print_info(&options);
@@ -96,11 +102,14 @@ int main(int argc, const char *argv[])
ret = (nfound == 0 ? 0 : 1 );
+ /* if graph difference return 1 for differences */
if ( options.contents == 0 )
ret = 1;
- if(options.err_stat)
+ /* and return 2 for error */
+ if (options.err_stat)
ret = 2;
+
return ret;
}