diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2011-04-04 04:23:12 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2011-04-04 04:23:12 (GMT) |
commit | b035e980f01b19b4c25c7c1764f795e8f1939ae6 (patch) | |
tree | 99c6208e1489d76f66433260d28737027f9ad88d /src/H5Gloc.c | |
parent | e9e713869c2a59477e77faf0aa3f7545e9858e06 (diff) | |
download | hdf5-b035e980f01b19b4c25c7c1764f795e8f1939ae6.zip hdf5-b035e980f01b19b4c25c7c1764f795e8f1939ae6.tar.gz hdf5-b035e980f01b19b4c25c7c1764f795e8f1939ae6.tar.bz2 |
[svn-r20406] Description:
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:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Mac OS X/32 10.6.6 (amazon) in debug mode
Mac OS X/32 10.6.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Mac OS X/32 10.6.6 (amazon) w/parallel, in debug mode
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 |