summaryrefslogtreecommitdiffstats
path: root/tools/lib
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2020-02-29 19:59:37 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2020-02-29 19:59:37 (GMT)
commit7fa510520b004b84c5c5ebfab378e99ed46a0e35 (patch)
treeb84f561da2a35b665d33b04e87eeb1d5ab26f1fc /tools/lib
parentefcdbf2e38169cb7b8a0c435defaafaecb16b6a4 (diff)
downloadhdf5-7fa510520b004b84c5c5ebfab378e99ed46a0e35.zip
hdf5-7fa510520b004b84c5c5ebfab378e99ed46a0e35.tar.gz
hdf5-7fa510520b004b84c5c5ebfab378e99ed46a0e35.tar.bz2
Updated reference code
Diffstat (limited to 'tools/lib')
-rw-r--r--tools/lib/h5tools_dump.c3
-rw-r--r--tools/lib/h5tools_str.c18
2 files changed, 12 insertions, 9 deletions
diff --git a/tools/lib/h5tools_dump.c b/tools/lib/h5tools_dump.c
index 9517b21..34637c5 100644
--- a/tools/lib/h5tools_dump.c
+++ b/tools/lib/h5tools_dump.c
@@ -3930,6 +3930,8 @@ h5tools_dump_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *
for (i = 0; i < ndims; i++, ctx->cur_elmt++, elmt_counter++) {
void* memref = region_buf + i * nsize;
+ H5TOOLS_DEBUG("reference loop:%d with curr_pos=%ld", i, curr_pos);
+
datactx.need_prefix = TRUE;
h5tools_str_reset(&buffer);
H5TOOLS_DEBUG("reference loop - h5tools_str_sprint with H5T_STD_REF_DSETREG:%d", i);
@@ -3999,6 +4001,7 @@ h5tools_dump_data(FILE *stream, const h5tool_format_t *info, h5tools_context_t *
H5Epush2(H5tools_ERR_STACK_g, __FILE__, FUNC, __LINE__, H5tools_ERR_CLS_g, H5E_tools_g, H5E_tools_min_id_g, "H5Rdereference failed");
}
} /* end else to if (h5tools_is_zero(... */
+ H5TOOLS_DEBUG("finished reference loop:%d",i);
} /* end for (i = 0; i < nelmts... */
HDfree(region_buf);
}
diff --git a/tools/lib/h5tools_str.c b/tools/lib/h5tools_str.c
index a12ea7f..3a139c3 100644
--- a/tools/lib/h5tools_str.c
+++ b/tools/lib/h5tools_str.c
@@ -1090,7 +1090,7 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
else {
if(nsize == H5R_DSET_REG_REF_BUF_SIZE) {
/* if (H5Tequal(type, H5T_STD_REF_DSETREG)) */
- H5TOOLS_DEBUG("ref_type is H5R_DATASET_REGION1");
+ H5TOOLS_DEBUG("H5T_REFERENCE:H5T_STD_REF_DSETREG");
h5tools_str_append(str, H5_TOOLS_DATASET);
h5tools_str_sprint_reference(str, container, vp);
}
@@ -1102,22 +1102,22 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
H5O_info_t oi;
const char *path;
- H5TOOLS_DEBUG("ref_type is H5R_OBJECT");
+ H5TOOLS_DEBUG("H5T_REFERENCE:H5T_STD_REF_OBJ");
obj = H5Rdereference2(container, H5P_DEFAULT, H5R_OBJECT, vp);
H5Oget_info2(obj, &oi, H5O_INFO_BASIC);
/* Print object type and close object */
switch(oi.type) {
case H5O_TYPE_GROUP:
- h5tools_str_append(str, H5_TOOLS_GROUP);
+ h5tools_str_append(str, "%u-%s", (unsigned) oi.type, H5_TOOLS_GROUP);
break;
case H5O_TYPE_DATASET:
- h5tools_str_append(str, H5_TOOLS_DATASET);
+ h5tools_str_append(str, "%u-%s", (unsigned) oi.type, H5_TOOLS_DATASET);
break;
case H5O_TYPE_NAMED_DATATYPE:
- h5tools_str_append(str, H5_TOOLS_DATATYPE);
+ h5tools_str_append(str, "%u-%s", (unsigned) oi.type, H5_TOOLS_DATATYPE);
break;
case H5O_TYPE_UNKNOWN:
@@ -1128,6 +1128,8 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
} /* end switch */
H5Oclose(obj);
+ h5tools_str_sprint_reference(str, container, vp);
+
/* Print OID */
if(info->obj_hidefileno)
h5tools_str_append(str, info->obj_format, oi.addr);
@@ -1304,25 +1306,23 @@ h5tools_str_sprint_reference(h5tools_str_t *str, hid_t container, void *vp)
H5TOOLS_START_DEBUG("");
- h5tools_str_append(str, " \"");
obj = H5Rdereference2(container, H5P_DEFAULT, H5R_DATASET_REGION, vp);
if(obj >= 0) {
region = H5Rget_region(container, H5R_DATASET_REGION, vp);
if(region >= 0) {
H5Rget_name(obj, H5R_DATASET_REGION, vp, (char*) ref_name, 1024);
-
+ h5tools_str_append(str, " \"");
h5tools_str_append(str, "%s", ref_name);
+ h5tools_str_append(str, "\"");
H5Sclose(region);
} /* end if (region >= 0) */
H5Dclose(obj);
} /* end if (obj >= 0) */
- h5tools_str_append(str, "\"");
H5TOOLS_ENDDEBUG("");
}
-
/*-------------------------------------------------------------------------
* Function: h5tools_escape
*