summaryrefslogtreecommitdiffstats
path: root/src/H5I.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1999-04-02 13:59:10 (GMT)
committerRobb Matzke <matzke@llnl.gov>1999-04-02 13:59:10 (GMT)
commit5e319027652b1187c509953f0f9bb80269244c51 (patch)
treee3d34f6995907a603a9b99363b1b26b73af8cf03 /src/H5I.c
parentddb367a33552e0d5ace738330322cae567b26783 (diff)
downloadhdf5-5e319027652b1187c509953f0f9bb80269244c51.zip
hdf5-5e319027652b1187c509953f0f9bb80269244c51.tar.gz
hdf5-5e319027652b1187c509953f0f9bb80269244c51.tar.bz2
[svn-r1171] Changes since 19990330
---------------------- ./src/H5A.c ./src/H5D.c The `bkg' buffers are zeroed before calling the type conversion function. This fixes a problem where reading a file compound data structure into memory results in garbage between the members. ./src/H5I.c Fixed H5I_clear_group() so it removes entries even when a free callback is not registered. This fixes fixes an `infinite loop closing library' warning message. ./src/H5.c Added ellipses to the end of the infinite loop message.
Diffstat (limited to 'src/H5I.c')
-rw-r--r--src/H5I.c30
1 files changed, 14 insertions, 16 deletions
diff --git a/src/H5I.c b/src/H5I.c
index 75bb5c9..b7e73b5 100644
--- a/src/H5I.c
+++ b/src/H5I.c
@@ -403,26 +403,24 @@ H5I_clear_group(H5I_type_t grp)
* counts. Ignore the return value from from the free method and remove
* object from group regardless.
*/
- if (grp_ptr->free_func) {
- for (i=0; i<grp_ptr->hash_size; i++) {
- for (cur=grp_ptr->id_list[i]; cur; cur=next) {
- /* Free the object regardless of reference count */
- if ((grp_ptr->free_func)(cur->obj_ptr)<0) {
+ for (i=0; i<grp_ptr->hash_size; i++) {
+ for (cur=grp_ptr->id_list[i]; cur; cur=next) {
+ /* Free the object regardless of reference count */
+ if (grp_ptr->free_func && (grp_ptr->free_func)(cur->obj_ptr)<0) {
#if H5I_DEBUG
- if (H5DEBUG(I)) {
- fprintf(H5DEBUG(I), "H5I: free grp=%d obj=0x%08lx "
- "failure ignored\n", (int)grp,
- (unsigned long)(cur->obj_ptr));
- }
-#endif /*H5I_DEBUG*/
+ if (H5DEBUG(I)) {
+ fprintf(H5DEBUG(I), "H5I: free grp=%d obj=0x%08lx "
+ "failure ignored\n", (int)grp,
+ (unsigned long)(cur->obj_ptr));
}
-
- /* Add ID struct to free list */
- next = cur->next;
- H5I_release_id_node(cur);
+#endif /*H5I_DEBUG*/
}
- grp_ptr->id_list[i]=NULL;
+
+ /* Add ID struct to free list */
+ next = cur->next;
+ H5I_release_id_node(cur);
}
+ grp_ptr->id_list[i]=NULL;
}
done: