From 78c2c38d986aace5ea06cc8cfeafd155374f1b98 Mon Sep 17 00:00:00 2001 From: Elena Pourmal Date: Thu, 3 Apr 2003 15:10:25 -0500 Subject: [svn-r6584] Purpose: Maintenance Description: There was an old h5import (h5import.c) tool in the misc directory. The tool created 8-bit integer datasets , it was never tested and/or supported. Solution: We decided to rename old h5import.c to h5createU8.c. The new name reflects what actually old tool does. New executable h5createU8 is built in the misc directory. h5import.c file (old one) is still in the misc directory, but h5import executable is not built. (Sorry if I confused you!) Platforms tested: vebena, arabica, modi4 were tested Misc. update: --- tools/misc/Makefile.in | 22 +++----- tools/misc/h5createU8.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+), 15 deletions(-) create mode 100644 tools/misc/h5createU8.c diff --git a/tools/misc/Makefile.in b/tools/misc/Makefile.in index 6b228b9..5ea8aaa 100644 --- a/tools/misc/Makefile.in +++ b/tools/misc/Makefile.in @@ -1,17 +1,9 @@ ## HDF5 Library Makefile(.in) ## -## Copyright by the Board of Trustees of the University of Illinois. -## 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 files COPYING and Copyright.html. COPYING can be found at the root -## of the source code distribution tree; Copyright.html can be found at the -## root level of an installed copy of the electronic HDF5 document set and -## is linked from the top-level documents page. It can also be found at -## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have -## access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. +## Copyright (C) 2001 National Center for Supercomputing Applications. +## All rights reserved. ## +## top_srcdir=@top_srcdir@ top_builddir=../.. srcdir=@srcdir@ @@ -34,7 +26,7 @@ TEST_SCRIPTS= LIBTOOLS=../lib/libh5tools.la LIBHDF5=$(top_builddir)/src/libhdf5.la -PUB_PROGS=h5cc h5debug h5import h5redeploy h5repart @PDB2HDF@ +PUB_PROGS=h5cc h5debug h5createU8 h5redeploy h5repart @PDB2HDF@ PROGS=$(PUB_PROGS) $(TEST_PROGS) ## Source and object files for the library; do not install @@ -45,7 +37,7 @@ PUB_LIB= ## Source and object files for programs... ## -PROG_SRC=h5debug.c h5import.c h5repart.c pdb2hdf.c +PROG_SRC=h5debug.c h5createU8.c h5repart.c pdb2hdf.c PROG_OBJ=$(PROG_SRC:.c=.lo) PRIVATE_HDR= @@ -70,8 +62,8 @@ h5cc: h5cc.in h5debug: h5debug.lo @$(LT_LINK_EXE) $(CFLAGS) -o $@ h5debug.lo $(LIBTOOLS) $(LIBHDF5) $(LDFLAGS) $(LIBS) -h5import: h5import.lo - @$(LT_LINK_EXE) $(CFLAGS) -o $@ h5import.lo $(LIBTOOLS) $(LIBHDF5) $(LDFLAGS) $(LIBS) +h5createU8: h5createU8.lo + @$(LT_LINK_EXE) $(CFLAGS) -o $@ h5createU8.lo $(LIBTOOLS) $(LIBHDF5) $(LDFLAGS) $(LIBS) h5redeploy: h5redeploy.in $(CP) $(srcdir)/$@.in $@ diff --git a/tools/misc/h5createU8.c b/tools/misc/h5createU8.c new file mode 100644 index 0000000..b669259 --- /dev/null +++ b/tools/misc/h5createU8.c @@ -0,0 +1,141 @@ +/* + * Copyright (C) 1998 NCSA + * All rights reserved. + * + * Programmer: Robb Matzke + * Thursday, June 11, 1998 + * + * Purpose: Create an hdf5 file with a 1d dataset of uint8. + */ + +/* See H5private.h for how to include system headers */ +#include +#ifdef H5_STDC_HEADERS +# include +# include +# include +# include +#endif + +#ifdef H5_HAVE_UNISTD_H +# include +# include +#endif + +#ifdef H5_HAVE_SYS_STAT_H +# include +#endif + +#ifdef WIN32 +# include +#endif + + +/*------------------------------------------------------------------------- + * Function: usage + * + * Purpose: Print a usage message and exit with non-zero status + * + * Return: never returns + * + * Programmer: Robb Matzke + * Thursday, June 11, 1998 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +static void +usage (const char *argv0) +{ + fprintf (stderr, "Usage: %s -f HDF5-FILE FILES...\n", argv0); + exit (1); +} + + +/*------------------------------------------------------------------------- + * Function: main + * + * Purpose: + * + * Return: Success: 0 + * + * Failure: 1 + * + * Programmer: Robb Matzke + * Thursday, June 11, 1998 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +int +main (int argc, char *argv[]) +{ + hid_t file, space=-1, dset=-1; + const char *output_name, *dset_name; + int argno, fd=-1; + hsize_t size[1]; + struct stat sb; + + /* Parse arguments */ + if (argc<4) usage (argv[0]); + if (strcmp (argv[1], "-f")) usage (argv[0]); + output_name = argv[2]; + + /* create the file */ + H5E_BEGIN_TRY { + if ((file = H5Fcreate (output_name, H5F_ACC_EXCL, + H5P_DEFAULT, H5P_DEFAULT))<0 && + (file = H5Fopen (output_name, H5F_ACC_RDWR, H5P_DEFAULT)<0)) { + fprintf (stderr, "%s: unable to create or open hdf5 file\n", + output_name); + exit (1); + } + } H5E_END_TRY; + + /* process files from command-line */ + for (argno=3; argno=0) close (fd); + fd = -1; + H5E_BEGIN_TRY { + if (space>=0) { + H5Sclose (space); + space = -1; + } + if (dset>=0) { + H5Dclose (dset); + dset = -1; + } + } H5E_END_TRY; + } + + /* Close the file */ + H5Fclose (file); + return 0; +} -- cgit v0.12