summaryrefslogtreecommitdiffstats
path: root/src/H5F.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2002-10-14 20:08:23 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2002-10-14 20:08:23 (GMT)
commit1e231d3283e9124cf53d28116b80fa4f8f20697e (patch)
tree31789f7c81a5e9a84aa4fa3acf68190d986b313b /src/H5F.c
parent92cfe70bb653ff2e5fca1063723749aa6f8bdaf5 (diff)
downloadhdf5-1e231d3283e9124cf53d28116b80fa4f8f20697e.zip
hdf5-1e231d3283e9124cf53d28116b80fa4f8f20697e.tar.gz
hdf5-1e231d3283e9124cf53d28116b80fa4f8f20697e.tar.bz2
[svn-r5995] Purpose:
Code cleanup/Bug Fix Description: Re-do the ID->name code again, taking into account many more weird and wonderful special cases stumbled across during the last set of test writing. Platforms tested: FreeBSD 4.6 (sleipnir) w and w/o parallel Linux 2.2.x (eirene) w/FORTRAN & C++ Solaris 2.7 (arabica) w/FORTRAN IRIX64 6.5 (modi4) w/FORTRAN & parallel
Diffstat (limited to 'src/H5F.c')
-rw-r--r--src/H5F.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/H5F.c b/src/H5F.c
index 01128bd..1455709 100644
--- a/src/H5F.c
+++ b/src/H5F.c
@@ -1195,7 +1195,7 @@ herr_t H5Fget_vfd_handle(hid_t file_id, hid_t fapl, void** file_handle)
H5F_t *file=NULL;
herr_t ret_value;
- FUNC_ENTER_API(H5Fget_vfd_handle, NULL);
+ FUNC_ENTER_API(H5Fget_vfd_handle, FAIL);
/* Check args */
assert(file_handle);
@@ -2975,7 +2975,7 @@ H5F_mount(H5G_entry_t *loc, const char *name, H5F_t *child,
/* Search the open IDs and replace names for mount operation */
/* We pass H5G_UNKNOWN as object type; search all IDs */
- if (H5G_replace_name( H5G_UNKNOWN, loc, name, NULL, OP_MOUNT )<0)
+ if (H5G_replace_name( H5G_UNKNOWN, loc, name, NULL, NULL, NULL, OP_MOUNT )<0)
HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "unable to replace name");
done:
@@ -3050,7 +3050,7 @@ H5F_unmount(H5G_entry_t *loc, const char *name)
for (i=0; i<parent->mtab.nmounts; i++) {
if (parent->mtab.child[i].file==child) {
/* Search the open IDs replace names to reflect unmount operation */
- if (H5G_replace_name( H5G_UNKNOWN, loc, name, NULL, OP_UNMOUNT )<0)
+ if (H5G_replace_name( H5G_UNKNOWN, mnt_ent, mnt_ent->user_path, NULL, NULL, NULL, OP_UNMOUNT )<0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to replace name ");
/* Unmount the child */
@@ -3164,17 +3164,11 @@ H5F_mountpoint(H5G_entry_t *find/*in,out*/)
/* Copy root info over to ENT */
if (0==cmp) {
- char *tmp_name, *tmp_old_name; /* Temporary string pointers for entry's name and "old name"*/
-
/* Get the entry for the root group in the child's file */
ent = H5G_entof(parent->mtab.child[md].file->shared->root_grp);
- /* Don't lose the name of the group when we copy the root group's entry */
- tmp_name = find->name;
- tmp_old_name = find->old_name;
- *find = *ent;
- find->name = tmp_name;
- find->old_name = tmp_old_name;
+ /* Don't lose the user path of the group when we copy the root group's entry */
+ H5G_ent_copy(find,ent,H5G_COPY_LIMITED);
/* Switch to child's file */
parent = ent->file;