The H5I debug ID dump function is now always available instead

of hidden behind an H5_DEBUG_OUTPUT ifdef.
This commit is contained in:
Dana Robinson 2018-10-05 21:47:51 -07:00
parent cd69ff0181
commit 1b2c820b4b
2 changed files with 18 additions and 26 deletions

View File

@ -26,28 +26,22 @@
*/
#include "H5Imodule.h" /* This source code file is part of the H5I module */
#define H5T_FRIEND /* Suppress error about including H5Tpkg */
#include "H5private.h" /* Generic Functions */
#include "H5ACprivate.h" /* Metadata cache */
#include "H5CXprivate.h" /* API Contexts */
#include "H5Dprivate.h" /* Datasets */
#include "H5Eprivate.h" /* Error handling */
#include "H5FLprivate.h" /* Free Lists */
#include "H5Gprivate.h" /* Groups */
#include "H5Ipkg.h" /* IDs */
#include "H5MMprivate.h" /* Memory management */
#include "H5Oprivate.h" /* Object headers */
#include "H5SLprivate.h" /* Skip Lists */
#include "H5Tpkg.h" /* Datatypes */
/* Define this to compile in support for dumping ID information */
/* #define H5I_DEBUG_OUTPUT */
#ifndef H5I_DEBUG_OUTPUT
#include "H5Gprivate.h" /* Groups */
#else /* H5I_DEBUG_OUTPUT */
#define H5G_FRIEND /* Suppress error about including H5Gpkg */
#include "H5Gpkg.h" /* Groups */
#include "H5Dprivate.h" /* Datasets */
#include "H5Tprivate.h" /* Datatypes */
#endif /* H5I_DEBUG_OUTPUT */
/* Local Macros */
@ -129,10 +123,7 @@ static int H5I__get_type_ref(H5I_type_t type);
static int H5I__search_cb(void *obj, hid_t id, void *_udata);
static H5I_id_info_t *H5I__find_id(hid_t id);
static hid_t H5I__get_file_id(hid_t obj_id, H5I_type_t id_type);
#ifdef H5I_DEBUG_OUTPUT
static int H5I__debug_cb(void *_item, void *_key, void *_udata);
static herr_t H5I__debug(H5I_type_t type);
#endif /* H5I_DEBUG_OUTPUT */
static int H5I__id_dump_cb(void *_item, void *_key, void *_udata);
/*-------------------------------------------------------------------------
@ -2110,10 +2101,9 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5I__get_file_id() */
#ifdef H5I_DEBUG_OUTPUT
/*-------------------------------------------------------------------------
* Function: H5I__debug_cb
* Function: H5I__id_dump_cb
*
* Purpose: Dump the contents of an ID to stderr for debugging.
*
@ -2122,7 +2112,7 @@ done:
*-------------------------------------------------------------------------
*/
static int
H5I__debug_cb(void *_item, void H5_ATTR_UNUSED *_key, void *_udata)
H5I__id_dump_cb(void *_item, void H5_ATTR_UNUSED *_key, void *_udata)
{
H5I_id_info_t *item = (H5I_id_info_t *)_item; /* Pointer to the ID node */
H5I_type_t type = *(H5I_type_t *)_udata; /* User data */
@ -2176,11 +2166,11 @@ H5I__debug_cb(void *_item, void H5_ATTR_UNUSED *_key, void *_udata)
}
FUNC_LEAVE_NOAPI(H5_ITER_CONT)
} /* end H5I__debug_cb() */
} /* end H5I__id_dump_cb() */
/*-------------------------------------------------------------------------
* Function: H5I__debug
* Function: H5I_dump_ids_for_type
*
* Purpose: Dump the contents of a type to stderr for debugging.
*
@ -2188,12 +2178,12 @@ H5I__debug_cb(void *_item, void H5_ATTR_UNUSED *_key, void *_udata)
*
*-------------------------------------------------------------------------
*/
static herr_t
H5I__debug(H5I_type_t type)
herr_t
H5I_dump_ids_for_type(H5I_type_t type)
{
H5I_id_type_t *type_ptr;
H5I_id_type_t *type_ptr = NULL;
FUNC_ENTER_STATIC_NOERR
FUNC_ENTER_NOAPI_NOERR
HDfprintf(stderr, "Dumping ID type %d\n", (int)type);
type_ptr = H5I_id_type_list_g[type];
@ -2206,9 +2196,8 @@ H5I__debug(H5I_type_t type)
/* List */
HDfprintf(stderr, " List:\n");
H5SL_iterate(type_ptr->ids, H5I__debug_cb, &type);
H5SL_iterate(type_ptr->ids, H5I__id_dump_cb, &type);
FUNC_LEAVE_NOAPI(SUCCEED)
} /* end H5I__debug() */
#endif /* H5I_DEBUG_OUTPUT */
} /* end H5I_dump_ids_for_type() */

View File

@ -81,5 +81,8 @@ H5_DLL int H5I_dec_app_ref(hid_t id);
H5_DLL int H5I_dec_app_ref_always_close(hid_t id);
H5_DLL int H5I_dec_type_ref(H5I_type_t type);
/* Debugging functions */
H5_DLL herr_t H5I_dump_ids_for_type(H5I_type_t type);
#endif /* _H5Iprivate_H */