diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2011-10-13 23:10:50 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2011-10-13 23:10:50 (GMT) |
commit | 56960ac85c40c3b08989ff776d2a69c6e79a6f09 (patch) | |
tree | bc1aeb7b0a4e8f9ee1d731524d904022b4f1e2d7 /src/H5A.c | |
parent | 1406da6362e460a6dc5a3882ec0f62dca159b9a5 (diff) | |
download | hdf5-56960ac85c40c3b08989ff776d2a69c6e79a6f09.zip hdf5-56960ac85c40c3b08989ff776d2a69c6e79a6f09.tar.gz hdf5-56960ac85c40c3b08989ff776d2a69c6e79a6f09.tar.bz2 |
[svn-r21556] Purpose: Fix bug in H5Ocopy
Description:
H5Ocopy could get confused when copying a named datatype containing an
attribute which used that named datatype as its datatype. This happened
because H5Ocopy would recurse into the attribute's datatype before the object
the attribute was in was fully copied (i.e. before the "post-copy" pass).
Modified H5Ocopy to avoid recursing before the post-copy step in this case.
Required many changes, including to how non-committed shared messages are
copied.
Tested: jam, koala, heiwa (h5committest); durandal
Diffstat (limited to 'src/H5A.c')
-rw-r--r-- | src/H5A.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -451,9 +451,9 @@ H5A_create(const H5G_loc_t *loc, const char *name, const H5T_t *type, /* Check if any of the pieces should be (or are already) shared in the * SOHM table */ - if(H5SM_try_share(attr->oloc.file, dxpl_id, NULL, H5O_DTYPE_ID, attr->shared->dt, NULL) < 0) + if(H5SM_try_share(attr->oloc.file, dxpl_id, NULL, FALSE, H5O_DTYPE_ID, attr->shared->dt, NULL) < 0) HGOTO_ERROR(H5E_OHDR, H5E_BADMESG, FAIL, "trying to share datatype failed") - if(H5SM_try_share(attr->oloc.file, dxpl_id, NULL, H5O_SDSPACE_ID, attr->shared->ds, NULL) < 0) + if(H5SM_try_share(attr->oloc.file, dxpl_id, NULL, FALSE, H5O_SDSPACE_ID, attr->shared->ds, NULL) < 0) HGOTO_ERROR(H5E_OHDR, H5E_BADMESG, FAIL, "trying to share dataspace failed") /* Check whether datatype is committed & increment ref count |