summaryrefslogtreecommitdiffstats
path: root/src/h5ls.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-04-08 21:43:02 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-04-08 21:43:02 (GMT)
commitc01750fa740943c0083711b353278143c79d50a3 (patch)
treefd475b7c7a3639c05b30625b43547850d687b948 /src/h5ls.c
parent68fa66bf8130d6a6e607e233da8cc61a154bf172 (diff)
downloadhdf5-c01750fa740943c0083711b353278143c79d50a3.zip
hdf5-c01750fa740943c0083711b353278143c79d50a3.tar.gz
hdf5-c01750fa740943c0083711b353278143c79d50a3.tar.bz2
[svn-r338] Changes since 19980407
---------------------- ./src/H5B.c ./src/H5D.c ./src/H5Dprivate.h ./src/H5Dpublic.h ./src/H5F.c ./src/H5Farray.c ./src/H5Fcore.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fprivate.h ./src/H5Fpublic.h ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5HG.c ./src/H5HL.c ./src/H5MF.c ./src/H5MFprivate.h ./src/H5O.c ./src/H5Ocont.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Olayout.c ./src/H5Oname.c ./src/H5Oprivate.h ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5P.c ./src/H5Ppublic.h ./src/H5S.c ./src/H5Sprivate.h ./src/H5Spublic.h ./src/H5Ssimp.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5V.c ./src/H5Vprivate.h ./src/H5private.h ./src/H5public.h ./src/h5ls.c ./test/cmpd_dset.c ./test/dsets.c ./test/extend.c ./test/external.c ./test/hyperslab.c ./test/iopipe.c ./test/istore.c ./test/shtype.c ./test/tfile.c ./test/th5s.c Anything having to do with the size of a dataset now uses the types `hsize_t' and `hssize_t' which must be the same size and at least as large as `size_t'. This isn't fully tested yet, so hsize_t and hssize_t are defined as size_t and ssize_t in H5public.h. Setting them to larger values will trip up gcc versions less than 2.8.1 on x86 platforms. Documented unused function formals with `__unused__' before the formal name. This also has the effect of supressing warning messages for gcc since it's defined to be `__attribute__((unused))' in the H5private.h file. ./src/debug.c ./src/h5ls.c If the file name contains a `%' then the file is opened as a file family with H5P_DEFAULT for the file member access property list. ./src/h5ls.c The group name is optional, defaulting to `/'. ./src/hdf5.h Added some missing public header files.
Diffstat (limited to 'src/h5ls.c')
-rw-r--r--src/h5ls.c28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/h5ls.c b/src/h5ls.c
index 07bdd74..1bc5570 100644
--- a/src/h5ls.c
+++ b/src/h5ls.c
@@ -9,11 +9,15 @@
#include <hdf5.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <H5config.h>
#ifndef HAVE_ATTRIBUTE
# undef __attribute__
# define __attribute__(X) /*void*/
+# define __unused__ /*void*/
+#else
+# define __unused__ __attribute__((unused))
#endif
@@ -34,7 +38,7 @@
*-------------------------------------------------------------------------
*/
static herr_t
-list (hid_t group, const char *name, void *op_data __attribute__((unused)))
+list (hid_t group, const char *name, void __unused__ *op_data)
{
hid_t obj;
hid_t (*func)(void*);
@@ -48,7 +52,7 @@ list (hid_t group, const char *name, void *op_data __attribute__((unused)))
/* Print info about each name */
printf ("%-30s", name);
if ((obj=H5Dopen (group, name))>=0) {
- size_t size[64];
+ hsize_t size[64];
hid_t space = H5Dget_space (obj);
int ndims = H5Sget_dims (space, size);
printf (" Dataset {");
@@ -91,15 +95,27 @@ list (hid_t group, const char *name, void *op_data __attribute__((unused)))
int
main (int argc, char *argv[])
{
- hid_t file;
+ hid_t file, plist=H5P_DEFAULT;
herr_t status;
+ const char *fname = NULL;
+ const char *gname = "/";
- assert (3==argc);
+ assert (argc>=2 && argc<=3);
+ fname = argv[1];
+ if (argc>=3) gname = argv[2];
- file = H5Fopen (argv[1], H5F_ACC_RDONLY, H5P_DEFAULT);
+ /*
+ * Open the file. If the file name contains a `%' then assume that a
+ * file family is being opened.
+ */
+ if (strchr (fname, '%')) {
+ plist = H5Pcreate (H5P_FILE_ACCESS);
+ H5Pset_family (plist, H5P_DEFAULT);
+ }
+ file = H5Fopen (fname, H5F_ACC_RDONLY, plist);
assert (file>=0);
- status = H5Giterate (file, argv[2], NULL, list, NULL);
+ status = H5Giterate (file, gname, NULL, list, NULL);
assert (status>=0);
H5Fclose (file);