diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2008-10-29 19:47:50 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2008-10-29 19:47:50 (GMT) |
commit | 13294e2042f855e92653dc7ca3ff3b5980ee816d (patch) | |
tree | 2347a889df8fc5cd37e29ac89124aa52174dc583 /tools/h5diff | |
parent | e636e152ea862cb1cb9da3e0141f32ef5459052f (diff) | |
download | hdf5-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.c | 5 | ||||
-rw-r--r-- | tools/h5diff/h5diff_main.c | 33 |
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; } |