diff options
author | Robb Matzke <matzke@llnl.gov> | 1997-12-11 21:35:46 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1997-12-11 21:35:46 (GMT) |
commit | faca6fbaa8c557b18d6b264841fc8717d1e73816 (patch) | |
tree | 2123e6290a24e6ad94c776e45283800cc6917f92 /src/H5Gshad.c | |
parent | 3c16901751f40fcbbf36878fe13b0237a3753bc9 (diff) | |
download | hdf5-faca6fbaa8c557b18d6b264841fc8717d1e73816.zip hdf5-faca6fbaa8c557b18d6b264841fc8717d1e73816.tar.gz hdf5-faca6fbaa8c557b18d6b264841fc8717d1e73816.tar.bz2 |
[svn-r145] ./src/H5Osdtyp.c -> H5Odtype.c
./src/H5Osdim.c -> H5Osdspace.c
./src/Makefile.in
Changed the names of these files to better reflect what they
actually do.
./src/H5.c
./src/H5AC.c
./src/H5B.c
./src/H5C.c
./src/H5D.c
./src/H5E.c
./src/H5Eprivate.h
./src/H5Epublic.h
./src/H5F.c
./src/H5Fcore.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gshad.c
./src/H5Gstab.c
./src/H5H.c
./src/H5M.c
./src/H5MF.c
./src/H5O.c
./src/H5Osdtyp.c (./src/H5Odtype.c)
./src/H5P.c
./src/H5T.c
./src/H5detect.c
./src/H5private.h
Added an argument to the HRETURN_ERROR(), HGOTO_ERROR(), and
HERROR() macros which is a string error message. This allows
us to give extra information which can't be represented by the
major and minor error numbers. This information was
previously in comments just before or after the macro call.
The string isn't currently used, but I'm planning to change
the test files so they print an error trace when something
fails. This should make debugging a little faster since it's
often obvious what's wrong if we could just see the error
stack without even having to start a debugger.
Diffstat (limited to 'src/H5Gshad.c')
-rw-r--r-- | src/H5Gshad.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/H5Gshad.c b/src/H5Gshad.c index f7941ef..861f7e5 100644 --- a/src/H5Gshad.c +++ b/src/H5Gshad.c @@ -255,8 +255,8 @@ H5G_shadow_sync (H5G_entry_t *ent) if (shadow && shadow->entry.dirty) { if (!ent) { - /* Main entry is not cached */ - HRETURN_ERROR (H5E_SYM, H5E_NOTCACHED, FAIL); + HRETURN_ERROR (H5E_SYM, H5E_NOTCACHED, FAIL, + "main entry is not cached"); } *ent = shadow->entry; shadow->entry.dirty = FALSE; @@ -466,10 +466,12 @@ H5G_shadow_open (H5F_t *f, H5G_entry_t *grp, H5G_entry_t *ent) * Some entry other than the root. */ if (NULL==H5O_read (f, NO_ADDR, grp, H5O_STAB, 0, &stab)) { - HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, NULL); + HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, NULL, + "unable to read symbol table object header message"); } if (NULL==(s=H5H_peek (f, &(stab.heap_addr), ent->name_off))) { - HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, NULL); + HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, NULL, + "unable to read symbol name"); } shadow->name = H5MM_xstrdup (s); } @@ -576,7 +578,8 @@ H5G_shadow_close (H5F_t *f, H5G_entry_t *ent) if (1==shadow->nrefs && ent->dirty) { if (!shadow->main && NULL==H5G_stab_find (f, &(shadow->grp_addr), NULL, shadow->name)) { - HRETURN_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL); + HRETURN_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, + "unable to find shadow name in symbol table"); } assert (shadow->main); *(shadow->main) = *ent; @@ -760,7 +763,9 @@ H5G_shadow_flush (H5F_t *f, hbool_t invalidate) if (!shadow->main && NULL==H5G_stab_find (f, &(shadow->grp_addr), NULL, shadow->name)) { - HRETURN_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL); + HRETURN_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, + "unable to find shadow name in symbol " + "table"); } assert (shadow->main); *(shadow->main) = shadow->entry; @@ -797,7 +802,8 @@ H5G_shadow_flush (H5F_t *f, hbool_t invalidate) * shadow and then something else tries to access it (perhaps to close * it) then they trample on freed memory. */ - HRETURN_ERROR (H5E_SYM, H5E_UNSUPPORTED, FAIL); + HRETURN_ERROR (H5E_SYM, H5E_UNSUPPORTED, FAIL, + "leaking memory due to shadow errors"); } FUNC_LEAVE (SUCCEED); |