diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2020-03-01 02:17:20 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2020-03-01 02:17:20 (GMT) |
commit | d9774f3852ad97a5ad99b037f501f272c8a82fd8 (patch) | |
tree | 61e6b4d1a9d5b06149163a8eec19c4af2a45f7d0 /tools/lib/h5tools_str.c | |
parent | 7fa510520b004b84c5c5ebfab378e99ed46a0e35 (diff) | |
download | hdf5-d9774f3852ad97a5ad99b037f501f272c8a82fd8.zip hdf5-d9774f3852ad97a5ad99b037f501f272c8a82fd8.tar.gz hdf5-d9774f3852ad97a5ad99b037f501f272c8a82fd8.tar.bz2 |
h5dump object reference fixed
Diffstat (limited to 'tools/lib/h5tools_str.c')
-rw-r--r-- | tools/lib/h5tools_str.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/tools/lib/h5tools_str.c b/tools/lib/h5tools_str.c index 3a139c3..fd58b69 100644 --- a/tools/lib/h5tools_str.c +++ b/tools/lib/h5tools_str.c @@ -1100,7 +1100,6 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai * Object references -- show the type and OID of the referenced object. */ H5O_info_t oi; - const char *path; H5TOOLS_DEBUG("H5T_REFERENCE:H5T_STD_REF_OBJ"); obj = H5Rdereference2(container, H5P_DEFAULT, H5R_OBJECT, vp); @@ -1109,15 +1108,15 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai /* Print object type and close object */ switch(oi.type) { case H5O_TYPE_GROUP: - h5tools_str_append(str, "%u-%s", (unsigned) oi.type, H5_TOOLS_GROUP); + h5tools_str_append(str, H5_TOOLS_GROUP); break; case H5O_TYPE_DATASET: - h5tools_str_append(str, "%u-%s", (unsigned) oi.type, H5_TOOLS_DATASET); + h5tools_str_append(str, H5_TOOLS_DATASET); break; case H5O_TYPE_NAMED_DATATYPE: - h5tools_str_append(str, "%u-%s", (unsigned) oi.type, H5_TOOLS_DATATYPE); + h5tools_str_append(str, H5_TOOLS_DATATYPE); break; case H5O_TYPE_UNKNOWN: @@ -1128,21 +1127,13 @@ 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); else h5tools_str_append(str, info->obj_format, oi.fileno, oi.addr); - /* Print name */ - path = lookup_ref_path(*(haddr_t *) vp); - if(path) { - h5tools_str_append(str, " "); - h5tools_str_append(str, path); - h5tools_str_append(str, " "); - } /* end if */ + h5tools_str_sprint_reference(str, container, vp); } /* end else if (H5Tequal(type, H5T_STD_REF_OBJ)) */ } break; @@ -1303,22 +1294,30 @@ h5tools_str_sprint_reference(h5tools_str_t *str, hid_t container, void *vp) hid_t obj = H5I_INVALID_HID; hid_t region = H5I_INVALID_HID; char ref_name[1024]; + const char *path; 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) */ + else { + /* Print name */ + path = lookup_ref_path(*(haddr_t *) vp); + if(path) { + h5tools_str_append(str, path); + } /* end if */ + } + h5tools_str_append(str, "\""); H5TOOLS_ENDDEBUG(""); } |