diff options
Diffstat (limited to 'tools/test/misc/clear_open_chk.c')
| -rw-r--r-- | tools/test/misc/clear_open_chk.c | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/tools/test/misc/clear_open_chk.c b/tools/test/misc/clear_open_chk.c new file mode 100644 index 0000000..37e7307 --- /dev/null +++ b/tools/test/misc/clear_open_chk.c @@ -0,0 +1,70 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the COPYING file, which can be found at the root of the source code * + * distribution tree, or in https://www.hdfgroup.org/licenses. * + * If you do not have access to either file, you may request a copy from * + * help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +#include "hdf5.h" +#include "H5private.h" +#include "h5tools.h" + +static void usage(void); + +static void +usage(void) +{ + HDfprintf(stdout, "\n"); + HDfprintf(stdout, "Usage error!\n"); + HDfprintf(stdout, "Usage: clear_open_chk filename\n"); +} /* usage() */ + +/*------------------------------------------------------------------------- + * Function: main + * + * Purpose: To open the file which has zero or nonzero status_flags in + * the superblock. + * + * Return: 0 on success + * 1 on failure + * + * Programmer: Vailin Choi; July 2013 + * + *------------------------------------------------------------------------- + */ +int +main(int argc, char *argv[]) +{ + char *fname; /* The HDF5 file name */ + hid_t fid; /* File ID */ + + /* Check the # of arguments */ + if (argc != 2) { + usage(); + HDexit(EXIT_FAILURE); + } + + /* Get the file name */ + fname = HDstrdup(argv[1]); + + /* Try opening the file */ + if ((fid = h5tools_fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT, FALSE, NULL, (size_t)0)) < 0) { + HDfprintf(stderr, "clear_open_chk: unable to open the file\n"); + HDfree(fname); + HDexit(EXIT_FAILURE); + } + HDfree(fname); + + /* Close the file */ + if (H5Fclose(fid) < 0) { + HDfprintf(stderr, "clear_open_chk: cannot close the file\n"); + HDexit(EXIT_FAILURE); + } + + /* Return success */ + HDexit(EXIT_SUCCESS); +} /* main() */ |
