diff options
author | Robb Matzke <matzke@llnl.gov> | 1997-08-07 19:23:00 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1997-08-07 19:23:00 (GMT) |
commit | a905a3a1e343d4507049c30512842957e2f6307c (patch) | |
tree | aa01b7418431c48634458a028c2fe6fd354f1684 /src/debug.c | |
parent | dd0fbd5b0060ebc7703da8eaab747f7a3025be2a (diff) | |
download | hdf5-a905a3a1e343d4507049c30512842957e2f6307c.zip hdf5-a905a3a1e343d4507049c30512842957e2f6307c.tar.gz hdf5-a905a3a1e343d4507049c30512842957e2f6307c.tar.bz2 |
[svn-r15] ./src/H5AC.c
./src/H5ACprivate.h
./src/H5ACproto.h
./src/H5Bproto.h
./src/H5Gproto.h
./src/H5Hproto.h
./src/H5MFprivate.h
./src/H5MFproto.h
./src/H5MM.c
./src/H5MMprivate.h
./src/H5MMproto.h
Changed my e-mail address.
./src/H5O.c NEW
./src/H5Onull.c NEW
./src/H5Ocont. NEW
./src/H5Ostab.c NEW
New functions for dealing with object headers. The H5O.c is
the generic stuff, and each particular message has a source
file for the specific stuff.
Use ./src/H5Ostab.c as a model for implementing other messages.
./src/Makefile
./src/test/Makefile
Added new files
./src/debug.c
Added debugging calls for object headers.
./src/H5B.c
./src/H5Bprivate.h
./src/H5Gnode.c
./src/H5MF.c
Changed my e-mail address.
Improved error handling.
./src/H5Eprivate.h
./src/H5Eproto.h
Added more error symbols
./src/H5F.c
Changed my e-mail address.
Used macros for sizeof offsets and lengths.
Added the interface initialization function to
H5F_block_read() and H5F_block_write().
Updated H5F_debug()
./src/H5Fprivate.h
Got rid of H5F_symbol_table_size(). Use H5G_SIZEOF_ENTRY()
instead.
Reformatted H5F_decode_offset() for readability.
./src/H5G.c
Changed my e-mail address.
Improved error handling.
Replaced not_implemented_yet__*() with real functions from
H5O.
./src/H5Gprivate.h
Changed `symtab' to `stab' to be consistent with other stuff.
./src/H5H.c
./src/H5Hprivate.h
Changed my e-mail address.
Improved error handling.
Added an extra argument to H5H_new() to indicate whether you
want a global heap or a local heap.
./src/hdf5gen.h
Added NELMTS()
Fixed FUNC_ENTER()
Rewrote FUNC_LEAVE() in terms of HRETURN().
./src/hdf5meta.h
Added `const' to the decode macros.
./src/hdf5pabl.h
Added PABLO_SAVE()
./test/testhdf5.c
./test/testhdf5.h
Added calls for object header testing.
./test/theap.c
Turned off some output.
Diffstat (limited to 'src/debug.c')
-rw-r--r-- | src/debug.c | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/debug.c b/src/debug.c index f061d4c..d07b2cb 100644 --- a/src/debug.c +++ b/src/debug.c @@ -6,7 +6,7 @@ * * Created: debug.c * Jul 18 1997 - * Robb Matzke <robb@maya.nuance.com> + * Robb Matzke <matzke@llnl.gov> * * Purpose: Debugs an existing HDF5 file at a low level. * @@ -21,6 +21,7 @@ #include "H5Fprivate.h" #include "H5Gprivate.h" #include "H5Hprivate.h" +#include "H5Oprivate.h" #define INDENT 3 #define VCOL 50 @@ -36,7 +37,7 @@ * Failure: exit (non-zero) * * Programmer: Robb Matzke - * robb@maya.nuance.com + * matzke@llnl.gov * Jul 18 1997 * * Modifications: @@ -51,6 +52,7 @@ main (int argc, char *argv[]) haddr_t addr = 0; uint8 sig[16]; intn i; + herr_t status = SUCCEED; /* * Parse command arguments. @@ -85,19 +87,19 @@ main (int argc, char *argv[]) /* * Debug the boot block. */ - H5F_debug (f, 0, stdout, 0, VCOL); + status = H5F_debug (f, 0, stdout, 0, VCOL); } else if (!memcmp (sig, H5H_MAGIC, H5H_SIZEOF_MAGIC)) { /* * Debug a heap. */ - H5H_debug (f, addr, stdout, 0, VCOL); + status = H5H_debug (f, addr, stdout, 0, VCOL); } else if (!memcmp (sig, H5G_NODE_MAGIC, H5G_NODE_SIZEOF_MAGIC)) { /* * Debug a symbol table node. */ - H5G_node_debug (f, addr, stdout, 0, VCOL); + status = H5G_node_debug (f, addr, stdout, 0, VCOL); } else if (!memcmp (sig, H5B_MAGIC, H5B_SIZEOF_MAGIC)) { /* @@ -108,13 +110,20 @@ main (int argc, char *argv[]) H5B_subid_t subtype = sig[H5B_SIZEOF_MAGIC]; switch (subtype) { case H5B_SUBTYPE_SNODE: - H5G_node_debug (f, addr, stdout, 0, VCOL); + status = H5G_node_debug (f, addr, stdout, 0, VCOL); break; default: fprintf (stderr, "Unknown B-tree subtype %u\n", (unsigned)(subtype)); exit (4); } + + } else if (sig[0]==H5O_VERSION && sig[1]==H5O_ALIGNMENT) { + /* + * This could be an object header. Since they don't have a signature + * it's a somewhat "ify" detection. + */ + status = H5O_debug (f, addr, stdout, 0, VCOL); } else { /* @@ -137,6 +146,11 @@ main (int argc, char *argv[]) exit (4); } + if (status<0) { + fprintf (stderr, "An error occurred\n"); + exit (5); + } + H5Fclose (fid); exit (0); } |