diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2002-10-14 20:08:23 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2002-10-14 20:08:23 (GMT) |
commit | 1e231d3283e9124cf53d28116b80fa4f8f20697e (patch) | |
tree | 31789f7c81a5e9a84aa4fa3acf68190d986b313b /src/H5F.c | |
parent | 92cfe70bb653ff2e5fca1063723749aa6f8bdaf5 (diff) | |
download | hdf5-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.c | 16 |
1 files changed, 5 insertions, 11 deletions
@@ -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; |