diff options
Diffstat (limited to 'tools/lib/h5diff.c')
-rw-r--r-- | tools/lib/h5diff.c | 50 |
1 files changed, 16 insertions, 34 deletions
diff --git a/tools/lib/h5diff.c b/tools/lib/h5diff.c index 5a4e2f2..7d11f2f 100644 --- a/tools/lib/h5diff.c +++ b/tools/lib/h5diff.c @@ -916,45 +916,27 @@ hsize_t diff(hid_t file1_id, *------------------------------------------------------------------------- */ case H5TRAV_TYPE_DATASET: - /*------------------------------------------------------------------------- - * verbose, always print name - *------------------------------------------------------------------------- - */ - if(options->m_verbose) + /* verbose (-v) and report (-r) mode */ + if(options->m_verbose || options->m_report) { - if(print_objname(options, (hsize_t)1)) - do_print_objname("dataset", path1, path2); + do_print_objname("dataset", path1, path2); nfound = diff_dataset(file1_id, file2_id, path1, path2, options); print_found(nfound); - } /* end if */ - /*------------------------------------------------------------------------- - * non verbose, check first if we have differences by enabling quiet mode - * so that printing is off, and compare again if differences found, - * disabling quiet mode - *------------------------------------------------------------------------- - */ + } + /* quiet mode (-q), just count differences */ + else if(options->m_quiet) + { + nfound = diff_dataset(file1_id, file2_id, path1, path2, options); + } + /* the rest (-c, none, ...) */ else { - if(options->m_quiet == 0) - { - /* shut up temporarily */ - options->m_quiet = 1; - nfound = diff_dataset(file1_id, file2_id, path1, path2, options); - - /* print again */ - options->m_quiet = 0; - if(nfound) - { - if(print_objname(options,nfound)) - do_print_objname("dataset", path1, path2); - nfound = diff_dataset(file1_id, file2_id, path1, path2, options); - print_found(nfound); - } /* end if */ - } /* end if */ - /* in quiet mode, just count differences */ - else - nfound = diff_dataset(file1_id, file2_id, path1, path2, options); - } /* end else */ + do_print_objname("dataset", path1, path2); + nfound = diff_dataset(file1_id, file2_id, path1, path2, options); + /* not comparable, no display the different number */ + if (!options->not_cmp) + print_found(nfound); + } break; /*------------------------------------------------------------------------- |