summaryrefslogtreecommitdiffstats
path: root/src/H5Gshad.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1997-12-11 21:35:46 (GMT)
committerRobb Matzke <matzke@llnl.gov>1997-12-11 21:35:46 (GMT)
commitfaca6fbaa8c557b18d6b264841fc8717d1e73816 (patch)
tree2123e6290a24e6ad94c776e45283800cc6917f92 /src/H5Gshad.c
parent3c16901751f40fcbbf36878fe13b0237a3753bc9 (diff)
downloadhdf5-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.c20
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);