summaryrefslogtreecommitdiffstats
path: root/src/H5Gtraverse.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2007-05-14 04:05:28 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2007-05-14 04:05:28 (GMT)
commitd16a803257ca2b2d4c03db4c7b5649fed690bfcf (patch)
treed175b5eefe2856a146d902aea089fb9f15e014d4 /src/H5Gtraverse.c
parent00a50871bb7e561515f81cebd45c2de03b6cc9d4 (diff)
downloadhdf5-d16a803257ca2b2d4c03db4c7b5649fed690bfcf.zip
hdf5-d16a803257ca2b2d4c03db4c7b5649fed690bfcf.tar.gz
hdf5-d16a803257ca2b2d4c03db4c7b5649fed690bfcf.tar.bz2
[svn-r13750] Description:
Various minor cleanups found while working on the "unique, but sharable" ISOHM changes. Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty)
Diffstat (limited to 'src/H5Gtraverse.c')
-rw-r--r--src/H5Gtraverse.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/H5Gtraverse.c b/src/H5Gtraverse.c
index 99a9113..72a9d07 100644
--- a/src/H5Gtraverse.c
+++ b/src/H5Gtraverse.c
@@ -266,7 +266,9 @@ H5G_traverse_ud(const H5G_loc_t *grp_loc/*in,out*/, const H5O_link_t *lnk,
/* We have a copy of the location and we're holding the file open.
* Close the open ID the user passed back.
*/
- H5Idec_ref(cb_return);
+ if(H5I_dec_ref(cb_return) < 0)
+ HGOTO_ERROR(H5E_ATOM, H5E_CANTRELEASE, FAIL, "unable to close atom from UD callback")
+ cb_return = (-1);
done:
/* Close location given to callback. */
@@ -276,11 +278,11 @@ done:
if(ret_value < 0 && cb_return > 0)
if(H5I_dec_ref(cb_return) < 0)
- HDONE_ERROR(H5E_ATOM, H5E_CANTRELEASE, FAIL, "unable to close atom from UD callback")
+ HDONE_ERROR(H5E_ATOM, H5E_CANTRELEASE, FAIL, "unable to close atom from UD callback")
- /* Close the LAPL, if we copied the default one */
+ /* Close the LAPL, if we copied one */
if(lapl_id > 0 && H5I_dec_ref(lapl_id) < 0)
- HDONE_ERROR(H5E_ATOM, H5E_CANTRELEASE, FAIL, "unable to close copied link access property list")
+ HDONE_ERROR(H5E_ATOM, H5E_CANTRELEASE, FAIL, "unable to close copied link access property list")
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5G_traverse_ud() */