diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2003-10-05 21:12:26 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2003-10-05 21:12:26 (GMT) |
commit | b8201120fc7547b912222f22a41193921a0c003a (patch) | |
tree | b9dc0099e8c7c4d5899216969be95ff20e6d394f /src/H5Oprivate.h | |
parent | b6be270f1fc2d8af09b0986e9f792f0af44a4ae6 (diff) | |
download | hdf5-b8201120fc7547b912222f22a41193921a0c003a.zip hdf5-b8201120fc7547b912222f22a41193921a0c003a.tar.gz hdf5-b8201120fc7547b912222f22a41193921a0c003a.tar.bz2 |
[svn-r7538] Purpose:
Bug fixes and code cleanup
Description:
Lots of changes here:
- Fixed bug #691 - when shared datatypes are used in attributes they
are incorrectly copied into the attribute instead of referring
the the named datatype in the file. This required bumping the
version of the attribute message. The new version of the attribute
message is only written out when a shared datatype is used in
the attribute. [Also, this format change made the size of the
attribute smaller.]
- Added information to attribute debugging routine so that shared
datatypes are displayed correctly with the h5debug tool.
- Refactored the H5O* routines to extract code that was common to
several routines into subroutines to call.
- Added 'link' method for H5O message sub-classes, which increments
the link count on shared objects when a message is created which
shares them.
- Corrected [unreported] bug where the link count was not being
decremented on the shared object when a object header message
with a reference to that object was deleted from the file.
- Reduced size of shared message from 49 bytes (which was incorrect
anyway and should have been 48 bytes) to 10 bytes, which required
bumping the version of "shared" messages.
- Refactored some of the shared datatype routines to allow for easier
queries of "committedness" internally to the library and also
added routine to easily increment/decrement the reference count of
a shared datatype.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Diffstat (limited to 'src/H5Oprivate.h')
-rw-r--r-- | src/H5Oprivate.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h index ed07b24..bcd2e5b 100644 --- a/src/H5Oprivate.h +++ b/src/H5Oprivate.h @@ -208,7 +208,7 @@ H5_DLL herr_t H5O_create(H5F_t *f, hid_t dxpl_id, size_t size_hint, H5G_entry_t *ent/*out*/); H5_DLL herr_t H5O_open(H5G_entry_t *ent); H5_DLL herr_t H5O_close(H5G_entry_t *ent); -H5_DLL int H5O_link(H5G_entry_t *ent, int adjust, hid_t dxpl_id); +H5_DLL int H5O_link(const H5G_entry_t *ent, int adjust, hid_t dxpl_id); H5_DLL int H5O_count(H5G_entry_t *ent, hid_t type_id, hid_t dxpl_id); H5_DLL htri_t H5O_exists(H5G_entry_t *ent, hid_t type_id, int sequence, hid_t dxpl_id); @@ -232,6 +232,7 @@ H5_DLL herr_t H5O_reset(hid_t type_id, void *native); H5_DLL void *H5O_free(hid_t type_id, void *mesg); H5_DLL void *H5O_copy(hid_t type_id, const void *mesg, void *dst); H5_DLL size_t H5O_raw_size(hid_t type_id, H5F_t *f, const void *mesg); +H5_DLL herr_t H5O_get_share(hid_t type_id, H5F_t *f, const void *mesg, H5O_shared_t *share); H5_DLL herr_t H5O_delete(H5F_t *f, hid_t dxpl_id, haddr_t addr); H5_DLL herr_t H5O_debug_id(hid_t type_id, H5F_t *f, hid_t dxpl_id, const void *mesg, FILE *stream, int indent, int fwidth); H5_DLL herr_t H5O_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE * stream, int indent, |