diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2007-07-05 20:04:55 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2007-07-05 20:04:55 (GMT) |
commit | dcb74e8adbd572a5e0c5737ae9106083de8c11b7 (patch) | |
tree | 6f3da26448aad0736193d5eb5596f5d9cd205dba /src | |
parent | 21ff623bf571d49735b73f5fa23d920071d35aa7 (diff) | |
download | hdf5-dcb74e8adbd572a5e0c5737ae9106083de8c11b7.zip hdf5-dcb74e8adbd572a5e0c5737ae9106083de8c11b7.tar.gz hdf5-dcb74e8adbd572a5e0c5737ae9106083de8c11b7.tar.bz2 |
[svn-r13946] Description:
Back-port change of semantics for constant messages (to allow them to be
deleted, but not modified) from the 1.8 branch.
Tested on:
Mac OS X/32 10.4.10 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Diffstat (limited to 'src')
-rw-r--r-- | src/H5O.c | 30 |
1 files changed, 13 insertions, 17 deletions
@@ -2073,28 +2073,24 @@ H5O_remove_cb(H5O_mesg_t *mesg/*in,out*/, unsigned idx, unsigned * oh_flags_ptr, /* * Keep track of how many times we failed trying to remove constant * messages. + * (OK to remove constant messages - QAK) */ - if(mesg->flags & H5O_FLAG_CONSTANT) { - udata->nfailed++; - } /* end if */ - else { - /* Free any space referred to in the file from this message */ - if(H5O_delete_mesg(udata->f, udata->dxpl_id, mesg, udata->adj_link) < 0) - HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, H5O_ITER_ERROR, "unable to delete file space for object header message") + /* Free any space referred to in the file from this message */ + if(H5O_delete_mesg(udata->f, udata->dxpl_id, mesg, udata->adj_link) < 0) + HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, H5O_ITER_ERROR, "unable to delete file space for object header message") - /* Free any native information */ - H5O_free_mesg(mesg); + /* Free any native information */ + H5O_free_mesg(mesg); - /* Change message type to nil and zero it */ - mesg->type = H5O_MSG_NULL; - HDmemset(mesg->raw, 0, mesg->raw_size); + /* Change message type to nil and zero it */ + mesg->type = H5O_MSG_NULL; + HDmemset(mesg->raw, 0, mesg->raw_size); - /* Indicate that the message was modified */ - mesg->dirty = TRUE; + /* Indicate that the message was modified */ + mesg->dirty = TRUE; - /* Indicate that the object header was modified */ - *oh_flags_ptr = TRUE; - } /* end else */ + /* Indicate that the object header was modified */ + *oh_flags_ptr = TRUE; /* Break out now, if we've found the correct message */ if(udata->sequence != H5O_ALL) |