diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-11-22 17:14:11 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-11-22 17:14:11 (GMT) |
commit | 35ffb5bd1341b0b49096fae2554ba18046a30958 (patch) | |
tree | 76125ea42d3f13837e6fedd4c8ba950cf8456c91 /src/H5Oattr.c | |
parent | d58b9bf5b22522cd51949941f1a61949467dc354 (diff) | |
download | hdf5-35ffb5bd1341b0b49096fae2554ba18046a30958.zip hdf5-35ffb5bd1341b0b49096fae2554ba18046a30958.tar.gz hdf5-35ffb5bd1341b0b49096fae2554ba18046a30958.tar.bz2 |
[svn-r9556] Purpose:
Code cleanup & optimization
Description:
Improve ADF/CGNS benchmark by reducing the number of internal attribute
copies made during creations, opens and writes.
Added new H5O_iterate() routine for iterating through messages of a certain
type in the object header (attributes are the only message currently that can
have multiple instances in the object header).
Cross-pollinated various minor code cleanups to reduce diffs between
branches.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel
Solaris 2.7 (arabica)
Too minor to require h5committest
Diffstat (limited to 'src/H5Oattr.c')
-rw-r--r-- | src/H5Oattr.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/H5Oattr.c b/src/H5Oattr.c index 9f92c87..28da005 100644 --- a/src/H5Oattr.c +++ b/src/H5Oattr.c @@ -32,7 +32,7 @@ /* PRIVATE PROTOTYPES */ static herr_t H5O_attr_encode (H5F_t *f, uint8_t *p, const void *mesg); static void *H5O_attr_decode (H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh); -static void *H5O_attr_copy (const void *_mesg, void *_dest); +static void *H5O_attr_copy (const void *_mesg, void *_dest, unsigned update_flags); static size_t H5O_attr_size (H5F_t *f, const void *_mesg); static herr_t H5O_attr_reset (void *_mesg); static herr_t H5O_attr_free (void *mesg); @@ -368,8 +368,8 @@ done: This function copies a native (memory) attribute message, allocating the destination structure if necessary. --------------------------------------------------------------------------*/ -static void * -H5O_attr_copy(const void *_src, void *_dst) +static void * +H5O_attr_copy(const void *_src, void *_dst, unsigned update_flags) { const H5A_t *src = (const H5A_t *) _src; void *ret_value; /* Return value */ @@ -380,7 +380,7 @@ H5O_attr_copy(const void *_src, void *_dst) assert(src); /* copy */ - if (NULL == (ret_value = H5A_copy(_dst,src))) + if (NULL == (ret_value = H5A_copy(_dst,src,update_flags))) HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, NULL, "can't copy attribute"); done: @@ -481,7 +481,7 @@ H5O_attr_reset(void *_mesg) H5A_t *attr = (H5A_t *) _mesg; herr_t ret_value=SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT(H5O_attr_reset); + FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_attr_reset); if (attr) H5A_free(attr); |