diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2006-11-13 16:43:29 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2006-11-13 16:43:29 (GMT) |
commit | 174f0dab3fea49f4c99fedcf2c5b60902061648d (patch) | |
tree | bca9291cbcb8d28565c82423c345fb955da9c067 /src/H5Gdense.c | |
parent | 3f25d6c6d1ae867a93ea904fe9bbf0f744ac052c (diff) | |
download | hdf5-174f0dab3fea49f4c99fedcf2c5b60902061648d.zip hdf5-174f0dab3fea49f4c99fedcf2c5b60902061648d.tar.gz hdf5-174f0dab3fea49f4c99fedcf2c5b60902061648d.tar.bz2 |
[svn-r12896] Description:
Move compact storage routines into separate file, to make room for internal
routines that operate on links within group operations.
Tested on:
Linux/32 2.6 (chicago)
Diffstat (limited to 'src/H5Gdense.c')
-rw-r--r-- | src/H5Gdense.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/H5Gdense.c b/src/H5Gdense.c index 9e45f6a..3b8be2f 100644 --- a/src/H5Gdense.c +++ b/src/H5Gdense.c @@ -704,7 +704,7 @@ H5G_dense_lookup_by_idx(H5F_t *f, hid_t dxpl_id, const H5O_linfo_t *linfo, HGOTO_ERROR(H5E_SYM, H5E_CANTCOPY, H5B2_ITER_ERROR, "can't copy link message") /* Free link table information */ - if(H5G_obj_release_table(<able) < 0) + if(H5G_link_release_table(<able) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTFREE, FAIL, "unable to release link table") } /* end else */ @@ -810,18 +810,18 @@ H5G_dense_build_table(H5F_t *f, hid_t dxpl_id, const H5O_linfo_t *linfo, /* Sort link table in correct iteration order */ if(idx_type == H5L_INDEX_NAME) { if(order == H5_ITER_INC) - HDqsort(ltable->lnks, ltable->nlinks, sizeof(H5O_link_t), H5G_obj_cmp_name_inc); + HDqsort(ltable->lnks, ltable->nlinks, sizeof(H5O_link_t), H5G_link_cmp_name_inc); else if(order == H5_ITER_DEC) - HDqsort(ltable->lnks, ltable->nlinks, sizeof(H5O_link_t), H5G_obj_cmp_name_dec); + HDqsort(ltable->lnks, ltable->nlinks, sizeof(H5O_link_t), H5G_link_cmp_name_dec); else HDassert(order == H5_ITER_NATIVE); } /* end if */ else { HDassert(idx_type == H5L_INDEX_CRT_ORDER); if(order == H5_ITER_INC) - HDqsort(ltable->lnks, ltable->nlinks, sizeof(H5O_link_t), H5G_obj_cmp_corder_inc); + HDqsort(ltable->lnks, ltable->nlinks, sizeof(H5O_link_t), H5G_link_cmp_corder_inc); else if(order == H5_ITER_DEC) - HDqsort(ltable->lnks, ltable->nlinks, sizeof(H5O_link_t), H5G_obj_cmp_corder_dec); + HDqsort(ltable->lnks, ltable->nlinks, sizeof(H5O_link_t), H5G_link_cmp_corder_dec); else HDassert(order == H5_ITER_NATIVE); } /* end else */ @@ -1021,7 +1021,7 @@ H5G_dense_iterate(H5F_t *f, hid_t dxpl_id, H5_iter_order_t order, hid_t gid, HERROR(H5E_SYM, H5E_CANTNEXT, "iteration operator failed"); /* Free link table information */ - if(H5G_obj_release_table(<able) < 0) + if(H5G_link_release_table(<able) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTFREE, FAIL, "unable to release link table") } /* end else */ @@ -1230,7 +1230,7 @@ H5G_dense_get_name_by_idx(H5F_t *f, hid_t dxpl_id, H5O_linfo_t *linfo, } /* end if */ /* Free link table information */ - if(H5G_obj_release_table(<able) < 0) + if(H5G_link_release_table(<able) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTFREE, FAIL, "unable to release link table") } /* end else */ @@ -1304,7 +1304,7 @@ H5G_dense_get_type_by_idx(H5F_t *f, hid_t dxpl_id, H5O_linfo_t *linfo, done: /* Release link table */ if(ltable.lnks) - if(H5G_obj_release_table(<able) < 0) + if(H5G_link_release_table(<able) < 0) HDONE_ERROR(H5E_SYM, H5E_CANTFREE, H5G_UNKNOWN, "unable to release link table") FUNC_LEAVE_NOAPI(ret_value) @@ -1531,6 +1531,9 @@ H5G_dense_delete(H5F_t *f, hid_t dxpl_id, H5O_linfo_t *linfo, hbool_t adj_link) HDassert(linfo); /* Check if we are to adjust the ref. count for all the links */ + /* (we adjust the ref. count when deleting a group and we _don't_ adjust + * the ref. count when transitioning back to compact storage) + */ if(adj_link) { H5HF_t *fheap = NULL; /* Fractal heap handle */ H5G_bt2_ud_rem_t udata; /* User data for v2 B-tree record removal */ @@ -1548,7 +1551,7 @@ H5G_dense_delete(H5F_t *f, hid_t dxpl_id, H5O_linfo_t *linfo, hbool_t adj_link) udata.common.found_op = NULL; udata.common.found_op_data = NULL; udata.adj_link = TRUE; - udata.rem_from_fheap = FALSE; + udata.rem_from_fheap = FALSE; /* handled in "bulk" below by deleting entire heap */ udata.rem_from_corder_index = FALSE; udata.obj_type = NULL; |