diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-06-23 15:36:35 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-06-23 15:36:35 (GMT) |
commit | 7c3df64cc4742c0316ca81aeef67bd95a5737c70 (patch) | |
tree | f6aa023c661a881b2495ea0be4e745b43eea091f /src/H5R.c | |
parent | 19644d75931aaa79951830d85eda28de08f17180 (diff) | |
download | hdf5-7c3df64cc4742c0316ca81aeef67bd95a5737c70.zip hdf5-7c3df64cc4742c0316ca81aeef67bd95a5737c70.tar.gz hdf5-7c3df64cc4742c0316ca81aeef67bd95a5737c70.tar.bz2 |
[svn-r8731] Purpose:
Code cleanup & minor optimization
Description:
Re-work the way interface initialization routines are specified in the
library to avoid the overhead of checking for them in routines where there is
no interface initialization routine. This cleans up warnings with gcc 3.4,
reduces the library binary size a bit (about 2-3%) and should speedup the
library's execution slightly.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/gcc34
h5committest
Diffstat (limited to 'src/H5R.c')
-rw-r--r-- | src/H5R.c | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -14,6 +14,13 @@ #define H5F_PACKAGE /*suppress error about including H5Fpkg */ +/* Interface initialization */ +#define H5_INTERFACE_INIT_FUNC H5R_init_interface + +/* Pablo information */ +/* (Put before include files to avoid problems with inline functions) */ +#define PABLO_MASK H5R_mask + #include "H5private.h" /* Generic Functions */ #include "H5Iprivate.h" /* ID Functions */ #include "H5Dprivate.h" /* Datasets */ @@ -26,12 +33,6 @@ #include "H5Sprivate.h" /* Dataspace functions */ #include "H5Tprivate.h" /* Datatypes */ -/* Interface initialization */ -#define PABLO_MASK H5R_mask -#define INTERFACE_INIT H5R_init_interface -static int interface_initialize_g = 0; -static herr_t H5R_init_interface(void); - /* Static functions */ static herr_t H5R_create(void *ref, H5G_entry_t *loc, const char *name, H5R_type_t ref_type, H5S_t *space, hid_t dxpl_id); @@ -93,12 +94,12 @@ H5R_term_interface(void) FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5R_term_interface); - if (interface_initialize_g) { + if (H5_interface_initialize_g) { if ((n=H5I_nmembers(H5I_REFERENCE))) { H5I_clear_type(H5I_REFERENCE, FALSE); } else { H5I_dec_type_ref(H5I_REFERENCE); - interface_initialize_g = 0; + H5_interface_initialize_g = 0; n = 1; /*H5I*/ } } |