diff options
Diffstat (limited to 'src/H5Pint.c')
-rw-r--r-- | src/H5Pint.c | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/src/H5Pint.c b/src/H5Pint.c index 1545b6a..c71a39b 100644 --- a/src/H5Pint.c +++ b/src/H5Pint.c @@ -513,28 +513,27 @@ done: int H5P_term_interface(void) { - int nlist=0; - int nclass=0; - int n=0; + int n = 0; FUNC_ENTER_NOAPI_NOINIT_NOERR if(H5_interface_initialize_g) { + int64_t nlist, nclass; + /* Destroy HDF5 library property classes & lists */ /* Check if there are any open property list classes or lists */ nclass = H5I_nmembers(H5I_GENPROP_CLS); nlist = H5I_nmembers(H5I_GENPROP_LST); - n=nclass+nlist; /* If there are any open classes or groups, attempt to get rid of them. */ - if(n) { + if((nclass + nlist) > 0) { /* Clear the lists */ - if(nlist>0) { - H5I_clear_type(H5I_GENPROP_LST, FALSE, FALSE); + if(nlist > 0) { + (void)H5I_clear_type(H5I_GENPROP_LST, FALSE, FALSE); /* Reset the default property lists, if they've been closed */ - if(H5I_nmembers(H5I_GENPROP_LST)==0) { + if(H5I_nmembers(H5I_GENPROP_LST) == 0) { H5P_LST_FILE_CREATE_ID_g = H5P_LST_FILE_ACCESS_ID_g = H5P_LST_DATASET_CREATE_ID_g = @@ -553,11 +552,11 @@ H5P_term_interface(void) } /* end if */ /* Only attempt to close the classes after all the lists are closed */ - if(nlist==0 && nclass>0) { - H5I_clear_type(H5I_GENPROP_CLS, FALSE, FALSE); + if(nlist == 0 && nclass > 0) { + (void)H5I_clear_type(H5I_GENPROP_CLS, FALSE, FALSE); /* Reset the default property lists, if they've been closed */ - if(H5I_nmembers(H5I_GENPROP_CLS)==0) { + if(H5I_nmembers(H5I_GENPROP_CLS) == 0) { H5P_CLS_ROOT_g = H5P_CLS_OBJECT_CREATE_g = H5P_CLS_FILE_CREATE_g = @@ -595,6 +594,8 @@ H5P_term_interface(void) H5P_CLS_FILE_MOUNT_ID_g = (-1); } /* end if */ } /* end if */ + + n++; /*H5I*/ } else { /* Close public interface */ n += H5P__term_pub_interface(); @@ -602,16 +603,19 @@ H5P_term_interface(void) /* Close deprecated interface */ n += H5P__term_deprec_interface(); - H5I_dec_type_ref(H5I_GENPROP_LST); + /* Destroy the property list and class id groups */ + (void)H5I_dec_type_ref(H5I_GENPROP_LST); n++; /*H5I*/ - H5I_dec_type_ref(H5I_GENPROP_CLS); + (void)H5I_dec_type_ref(H5I_GENPROP_CLS); n++; /*H5I*/ + /* Mark closed */ H5_interface_initialize_g = 0; - } - } + } /* end else */ + } /* end if */ + FUNC_LEAVE_NOAPI(n) -} +} /* end H5P_term_interface() */ /*-------------------------------------------------------------------------- |