diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/src/h5dump/h5dump_ddl.c | 9 | ||||
-rw-r--r-- | tools/testfiles/tgroup-2.ddl | 9 |
2 files changed, 16 insertions, 2 deletions
diff --git a/tools/src/h5dump/h5dump_ddl.c b/tools/src/h5dump/h5dump_ddl.c index 4066e6c..96372a1 100644 --- a/tools/src/h5dump/h5dump_ddl.c +++ b/tools/src/h5dump/h5dump_ddl.c @@ -846,7 +846,10 @@ dump_group(hid_t gid, const char *name) H5Oget_info2(gid, &oinfo, H5O_INFO_BASIC); - { + /* Must check for uniqueness of all objects if we've traversed an elink, + * otherwise only check if the reference count > 1. + */ + if (oinfo.rc > 1 || hit_elink) { obj_t *found_obj; /* Found object */ found_obj = search_obj(group_table, oinfo.addr); @@ -870,6 +873,10 @@ dump_group(hid_t gid, const char *name) link_iteration(gid, crt_order_flags); } } + else { + attr_iteration(gid, attr_crt_order_flags); + link_iteration(gid, crt_order_flags); + } dump_indent -= COL; ctx.indent_level--; diff --git a/tools/testfiles/tgroup-2.ddl b/tools/testfiles/tgroup-2.ddl index 5374742..2ac8ac6 100644 --- a/tools/testfiles/tgroup-2.ddl +++ b/tools/testfiles/tgroup-2.ddl @@ -17,7 +17,14 @@ GROUP "/" { } } GROUP "g2" { - HARDLINK "/g2" + GROUP "g2.1" { + GROUP "g2.1.1" { + } + GROUP "g2.1.2" { + } + GROUP "g2.1.3" { + } + } } GROUP "g3" { GROUP "g3.1" { |