summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/H5Odtype.c4
-rw-r--r--src/H5Osdspace.c48
2 files changed, 29 insertions, 23 deletions
diff --git a/src/H5Odtype.c b/src/H5Odtype.c
index 5b8b479..e28571c 100644
--- a/src/H5Odtype.c
+++ b/src/H5Odtype.c
@@ -918,6 +918,9 @@ done:
This function returns the size of the raw simple datatype message on
success. (Not counting the message type or size fields, only the data
portion of the message). It doesn't take into account alignment.
+ NOTES
+ All datatype messages have a common 8 byte header, plus a variable-
+ sized "properties" field.
--------------------------------------------------------------------------*/
static size_t
H5O_dtype_size(H5F_t *f, const void *mesg)
@@ -930,6 +933,7 @@ H5O_dtype_size(H5F_t *f, const void *mesg)
assert(mesg);
+ /* Add in the property field length for each datatype class */
switch (dt->type) {
case H5T_INTEGER:
ret_value += 4;
diff --git a/src/H5Osdspace.c b/src/H5Osdspace.c
index b08db50..e2f7aa1 100644
--- a/src/H5Osdspace.c
+++ b/src/H5Osdspace.c
@@ -436,35 +436,37 @@ H5O_sdspace_debug(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *mesg,
"Rank:",
(unsigned long) (sdim->rank));
- HDfprintf(stream, "%*s%-*s {", indent, "", fwidth, "Dim Size:");
- for (u = 0; u < sdim->rank; u++)
- HDfprintf (stream, "%s%Hu", u?", ":"", sdim->size[u]);
- HDfprintf (stream, "}\n");
-
- HDfprintf(stream, "%*s%-*s ", indent, "", fwidth, "Dim Max:");
- if (sdim->max) {
- HDfprintf (stream, "{");
- for (u = 0; u < sdim->rank; u++) {
- if (H5S_UNLIMITED==sdim->max[u]) {
- HDfprintf (stream, "%sINF", u?", ":"");
- } else {
- HDfprintf (stream, "%s%Hu", u?", ":"", sdim->max[u]);
+ if(sdim->rank>0) {
+ HDfprintf(stream, "%*s%-*s {", indent, "", fwidth, "Dim Size:");
+ for (u = 0; u < sdim->rank; u++)
+ HDfprintf (stream, "%s%Hu", u?", ":"", sdim->size[u]);
+ HDfprintf (stream, "}\n");
+
+ HDfprintf(stream, "%*s%-*s ", indent, "", fwidth, "Dim Max:");
+ if (sdim->max) {
+ HDfprintf (stream, "{");
+ for (u = 0; u < sdim->rank; u++) {
+ if (H5S_UNLIMITED==sdim->max[u]) {
+ HDfprintf (stream, "%sINF", u?", ":"");
+ } else {
+ HDfprintf (stream, "%s%Hu", u?", ":"", sdim->max[u]);
+ }
}
+ HDfprintf (stream, "}\n");
+ } else {
+ HDfprintf (stream, "CONSTANT\n");
}
- HDfprintf (stream, "}\n");
- } else {
- HDfprintf (stream, "CONSTANT\n");
- }
#ifdef LATER
- if (sdim->perm) {
- HDfprintf(stream, "%*s%-*s {", indent, "", fwidth, "Dim Perm:");
- for (u = 0; u < sdim->rank; u++) {
- HDfprintf (stream, "%s%lu", u?", ":"",
- (unsigned long) (sdim->perm[u]));
+ if (sdim->perm) {
+ HDfprintf(stream, "%*s%-*s {", indent, "", fwidth, "Dim Perm:");
+ for (u = 0; u < sdim->rank; u++) {
+ HDfprintf (stream, "%s%lu", u?", ":"",
+ (unsigned long) (sdim->perm[u]));
+ }
}
- }
#endif
+ } /* end if */
done:
FUNC_LEAVE_NOAPI(ret_value);