summaryrefslogtreecommitdiffstats
path: root/src/H5Gobj.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2006-11-07 20:32:44 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2006-11-07 20:32:44 (GMT)
commit665f42f9e0d7b84bddbca2ff45b276b45eb76654 (patch)
tree49e5b05fd76eb99dc489088d9b1e20a6d069910e /src/H5Gobj.c
parente87cb9148356b581d8ff8a910ea3acc9d549ee7a (diff)
downloadhdf5-665f42f9e0d7b84bddbca2ff45b276b45eb76654.zip
hdf5-665f42f9e0d7b84bddbca2ff45b276b45eb76654.tar.gz
hdf5-665f42f9e0d7b84bddbca2ff45b276b45eb76654.tar.bz2
[svn-r12878] Description:
Flesh out support for looking up link info by index, some cases for using dense storage are working now. Tested on: Linux/32 2.6 (chicago)
Diffstat (limited to 'src/H5Gobj.c')
-rw-r--r--src/H5Gobj.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/H5Gobj.c b/src/H5Gobj.c
index 633ac5c..515b822 100644
--- a/src/H5Gobj.c
+++ b/src/H5Gobj.c
@@ -1005,7 +1005,7 @@ H5G_obj_remove(H5O_loc_t *oloc, const char *name, H5G_obj_t *obj_type, hid_t dxp
size_t u; /* Local index */
/* Build the table of links for this group */
- if(H5G_dense_build_table(oloc->file, dxpl_id, &linfo, H5_ITER_NATIVE, &ltable) < 0)
+ if(H5G_dense_build_table(oloc->file, dxpl_id, &linfo, H5L_INDEX_NAME, H5_ITER_NATIVE, &ltable) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTNEXT, FAIL, "error iterating over links")
/* Inspect links in table for ones that can't be converted back
@@ -1198,11 +1198,12 @@ H5G_obj_lookup_by_idx(H5O_loc_t *grp_oloc, H5L_index_t idx_type,
/* Check for dense link storage */
if(H5F_addr_defined(linfo.link_fheap_addr)) {
-HDfprintf(stderr, "%s: creation order query on dense storage not implemented yet!\n", FUNC);
-HGOTO_ERROR(H5E_SYM, H5E_UNSUPPORTED, FAIL, "creation order query on dense storage not implemented yet")
+ /* Get the link from the dense storage */
+ if(H5G_dense_lookup_by_idx(grp_oloc->file, dxpl_id, &linfo, idx_type, order, n, lnk) < 0)
+ HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't locate object")
} /* end if */
else {
- /* Get the object's info from the link messages */
+ /* Get the link from the link messages */
if(H5G_link_lookup_by_corder(grp_oloc, dxpl_id, &linfo, order, n, lnk) < 0)
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't locate object")
} /* end else */