diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2009-02-12 18:47:04 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2009-02-12 18:47:04 (GMT) |
commit | fb81174e767b62bcccd45b68611255982e96d449 (patch) | |
tree | 55735c9f26b3e1720a061856cd14f497b356e16b /src/H5Ocache.c | |
parent | e52b18bf2c3ad7c2a58176617001d05e50cc3f51 (diff) | |
download | hdf5-fb81174e767b62bcccd45b68611255982e96d449.zip hdf5-fb81174e767b62bcccd45b68611255982e96d449.tar.gz hdf5-fb81174e767b62bcccd45b68611255982e96d449.tar.bz2 |
[svn-r16473] Purpose: fix problems related to 'self-referential' attributes
Description:
When an attribute was created with a datatype or dataspace that was shared in
the same object header that the attribute was in, the attribute could not be
deleted. Changes made to ensure that the attribute can be deleted both when the
attribute is in the object header and when it is shared in the heap. Object
header message decode routines now take an "open_oh" parameter to enable them to
avoid opening the same object header twice.
Tested: jam, smirom (h5committest)
Diffstat (limited to 'src/H5Ocache.c')
-rw-r--r-- | src/H5Ocache.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/H5Ocache.c b/src/H5Ocache.c index db093a4..551eca8 100644 --- a/src/H5Ocache.c +++ b/src/H5Ocache.c @@ -536,7 +536,7 @@ H5O_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void UNUSED * _udata1, unsigned ioflags = 0; /* Flags for decode routine */ /* Decode continuation message */ - cont = (H5O_cont_t *)(H5O_MSG_CONT->decode)(f, dxpl_id, 0, &ioflags, oh->mesg[curmesg].raw); + cont = (H5O_cont_t *)(H5O_MSG_CONT->decode)(f, dxpl_id, NULL, 0, &ioflags, oh->mesg[curmesg].raw); cont->chunkno = oh->nchunks; /*the next chunk to allocate */ /* Save 'native' form of continuation message */ @@ -559,7 +559,7 @@ H5O_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void UNUSED * _udata1, /* Decode ref. count message */ HDassert(oh->version > H5O_VERSION_1); - refcount = (H5O_refcount_t *)(H5O_MSG_REFCOUNT->decode)(f, dxpl_id, 0, &ioflags, oh->mesg[curmesg].raw); + refcount = (H5O_refcount_t *)(H5O_MSG_REFCOUNT->decode)(f, dxpl_id, NULL, 0, &ioflags, oh->mesg[curmesg].raw); /* Save 'native' form of ref. count message */ oh->mesg[curmesg].native = refcount; |