summaryrefslogtreecommitdiffstats
path: root/src/H5Ostab.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2015-09-14 03:58:59 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2015-09-14 03:58:59 (GMT)
commit102337449220dfc29be1cce29147704b9c760832 (patch)
tree2f57d117f2bd934eac2768be18dcc866619f390f /src/H5Ostab.c
parentf16361d5f1dc70c344d8143270aa4aeaa867f244 (diff)
downloadhdf5-102337449220dfc29be1cce29147704b9c760832.zip
hdf5-102337449220dfc29be1cce29147704b9c760832.tar.gz
hdf5-102337449220dfc29be1cce29147704b9c760832.tar.bz2
[svn-r27768] Description:
Complete revamp of package initialization/shutdown mechanism in the library. Each package now has a single init/term routine. This new way should avoid packages being re-initialized during library shutdown and is also be _much_ more proactive about giving feedback for resource leaks internal to the library. Introduces a new "module" header file for packages in the library (e.g src/H5Fmodule.h) which sets up some necessary package configuration macros for the FUNC_ENTER/LEAVE macros. (The VFL drivers have their own slightly modified version of this header, src/H5FDdrvr_module.h) Also cleaned up a bunch of resources leaks all across the library and tests, along with addressing many warnings, as I encountered them. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel Linux/64 3.10.x (kituo) w/serial & parallel Linux/64 2.6.x (ostrich) w/serial
Diffstat (limited to 'src/H5Ostab.c')
-rw-r--r--src/H5Ostab.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/H5Ostab.c b/src/H5Ostab.c
index 133a3e2..bb39e58 100644
--- a/src/H5Ostab.c
+++ b/src/H5Ostab.c
@@ -24,8 +24,9 @@
*-------------------------------------------------------------------------
*/
-#define H5G_PACKAGE /*suppress error about including H5Gpkg */
-#define H5O_PACKAGE /*suppress error about including H5Opkg */
+#define H5G_FRIEND /*suppress error about including H5Gpkg */
+#include "H5Omodule.h" /* This source code file is part of the H5O module */
+
#include "H5private.h" /* Generic Functions */
#include "H5Eprivate.h" /* Error handling */
@@ -101,7 +102,7 @@ H5O_stab_decode(H5F_t *f, hid_t H5_ATTR_UNUSED dxpl_id, H5O_t H5_ATTR_UNUSED *op
unsigned H5_ATTR_UNUSED mesg_flags, unsigned H5_ATTR_UNUSED *ioflags, const uint8_t *p)
{
H5O_stab_t *stab = NULL;
- void *ret_value; /* Return value */
+ void *ret_value = NULL; /* Return value */
FUNC_ENTER_NOAPI_NOINIT
@@ -180,9 +181,9 @@ H5O_stab_encode(H5F_t *f, hbool_t H5_ATTR_UNUSED disable_shared, uint8_t *p, con
static void *
H5O_stab_copy(const void *_mesg, void *_dest)
{
- const H5O_stab_t *stab = (const H5O_stab_t *) _mesg;
- H5O_stab_t *dest = (H5O_stab_t *) _dest;
- void *ret_value; /* Return value */
+ const H5O_stab_t *stab = (const H5O_stab_t *) _mesg;
+ H5O_stab_t *dest = (H5O_stab_t *) _dest;
+ void *ret_value = NULL; /* Return value */
FUNC_ENTER_NOAPI_NOINIT
@@ -222,7 +223,7 @@ done:
static size_t
H5O_stab_size(const H5F_t *f, hbool_t H5_ATTR_UNUSED disable_shared, const void H5_ATTR_UNUSED *_mesg)
{
- size_t ret_value; /* Return value */
+ size_t ret_value = 0; /* Return value */
FUNC_ENTER_NOAPI_NOINIT_NOERR
@@ -314,8 +315,8 @@ H5O_stab_copy_file(H5F_t *file_src, void *native_src, H5F_t *file_dst,
H5O_stab_t *stab_src = (H5O_stab_t *) native_src;
H5O_stab_t *stab_dst = NULL;
H5G_copy_file_ud_t *udata = (H5G_copy_file_ud_t *)_udata;
- size_t size_hint; /* Local heap initial size */
- void *ret_value; /* Return value */
+ size_t size_hint; /* Local heap initial size */
+ void *ret_value = NULL; /* Return value */
FUNC_ENTER_NOAPI_NOINIT