diff options
Diffstat (limited to 'tools/h5ls')
-rw-r--r-- | tools/h5ls/h5ls.c | 8 | ||||
-rw-r--r-- | tools/h5ls/testh5ls.sh.in | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/tools/h5ls/h5ls.c b/tools/h5ls/h5ls.c index c969670..ab3a110 100644 --- a/tools/h5ls/h5ls.c +++ b/tools/h5ls/h5ls.c @@ -2180,6 +2180,7 @@ main(int argc, const char *argv[]) static char root_name[] = "/"; char drivername[50]; const char *preferred_driver = NULL; + int err_openfile = 0; /* Initialize h5tools lib */ h5tools_init(); @@ -2402,9 +2403,11 @@ main(int argc, const char *argv[]) break; *oname = '\0'; } /* end while */ + if(file < 0) { fprintf(stderr, "%s: unable to open file\n", argv[argno-1]); HDfree(fname); + err_openfile = 1; continue; } /* end if */ if(oname) { @@ -2478,6 +2481,9 @@ main(int argc, const char *argv[]) HDfree(elink_list.objs); } /* end while */ - leave(EXIT_SUCCESS); + if (err_openfile) + leave(EXIT_FAILURE); + else + leave(EXIT_SUCCESS); } /* end main() */ diff --git a/tools/h5ls/testh5ls.sh.in b/tools/h5ls/testh5ls.sh.in index 0e6909a..5c81b6d 100644 --- a/tools/h5ls/testh5ls.sh.in +++ b/tools/h5ls/testh5ls.sh.in @@ -173,7 +173,7 @@ TOOLTEST tattr2.ls 0 -w80 -v -S tattr2.h5 # tests for error handling. # test for non-existing file -TOOLTEST nosuchfile.ls 0 nosuchfile.h5 +TOOLTEST nosuchfile.ls 1 nosuchfile.h5 # test for variable length data types in verbose mode if test $WORDS_BIGENDIAN != "yes"; then |