summaryrefslogtreecommitdiffstats
path: root/src/H5Gent.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2004-07-14 19:08:37 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2004-07-14 19:08:37 (GMT)
commitf0fe9b0114591c13051ccc92a2fca81b1ec3ca95 (patch)
tree4e4beea3de3cb398a8a7eadf4fd8bc4ab9e52b35 /src/H5Gent.c
parentb67740452b0c2ed1e287449ae3a871cb1ebccec7 (diff)
downloadhdf5-f0fe9b0114591c13051ccc92a2fca81b1ec3ca95.zip
hdf5-f0fe9b0114591c13051ccc92a2fca81b1ec3ca95.tar.gz
hdf5-f0fe9b0114591c13051ccc92a2fca81b1ec3ca95.tar.bz2
[svn-r8875] Purpose:
Bug fix Description: Correct problems with "resurrecting" a dataset in a file. (This occurs when a dataset which is open gets unlinked from the group hierarchy (making it "dead" and marked for deletion in the file) and then is re-linked to the group hierarchy). Note that the current solution applies only to datasets, further work will fix this for groups and named datatypes also. Also, fix the "debug" routines to be a little more helpful in certain situations. Additionally, fix a locking bug in the symbol table node splitting routine which could be [one of] the cause[s] of the file corruption in flexible parallel operation. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel h5committested
Diffstat (limited to 'src/H5Gent.c')
-rw-r--r--src/H5Gent.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/H5Gent.c b/src/H5Gent.c
index 9596eb0..b050453 100644
--- a/src/H5Gent.c
+++ b/src/H5Gent.c
@@ -19,6 +19,10 @@
#define H5G_PACKAGE
#define H5F_PACKAGE /*suppress error about including H5Fpkg */
+/* Pablo information */
+/* (Put before include files to avoid problems with inline functions) */
+#define PABLO_MASK H5G_ent_mask
+
#include "H5private.h" /* Generic Functions */
#include "H5Eprivate.h" /* Error handling */
#include "H5Fpkg.h" /* File access */
@@ -26,7 +30,6 @@
#include "H5HLprivate.h" /* Local Heaps */
#include "H5MMprivate.h" /* Memory management */
-#define PABLO_MASK H5G_ent_mask
static int interface_initialize_g = 0;
#define INTERFACE_INIT NULL
@@ -497,12 +500,14 @@ H5G_ent_debug(H5F_t UNUSED *f, hid_t dxpl_id, const H5G_entry_t *ent, FILE * str
HDfprintf (stream, "%*s%-*s %lu\n", nested_indent, "", nested_fwidth,
"Link value offset:",
(unsigned long)(ent->cache.slink.lval_offset));
- if (H5F_addr_defined(heap)) {
+ if (heap>0 && H5F_addr_defined(heap)) {
lval = H5HL_peek (ent->file, dxpl_id, heap, ent->cache.slink.lval_offset);
HDfprintf (stream, "%*s%-*s %s\n", nested_indent, "", nested_fwidth,
"Link value:",
lval);
}
+ else
+ HDfprintf(stream, "%*s%-*s\n", nested_indent, "", nested_fwidth, "Warning: Invalid heap address given, name not displayed!");
break;
default: