summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/H5B.c3
-rw-r--r--src/H5Gnode.c2
-rw-r--r--src/H5HL.c11
-rw-r--r--src/H5O.c3
-rw-r--r--src/H5Odtype.c32
5 files changed, 48 insertions, 3 deletions
diff --git a/src/H5B.c b/src/H5B.c
index e328902..04d46f5 100644
--- a/src/H5B.c
+++ b/src/H5B.c
@@ -2153,6 +2153,9 @@ H5B_debug(H5F_t *f, haddr_t addr, FILE *stream, intn indent, intn fwidth,
"Tree type ID:",
(int) (bt->type->id));
HDfprintf(stream, "%*s%-*s %lu\n", indent, "", fwidth,
+ "Size of node:",
+ (unsigned long) H5B_nodesize(f, bt->type, NULL, bt->sizeof_rkey));
+ HDfprintf(stream, "%*s%-*s %lu\n", indent, "", fwidth,
"Size of raw (disk) key:",
(unsigned long) (bt->sizeof_rkey));
HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth,
diff --git a/src/H5Gnode.c b/src/H5Gnode.c
index 4df2142..bf9f959 100644
--- a/src/H5Gnode.c
+++ b/src/H5Gnode.c
@@ -1190,6 +1190,8 @@ H5G_node_debug(H5F_t *f, haddr_t addr, FILE * stream, intn indent,
fprintf(stream, "%*s%-*s %s\n", indent, "", fwidth,
"Dirty:",
sn->dirty ? "Yes" : "No");
+ fprintf(stream, "%*s%-*s %u\n", indent, "", fwidth,
+ "Size of Node (in bytes):", (unsigned)H5G_node_size(f));
fprintf(stream, "%*s%-*s %d of %d\n", indent, "", fwidth,
"Number of Symbols:",
sn->nsyms, 2 * H5G_NODE_K(f));
diff --git a/src/H5HL.c b/src/H5HL.c
index 38e9134..2d2c77f 100644
--- a/src/H5HL.c
+++ b/src/H5HL.c
@@ -296,7 +296,8 @@ H5HL_load(H5F_t *f, haddr_t addr, const void UNUSED *udata1,
done:
if (!ret_value && heap) {
- heap->chunk = H5FL_BLK_FREE(heap_chunk,heap->chunk);
+ if(heap->chunk)
+ heap->chunk = H5FL_BLK_FREE(heap_chunk,heap->chunk);
for (fl = heap->freelist; fl; fl = tail) {
tail = fl->next;
H5FL_FREE(H5HL_free_t,fl);
@@ -960,11 +961,17 @@ H5HL_debug(H5F_t *f, haddr_t addr, FILE * stream, intn indent, intn fwidth)
HRETURN_ERROR(H5E_HEAP, H5E_CANTLOAD, FAIL,
"unable to load heap");
}
- fprintf(stream, "%*sHeap...\n", indent, "");
+ fprintf(stream, "%*sLocal Heap...\n", indent, "");
fprintf(stream, "%*s%-*s %d\n", indent, "", fwidth,
"Dirty:",
(int) (h->dirty));
fprintf(stream, "%*s%-*s %lu\n", indent, "", fwidth,
+ "Header size (in bytes):",
+ (unsigned long) H5HL_SIZEOF_HDR(f));
+ HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth,
+ "Address of heap data:",
+ h->addr);
+ fprintf(stream, "%*s%-*s %lu\n", indent, "", fwidth,
"Data bytes allocated on disk:",
(unsigned long) (h->disk_alloc));
fprintf(stream, "%*s%-*s %lu\n", indent, "", fwidth,
diff --git a/src/H5O.c b/src/H5O.c
index 41cc4a4..9d3629f 100644
--- a/src/H5O.c
+++ b/src/H5O.c
@@ -2169,6 +2169,9 @@ H5O_debug(H5F_t *f, haddr_t addr, FILE *stream, intn indent, intn fwidth)
HDfprintf(stream, "%*s%-*s %d\n", indent, "", fwidth,
"Version:",
(int) (oh->version));
+ HDfprintf(stream, "%*s%-*s %u\n", indent, "", fwidth,
+ "Header size (in bytes):",
+ (unsigned) H5O_SIZEOF_HDR(f));
HDfprintf(stream, "%*s%-*s %d\n", indent, "", fwidth,
"Number of links:",
(int) (oh->nlink));
diff --git a/src/H5Odtype.c b/src/H5Odtype.c
index b18c138..d5b7618 100644
--- a/src/H5Odtype.c
+++ b/src/H5Odtype.c
@@ -1195,9 +1195,18 @@ H5O_dtype_debug(H5F_t *f, const void *mesg, FILE *stream,
case H5T_COMPOUND:
s = "compound";
break;
+ case H5T_REFERENCE:
+ s = "reference";
+ break;
case H5T_ENUM:
s = "enum";
break;
+ case H5T_ARRAY:
+ s = "array";
+ break;
+ case H5T_VLEN:
+ s = "variable-length sequence";
+ break;
default:
sprintf(buf, "H5T_CLASS_%d", (int) (dt->type));
s = buf;
@@ -1271,7 +1280,28 @@ H5O_dtype_debug(H5F_t *f, const void *mesg, FILE *stream,
} else if (H5T_OPAQUE==dt->type) {
fprintf(stream, "%*s%-*s \"%s\"\n", indent, "", fwidth,
"Tag:", dt->u.opaque.tag);
-
+ } else if (H5T_REFERENCE==dt->type) {
+ fprintf(stream, "%*s%-*s\n", indent, "", fwidth,
+ "Fix dumping reference types!");
+ } else if (H5T_VLEN==dt->type) {
+ fprintf(stream, "%*s%-*s\n", indent, "", fwidth,
+ "Fix dumping variable-length types!");
+ } else if (H5T_ARRAY==dt->type) {
+ fprintf(stream, "%*s%-*s %d\n", indent, "", fwidth,
+ "Rank:",
+ dt->u.array.ndims);
+ fprintf(stream, "%*s%-*s {", indent, "", fwidth, "Dim Size:");
+ for (i=0; i<dt->u.array.ndims; i++) {
+ fprintf (stream, "%s%u", i?", ":"", dt->u.array.dim[i]);
+ }
+ fprintf (stream, "}\n");
+ fprintf(stream, "%*s%-*s {", indent, "", fwidth, "Dim Permutation:");
+ for (i=0; i<dt->u.array.ndims; i++) {
+ fprintf (stream, "%s%d", i?", ":"", dt->u.array.perm[i]);
+ }
+ fprintf (stream, "}\n");
+ fprintf(stream, "%*s%s\n", indent, "", "Base type:");
+ H5O_dtype_debug(f, dt->parent, stream, indent+3, MAX(0, fwidth-3));
} else {
switch (dt->u.atomic.order) {
case H5T_ORDER_LE: