summaryrefslogtreecommitdiffstats
path: root/src/H5Pencdec.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/H5Pencdec.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/H5Pencdec.c')
-rw-r--r--src/H5Pencdec.c34
1 files changed, 3 insertions, 31 deletions
diff --git a/src/H5Pencdec.c b/src/H5Pencdec.c
index bd0a260..3ed150b 100644
--- a/src/H5Pencdec.c
+++ b/src/H5Pencdec.c
@@ -22,12 +22,7 @@
/* Module Setup */
/****************/
-#define H5P_PACKAGE /*suppress error about including H5Ppkg */
-
-#ifdef NOT_YET
-/* Interface initialization */
-#define H5_INTERFACE_INIT_FUNC H5P_init_encdec_interface
-#endif /* NOT_YET */
+#include "H5Pmodule.h" /* This source code file is part of the H5P module */
/***********/
@@ -82,29 +77,6 @@ typedef struct {
/*******************/
-#ifdef NOT_YET
-
-/*--------------------------------------------------------------------------
-NAME
- H5P_init_encdec_interface -- Initialize interface-specific information
-USAGE
- herr_t H5P_init_encdec_interface()
-RETURNS
- Non-negative on success/Negative on failure
-DESCRIPTION
- Initializes any interface-specific data or routines. (Just calls
- H5P_init() currently).
-
---------------------------------------------------------------------------*/
-static herr_t
-H5P_init_encdec_interface(void)
-{
- FUNC_ENTER_NOAPI_NOINIT_NOERR
-
- FUNC_LEAVE_NOAPI(H5P_init())
-} /* H5P_init_encdec_interface() */
-#endif /* NOT_YET */
-
/*-------------------------------------------------------------------------
* Function: H5P__encode_size_t
@@ -737,7 +709,7 @@ H5P__decode(const void *buf)
hid_t plist_id = -1; /* ID of new property list */
size_t value_buf_size = 0; /* Size of current value buffer */
uint8_t vers; /* Version of encoded property list */
- hid_t ret_value; /* Return value */
+ hid_t ret_value = H5I_INVALID_HID; /* Return value */
FUNC_ENTER_PACKAGE
@@ -793,7 +765,7 @@ H5P__decode(const void *buf)
HGOTO_ERROR(H5E_PLIST, H5E_CANTDECODE, FAIL, "property decoding routine failed, property: '%s'", name)
} /* end if */
else
- HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "no decode callback for property: '%s', name")
+ HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "no decode callback for property: '%s'", name)
/* Set the value for the property */
if(H5P_set(plist, name, value_buf) < 0)