summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVailin Choi <vchoi@hdfgroup.org>2015-03-05 05:04:06 (GMT)
committerVailin Choi <vchoi@hdfgroup.org>2015-03-05 05:04:06 (GMT)
commitf6fbd4ab36c14f854d6a63cdbced93ce2b6f801e (patch)
treecaff5f73aed0da8354f7921e827dc915f7df8cc3
parent3a1c1caa0ec4a27cd517d7f90c162df5168a8dec (diff)
downloadhdf5-f6fbd4ab36c14f854d6a63cdbced93ce2b6f801e.zip
hdf5-f6fbd4ab36c14f854d6a63cdbced93ce2b6f801e.tar.gz
hdf5-f6fbd4ab36c14f854d6a63cdbced93ce2b6f801e.tar.bz2
[svn-r26364] Bring revisions #26188 - #26195 from trunk to revise_chunks.
h5committested.
-rw-r--r--src/H5B.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/H5B.c b/src/H5B.c
index 1ca4491..303edef 100644
--- a/src/H5B.c
+++ b/src/H5B.c
@@ -1154,7 +1154,7 @@ H5B_iterate_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t add
H5UC_t *rc_shared; /* Ref-counted shared info */
H5B_shared_t *shared; /* Pointer to shared B-tree info */
H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */
- unsigned i; /* Index */
+ unsigned u; /* Local index variable */
herr_t ret_value = H5_ITER_CONT; /* Return value */
FUNC_ENTER_NOAPI_NOINIT
@@ -1181,16 +1181,14 @@ H5B_iterate_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t add
if(NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, &cache_udata, H5AC_READ)))
HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, H5_ITER_ERROR, "unable to load B-tree node")
- /* Iterate over children */
- for(i=0; i<bt->nchildren && ret_value == H5_ITER_CONT; i++) {
- if(bt->level > 0) {
- /* Keep following the left-most child until we reach a leaf node. */
- if((ret_value = H5B_iterate_helper(f, dxpl_id, type, bt->child[i], op, udata)) < 0)
- HGOTO_ERROR(H5E_BTREE, H5E_CANTLIST, H5_ITER_ERROR, "unable to list B-tree node")
- } /* end if */
+ /* Iterate over node's children */
+ for(u = 0; u < bt->nchildren && ret_value == H5_ITER_CONT; u++) {
+ if(bt->level > 0)
+ ret_value = H5B_iterate_helper(f, dxpl_id, type, bt->child[u], op, udata);
else
- if((ret_value = (*op)(f, dxpl_id, H5B_NKEY(bt, shared, i), bt->child[i], H5B_NKEY(bt, shared, i + 1), udata)) < 0)
- HGOTO_ERROR(H5E_BTREE, H5E_CANTLIST, H5_ITER_ERROR, "iterator function failed")
+ ret_value = (*op)(f, dxpl_id, H5B_NKEY(bt, shared, u), bt->child[u], H5B_NKEY(bt, shared, u + 1), udata);
+ if(ret_value < 0)
+ HERROR(H5E_BTREE, H5E_BADITER, "B-tree iteration failed");
} /* end for */
done: