diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2007-03-10 04:56:53 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2007-03-10 04:56:53 (GMT) |
commit | a127510b7b3049d0e136b677b180c8e644bdc7ea (patch) | |
tree | 0a7144ca74266b0e6eed3d86febd2968c9af7d40 /src/H5Aint.c | |
parent | 1bca28acc3294e465d22e4dee8ecfc92fbc55ebe (diff) | |
download | hdf5-a127510b7b3049d0e136b677b180c8e644bdc7ea.zip hdf5-a127510b7b3049d0e136b677b180c8e644bdc7ea.tar.gz hdf5-a127510b7b3049d0e136b677b180c8e644bdc7ea.tar.bz2 |
[svn-r13486] Description:
Move attribute tracking information out of object header prefix and
make it into a message that is inserted only when attributes are present on
the object.
Tested on:
FreeBSD/32 6.2 (duty)
Diffstat (limited to 'src/H5Aint.c')
-rw-r--r-- | src/H5Aint.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/H5Aint.c b/src/H5Aint.c index 953dda2..18b49f8 100644 --- a/src/H5Aint.c +++ b/src/H5Aint.c @@ -274,9 +274,8 @@ done: *------------------------------------------------------------------------- */ herr_t -H5A_dense_build_table(H5F_t *f, hid_t dxpl_id, haddr_t attr_fheap_addr, - haddr_t name_bt2_addr, H5_index_t idx_type, H5_iter_order_t order, - H5A_attr_table_t *atable) +H5A_dense_build_table(H5F_t *f, hid_t dxpl_id, const H5O_ainfo_t *ainfo, + H5_index_t idx_type, H5_iter_order_t order, H5A_attr_table_t *atable) { hsize_t nrec; /* # of records in v2 B-tree */ herr_t ret_value = SUCCEED; /* Return value */ @@ -285,13 +284,14 @@ H5A_dense_build_table(H5F_t *f, hid_t dxpl_id, haddr_t attr_fheap_addr, /* Sanity check */ HDassert(f); - HDassert(H5F_addr_defined(attr_fheap_addr)); - HDassert(H5F_addr_defined(name_bt2_addr)); + HDassert(ainfo); + HDassert(H5F_addr_defined(ainfo->fheap_addr)); + HDassert(H5F_addr_defined(ainfo->name_bt2_addr)); HDassert(atable); /* Retrieve # of records in "name" B-tree */ /* (should be same # of records in all indices) */ - if(H5B2_get_nrec(f, dxpl_id, H5A_BT2_NAME, name_bt2_addr, &nrec) < 0) + if(H5B2_get_nrec(f, dxpl_id, H5A_BT2_NAME, ainfo->name_bt2_addr, &nrec) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "can't retrieve # of records in index") /* Set size of table */ @@ -316,9 +316,8 @@ H5A_dense_build_table(H5F_t *f, hid_t dxpl_id, haddr_t attr_fheap_addr, attr_op.u.lib_op = H5A_dense_build_table_cb; /* Iterate over the links in the group, building a table of the link messages */ - if(H5A_dense_iterate(f, dxpl_id, (hid_t)0, attr_fheap_addr, name_bt2_addr, - HADDR_UNDEF, H5_INDEX_NAME, H5_ITER_NATIVE, (hsize_t)0, NULL, - &attr_op, &udata) < 0) + if(H5A_dense_iterate(f, dxpl_id, (hid_t)0, ainfo, H5_INDEX_NAME, + H5_ITER_NATIVE, (hsize_t)0, NULL, &attr_op, &udata) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "error building attribute table") /* Sort attribute table in correct iteration order */ |