diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2010-02-18 14:32:44 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2010-02-18 14:32:44 (GMT) |
commit | c35f840bcd7df2510154d40b6135bbe37d6acfb5 (patch) | |
tree | e0181d4a84ea4282d78af08ae8a0cb70e2e2f74d /src/H5Groot.c | |
parent | 88c692130081999896f690fc2b9b0bf9c3a02d9f (diff) | |
download | hdf5-c35f840bcd7df2510154d40b6135bbe37d6acfb5.zip hdf5-c35f840bcd7df2510154d40b6135bbe37d6acfb5.tar.gz hdf5-c35f840bcd7df2510154d40b6135bbe37d6acfb5.tar.bz2 |
[svn-r18271] Description:
Clean up the file closing behavior a little more.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
(too minor to require h5committest)
Diffstat (limited to 'src/H5Groot.c')
-rw-r--r-- | src/H5Groot.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/H5Groot.c b/src/H5Groot.c index 04f0e1a..0d21bfe 100644 --- a/src/H5Groot.c +++ b/src/H5Groot.c @@ -99,6 +99,7 @@ H5G_mkroot(H5F_t *f, hid_t dxpl_id, hbool_t create_root) H5G_loc_t root_loc; /* Root location information */ htri_t stab_exists = -1; /* Whether the symbol table exists */ hbool_t sblock_dirty = FALSE; /* Whether superblock was dirtied */ + hbool_t path_init = FALSE; /* Whether path was initialized */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(H5G_mkroot, FAIL) @@ -235,6 +236,7 @@ H5G_mkroot(H5F_t *f, hid_t dxpl_id, hbool_t create_root) /* Create the path names for the root group's entry */ H5G_name_init(root_loc.path, "/"); + path_init = TRUE; f->shared->root_grp->shared->fo_count = 1; /* The only other open object should be the superblock extension, if it @@ -250,7 +252,8 @@ done: * allocated */ if(ret_value < 0) { if(f->shared->root_grp) { - H5G_name_free(root_loc.path); + if(path_init) + H5G_name_free(root_loc.path); if(f->shared->root_grp->shared) f->shared->root_grp->shared = H5FL_FREE(H5G_shared_t, f->shared->root_grp->shared); f->shared->root_grp = H5FL_FREE(H5G_t, f->shared->root_grp); |