diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2007-05-23 02:16:41 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2007-05-23 02:16:41 (GMT) |
commit | c04a55d65e694b7c3e36813f48c24d43118f8e87 (patch) | |
tree | 545de5a9735eab1e44964c20c979565f0fa040d9 /src/H5Gcompact.c | |
parent | 2232cf942df7b81ce44888a33e91fbe7077a1f6b (diff) | |
download | hdf5-c04a55d65e694b7c3e36813f48c24d43118f8e87.zip hdf5-c04a55d65e694b7c3e36813f48c24d43118f8e87.tar.gz hdf5-c04a55d65e694b7c3e36813f48c24d43118f8e87.tar.bz2 |
[svn-r13796] Description:
Clean up ISOHM code further and get rid of several non-optimal ways
of working with object headers.
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 10.4.9 (amazon)
Diffstat (limited to 'src/H5Gcompact.c')
-rw-r--r-- | src/H5Gcompact.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/H5Gcompact.c b/src/H5Gcompact.c index 90ac2d0..68d5ac0 100644 --- a/src/H5Gcompact.c +++ b/src/H5Gcompact.c @@ -142,6 +142,7 @@ H5G_compact_build_table(const H5O_loc_t *oloc, hid_t dxpl_id, const H5O_linfo_t /* Allocate space for the table entries */ if(ltable->nlinks > 0) { H5G_iter_bt_t udata; /* User data for iteration callback */ + H5O_mesg_operator_t op; /* Message operator */ /* Allocate the link table */ if((ltable->lnks = H5MM_malloc(sizeof(H5O_link_t) * ltable->nlinks)) == NULL) @@ -152,7 +153,9 @@ H5G_compact_build_table(const H5O_loc_t *oloc, hid_t dxpl_id, const H5O_linfo_t udata.curr_lnk = 0; /* Iterate through the link messages, adding them to the table */ - if(H5O_msg_iterate(oloc, H5O_LINK_ID, H5G_compact_build_table_cb, &udata, dxpl_id) < 0) + op.op_type = H5O_MESG_OP_APP; + op.u.app_op = H5G_compact_build_table_cb; + if(H5O_msg_iterate(oloc, H5O_LINK_ID, &op, &udata, dxpl_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "error iterating over link messages") /* Sort link table in correct iteration order */ @@ -565,6 +568,7 @@ H5G_compact_lookup(H5O_loc_t *oloc, const char *name, H5O_link_t *lnk, hid_t dxpl_id) { H5G_iter_lkp_t udata; /* User data for iteration callback */ + H5O_mesg_operator_t op; /* Message operator */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(H5G_compact_lookup, FAIL) @@ -579,7 +583,9 @@ H5G_compact_lookup(H5O_loc_t *oloc, const char *name, H5O_link_t *lnk, udata.found = FALSE; /* Iterate through the link messages, adding them to the table */ - if(H5O_msg_iterate(oloc, H5O_LINK_ID, H5G_compact_lookup_cb, &udata, dxpl_id) < 0) + op.op_type = H5O_MESG_OP_APP; + op.u.app_op = H5G_compact_lookup_cb; + if(H5O_msg_iterate(oloc, H5O_LINK_ID, &op, &udata, dxpl_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "error iterating over link messages") /* Check if we found the link we were looking for */ |