diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2011-04-04 04:26:12 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2011-04-04 04:26:12 (GMT) |
commit | bd7499db1fb2c73352943c2d365c71a8cce7421b (patch) | |
tree | 4d24f041093576319f9357d5714e39398d7b7511 /src/H5Gloc.c | |
parent | 16f45fc25a3b24eab31ac846cde0851179e3d7bf (diff) | |
download | hdf5-bd7499db1fb2c73352943c2d365c71a8cce7421b.zip hdf5-bd7499db1fb2c73352943c2d365c71a8cce7421b.tar.gz hdf5-bd7499db1fb2c73352943c2d365c71a8cce7421b.tar.bz2 |
[svn-r20407] Description:
Bring r20406 from trunk to 1.8 branch:
Refactor root group routines to centralize and simplify them some.
Also patch root group's file pointer when it doesn't match the querying
file, from H5G_rootof.
Tested on:
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
(h5committested on trunk)
Diffstat (limited to 'src/H5Gloc.c')
-rw-r--r-- | src/H5Gloc.c | 52 |
1 files changed, 1 insertions, 51 deletions
diff --git a/src/H5Gloc.c b/src/H5Gloc.c index cfa4f44..23db587 100644 --- a/src/H5Gloc.c +++ b/src/H5Gloc.c @@ -173,7 +173,7 @@ H5G_loc(hid_t loc_id, H5G_loc_t *loc) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid file ID") /* Construct a group location for root group of the file */ - if(H5G_loc_root(f, loc) < 0) + if(H5G_root_loc(f, loc) < 0) HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "unable to create location for file") } /* end case */ break; @@ -259,56 +259,6 @@ done: /*------------------------------------------------------------------------- - * Function: H5G_loc_root - * - * Purpose: Construct a "group location" for the root group of a file - * - * Return: Success: Non-negative - * Failure: Negative - * - * Programmer: Quincey Koziol - * koziol@hdfgroup.org - * Mar 5 2007 - * - *------------------------------------------------------------------------- - */ -herr_t -H5G_loc_root(H5F_t *f, H5G_loc_t *loc) -{ - H5G_t *root_grp; /* Pointer to root group's info */ - herr_t ret_value = SUCCEED; /* Return value */ - - FUNC_ENTER_NOAPI(H5G_loc_root, FAIL) - - HDassert(f); - HDassert(loc); - - /* Retrieve the root group for the file */ - root_grp = H5G_rootof(f); - HDassert(root_grp); - - /* Build the group location for the root group */ - if(NULL == (loc->oloc = H5G_oloc(root_grp))) - HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location for root group") - if(NULL == (loc->path = H5G_nameof(root_grp))) - HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path for root group") - - /* Patch up root group's object location to reflect this file */ - /* (Since the root group info is only stored once for files which - * share an underlying low-level file) - */ - /* (but only for non-mounted files) */ - if(!H5F_is_mount(f)) { - loc->oloc->file = f; - loc->oloc->holding_file = FALSE; - } /* end if */ - -done: - FUNC_LEAVE_NOAPI(ret_value) -} /* end H5G_loc_root() */ - - -/*------------------------------------------------------------------------- * Function: H5G_loc_copy * * Purpose: Copy over information for a location |