summaryrefslogtreecommitdiffstats
path: root/src/H5Gnode.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2008-06-16 22:17:29 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2008-06-16 22:17:29 (GMT)
commitdb2c4c497abab139485dbf6797e56b1340e4577d (patch)
treef7dfb321a3643658ed24aaf776ec4c1e48bc76a3 /src/H5Gnode.c
parent55af47c47c3c0c7bc17266968f5e0e782189e819 (diff)
downloadhdf5-db2c4c497abab139485dbf6797e56b1340e4577d.zip
hdf5-db2c4c497abab139485dbf6797e56b1340e4577d.tar.gz
hdf5-db2c4c497abab139485dbf6797e56b1340e4577d.tar.bz2
[svn-r15221] Description:
Bring changes from trunk from the time the branch was created (r14280) up to the 1.8.0 release (r14525) back into the metadata journaling branch. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Diffstat (limited to 'src/H5Gnode.c')
-rw-r--r--src/H5Gnode.c52
1 files changed, 12 insertions, 40 deletions
diff --git a/src/H5Gnode.c b/src/H5Gnode.c
index 442cbf2..86585a0 100644
--- a/src/H5Gnode.c
+++ b/src/H5Gnode.c
@@ -1275,51 +1275,23 @@ H5G_node_iterate(H5F_t *f, hid_t dxpl_id, const void UNUSED *_lt_key, haddr_t ad
if(udata->skip > 0)
--udata->skip;
else {
- const char *name; /* Pointer to link name in heap */
+ H5O_link_t lnk; /* Link for entry */
+ const char *name; /* Pointer to link name in heap */
/* Get the pointer to the name of the link in the heap */
name = H5HL_offset_into(f, udata->heap, ents[u].name_off);
HDassert(name);
- /* Check which type of callback to make */
- switch(udata->lnk_op->op_type) {
-#ifndef H5_NO_DEPRECATED_SYMBOLS
- case H5G_LINK_OP_OLD:
- /* Make the old-type application callback */
- ret_value = (udata->lnk_op->u.old_op)(udata->group_id, name, udata->op_data);
- break;
-#endif /* H5_NO_DEPRECATED_SYMBOLS */
-
- case H5G_LINK_OP_APP:
- {
- H5L_info_t info; /* Link info for entry */
-
- /* Make a link info for an entry */
- if(H5G_ent_to_info(f, &info, udata->heap, &ents[u]) < 0)
- HGOTO_ERROR(H5E_SYM, H5E_CANTGET, H5_ITER_ERROR, "unable to get info for symbol table entry")
-
- /* Make the application callback */
- ret_value = (udata->lnk_op->u.app_op)(udata->group_id, name, &info, udata->op_data);
- }
- break;
-
- case H5G_LINK_OP_LIB:
- /* Call the library's callback */
- {
- H5O_link_t lnk; /* Link for entry */
-
- /* Convert the entry to a link */
- if(H5G_ent_to_link(f, &lnk, udata->heap, &ents[u], name) < 0)
- HGOTO_ERROR(H5E_SYM, H5E_CANTCONVERT, H5_ITER_ERROR, "unable to convert symbol table entry to link")
-
- /* Call the library's callback */
- ret_value = (udata->lnk_op->u.lib_op)(&lnk, udata->op_data);
-
- /* Release memory for link object */
- if(H5O_msg_reset(H5O_LINK_ID, &lnk) < 0)
- HGOTO_ERROR(H5E_SYM, H5E_CANTFREE, H5_ITER_ERROR, "unable to release link message")
- }
- } /* end switch */
+ /* Convert the entry to a link */
+ if(H5G_ent_to_link(f, &lnk, udata->heap, &ents[u], name) < 0)
+ HGOTO_ERROR(H5E_SYM, H5E_CANTCONVERT, H5_ITER_ERROR, "unable to convert symbol table entry to link")
+
+ /* Make the callback */
+ ret_value = (udata->op)(&lnk, udata->op_data);
+
+ /* Release memory for link object */
+ if(H5O_msg_reset(H5O_LINK_ID, &lnk) < 0)
+ HGOTO_ERROR(H5E_SYM, H5E_CANTFREE, H5_ITER_ERROR, "unable to release link message")
} /* end else */
/* Increment the number of entries passed through */