diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 16:47:45 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 16:47:45 (GMT) |
commit | 1ba1f2f3222cbe8df0bf601929a4bffd478d7e02 (patch) | |
tree | ae51dfc33cf40432dad25a5088767115a98f195e /src/H5Eint.c | |
parent | 8eef7d295cc3dd134aef0a826f1de4287629996d (diff) | |
download | hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.zip hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.tar.gz hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.tar.bz2 |
Source formatted
Diffstat (limited to 'src/H5Eint.c')
-rw-r--r-- | src/H5Eint.c | 429 |
1 files changed, 202 insertions, 227 deletions
diff --git a/src/H5Eint.c b/src/H5Eint.c index ab378fb..18138d5 100644 --- a/src/H5Eint.c +++ b/src/H5Eint.c @@ -26,53 +26,45 @@ /* Module Setup */ /****************/ -#define H5E_PACKAGE /*suppress error about including H5Epkg */ +#define H5E_PACKAGE /*suppress error about including H5Epkg */ /* Interface initialization */ -#define H5_INTERFACE_INIT_FUNC H5E_init_int_interface - +#define H5_INTERFACE_INIT_FUNC H5E_init_int_interface /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Epkg.h" /* Error handling */ -#include "H5Iprivate.h" /* IDs */ -#include "H5MMprivate.h" /* Memory management */ - +#include "H5private.h" /* Generic Functions */ +#include "H5Epkg.h" /* Error handling */ +#include "H5Iprivate.h" /* IDs */ +#include "H5MMprivate.h" /* Memory management */ /****************/ /* Local Macros */ /****************/ - /******************/ /* Local Typedefs */ /******************/ /* Printing information */ typedef struct H5E_print_t { - FILE *stream; - H5E_cls_t cls; + FILE * stream; + H5E_cls_t cls; } H5E_print_t; - /********************/ /* Package Typedefs */ /********************/ - /********************/ /* Local Prototypes */ /********************/ #ifndef H5_NO_DEPRECATED_SYMBOLS -static herr_t H5E_walk1_cb(int n, H5E_error1_t *err_desc, - void *client_data); +static herr_t H5E_walk1_cb(int n, H5E_error1_t *err_desc, void *client_data); #endif /* H5_NO_DEPRECATED_SYMBOLS */ -static herr_t H5E_walk2_cb(unsigned n, const H5E_error2_t *err_desc, - void *client_data); -static herr_t H5E_clear_entries(H5E_t *estack, size_t nentries); - +static herr_t H5E_walk2_cb(unsigned n, const H5E_error2_t *err_desc, void *client_data); +static herr_t H5E_clear_entries(H5E_t *estack, size_t nentries); /*********************/ /* Package Variables */ @@ -85,7 +77,6 @@ static herr_t H5E_clear_entries(H5E_t *estack, size_t nentries); H5E_t H5E_stack_g[1]; #endif /* H5_HAVE_THREADSAFE */ - /*****************************/ /* Library Private Variables */ /*****************************/ @@ -100,7 +91,6 @@ hid_t H5E_ERR_CLS_g = FAIL; /* Include the automatically generated error code definitions */ #include "H5Edefin.h" - /*******************/ /* Local Variables */ /*******************/ @@ -109,12 +99,10 @@ hid_t H5E_ERR_CLS_g = FAIL; /* * variables used for MPI error reporting */ -char H5E_mpi_error_str[MPI_MAX_ERROR_STRING]; -int H5E_mpi_error_str_len; +char H5E_mpi_error_str[MPI_MAX_ERROR_STRING]; +int H5E_mpi_error_str_len; #endif /* H5_HAVE_PARALLEL */ - - /*-------------------------------------------------------------------------- NAME H5E_init_int_interface -- Initialize interface-specific information @@ -135,7 +123,6 @@ H5E_init_int_interface(void) FUNC_LEAVE_NOAPI(H5E_init()) } /* H5E_init_int_interface() */ - /*------------------------------------------------------------------------- * Function: H5E_get_msg * @@ -152,7 +139,7 @@ H5E_init_int_interface(void) ssize_t H5E_get_msg(const H5E_msg_t *msg, H5E_type_t *type, char *msg_str, size_t size) { - ssize_t len; /* Length of error message */ + ssize_t len; /* Length of error message */ FUNC_ENTER_NOAPI_NOINIT_NOERR @@ -163,14 +150,14 @@ H5E_get_msg(const H5E_msg_t *msg, H5E_type_t *type, char *msg_str, size_t size) len = (ssize_t)HDstrlen(msg->msg); /* Copy the message into the user's buffer, if given */ - if(msg_str) { - HDstrncpy(msg_str, msg->msg, MIN((size_t)(len+1), size)); - if((size_t)len >= size) - msg_str[size - 1] = '\0'; + if (msg_str) { + HDstrncpy(msg_str, msg->msg, MIN((size_t)(len + 1), size)); + if ((size_t)len >= size) + msg_str[size - 1] = '\0'; } /* end if */ /* Give the message type, if asked */ - if(type) + if (type) *type = msg->type; /* Set the return value to the full length of the message */ @@ -178,7 +165,7 @@ H5E_get_msg(const H5E_msg_t *msg, H5E_type_t *type, char *msg_str, size_t size) } /* end H5E_get_msg() */ #ifndef H5_NO_DEPRECATED_SYMBOLS - + /*------------------------------------------------------------------------- * Function: H5E_walk1_cb * @@ -215,15 +202,15 @@ H5E_get_msg(const H5E_msg_t *msg, H5E_type_t *type, char *msg_str, size_t size) static herr_t H5E_walk1_cb(int n, H5E_error1_t *err_desc, void *client_data) { - H5E_print_t *eprint = (H5E_print_t *)client_data; - FILE *stream; /* I/O stream to print output to */ - H5E_cls_t *cls_ptr; /* Pointer to error class */ - H5E_msg_t *maj_ptr; /* Pointer to major error info */ - H5E_msg_t *min_ptr; /* Pointer to minor error info */ - const char *maj_str = "No major description"; /* Major error description */ - const char *min_str = "No minor description"; /* Minor error description */ - unsigned have_desc = 1; /* Flag to indicate whether the error has a "real" description */ - herr_t ret_value = SUCCEED; + H5E_print_t *eprint = (H5E_print_t *)client_data; + FILE * stream; /* I/O stream to print output to */ + H5E_cls_t * cls_ptr; /* Pointer to error class */ + H5E_msg_t * maj_ptr; /* Pointer to major error info */ + H5E_msg_t * min_ptr; /* Pointer to minor error info */ + const char * maj_str = "No major description"; /* Major error description */ + const char * min_str = "No minor description"; /* Minor error description */ + unsigned have_desc = 1; /* Flag to indicate whether the error has a "real" description */ + herr_t ret_value = SUCCEED; FUNC_ENTER_NOAPI_NOINIT_NOERR @@ -231,7 +218,7 @@ H5E_walk1_cb(int n, H5E_error1_t *err_desc, void *client_data) HDassert(err_desc); /* If no client data was passed, output to stderr */ - if(!client_data) + if (!client_data) stream = stderr; else stream = eprint->stream; @@ -241,46 +228,46 @@ H5E_walk1_cb(int n, H5E_error1_t *err_desc, void *client_data) min_ptr = (H5E_msg_t *)H5I_object_verify(err_desc->min_num, H5I_ERROR_MSG); /* Check for bad pointer(s), but can't issue error, just leave */ - if(!maj_ptr || !min_ptr) + if (!maj_ptr || !min_ptr) HGOTO_DONE(FAIL) - if(maj_ptr->msg) + if (maj_ptr->msg) maj_str = maj_ptr->msg; - if(min_ptr->msg) + if (min_ptr->msg) min_str = min_ptr->msg; /* Get error class info */ cls_ptr = maj_ptr->cls; /* Print error class header if new class */ - if(eprint->cls.lib_name == NULL || HDstrcmp(cls_ptr->lib_name, eprint->cls.lib_name)) { + if (eprint->cls.lib_name == NULL || HDstrcmp(cls_ptr->lib_name, eprint->cls.lib_name)) { /* update to the new class information */ - if(cls_ptr->cls_name) + if (cls_ptr->cls_name) eprint->cls.cls_name = cls_ptr->cls_name; - if(cls_ptr->lib_name) + if (cls_ptr->lib_name) eprint->cls.lib_name = cls_ptr->lib_name; - if(cls_ptr->lib_vers) + if (cls_ptr->lib_vers) eprint->cls.lib_vers = cls_ptr->lib_vers; HDfprintf(stream, "%s-DIAG: Error detected in %s (%s) ", - (cls_ptr->cls_name ? cls_ptr->cls_name : "(null)"), - (cls_ptr->lib_name ? cls_ptr->lib_name : "(null)"), - (cls_ptr->lib_vers ? cls_ptr->lib_vers : "(null)")); + (cls_ptr->cls_name ? cls_ptr->cls_name : "(null)"), + (cls_ptr->lib_name ? cls_ptr->lib_name : "(null)"), + (cls_ptr->lib_vers ? cls_ptr->lib_vers : "(null)")); /* try show the process or thread id in multiple processes cases*/ #ifdef H5_HAVE_PARALLEL { int mpi_rank, mpi_initialized, mpi_finalized; - MPI_Initialized(&mpi_initialized); + MPI_Initialized(&mpi_initialized); MPI_Finalized(&mpi_finalized); - if(mpi_initialized && !mpi_finalized) { - MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); - HDfprintf(stream, "MPI-process %d", mpi_rank); - } /* end if */ + if (mpi_initialized && !mpi_finalized) { + MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); + HDfprintf(stream, "MPI-process %d", mpi_rank); + } /* end if */ else - HDfprintf(stream, "thread 0"); + HDfprintf(stream, "thread 0"); } /* end block */ #elif defined(H5_HAVE_THREADSAFE) HDfprintf(stream, "thread %lu", (unsigned long)HDpthread_self_ulong()); @@ -291,14 +278,13 @@ H5E_walk1_cb(int n, H5E_error1_t *err_desc, void *client_data) } /* end if */ /* Check for "real" error description - used to format output more nicely */ - if(err_desc->desc == NULL || HDstrlen(err_desc->desc) == 0) - have_desc=0; + if (err_desc->desc == NULL || HDstrlen(err_desc->desc) == 0) + have_desc = 0; /* Print error message */ - HDfprintf(stream, "%*s#%03d: %s line %u in %s()%s%s\n", - H5E_INDENT, "", n, err_desc->file_name, err_desc->line, - err_desc->func_name, (have_desc ? ": " : ""), - (have_desc ? err_desc->desc : "")); + HDfprintf(stream, "%*s#%03d: %s line %u in %s()%s%s\n", H5E_INDENT, "", n, err_desc->file_name, + err_desc->line, err_desc->func_name, (have_desc ? ": " : ""), + (have_desc ? err_desc->desc : "")); HDfprintf(stream, "%*smajor: %s\n", (H5E_INDENT * 2), "", maj_str); HDfprintf(stream, "%*sminor: %s\n", (H5E_INDENT * 2), "", min_str); @@ -307,7 +293,6 @@ done: } /* end H5E_walk1_cb() */ #endif /* H5_NO_DEPRECATED_SYMBOLS */ - /*------------------------------------------------------------------------- * Function: H5E_walk2_cb * @@ -342,15 +327,15 @@ done: static herr_t H5E_walk2_cb(unsigned n, const H5E_error2_t *err_desc, void *client_data) { - H5E_print_t *eprint = (H5E_print_t *)client_data; - FILE *stream; /* I/O stream to print output to */ - H5E_cls_t *cls_ptr; /* Pointer to error class */ - H5E_msg_t *maj_ptr; /* Pointer to major error info */ - H5E_msg_t *min_ptr; /* Pointer to minor error info */ - const char *maj_str = "No major description"; /* Major error description */ - const char *min_str = "No minor description"; /* Minor error description */ - unsigned have_desc = 1; /* Flag to indicate whether the error has a "real" description */ - herr_t ret_value = SUCCEED; + H5E_print_t *eprint = (H5E_print_t *)client_data; + FILE * stream; /* I/O stream to print output to */ + H5E_cls_t * cls_ptr; /* Pointer to error class */ + H5E_msg_t * maj_ptr; /* Pointer to major error info */ + H5E_msg_t * min_ptr; /* Pointer to minor error info */ + const char * maj_str = "No major description"; /* Major error description */ + const char * min_str = "No minor description"; /* Minor error description */ + unsigned have_desc = 1; /* Flag to indicate whether the error has a "real" description */ + herr_t ret_value = SUCCEED; FUNC_ENTER_NOAPI_NOINIT_NOERR @@ -358,7 +343,7 @@ H5E_walk2_cb(unsigned n, const H5E_error2_t *err_desc, void *client_data) HDassert(err_desc); /* If no client data was passed, output to stderr */ - if(!client_data) + if (!client_data) stream = stderr; else stream = eprint->stream; @@ -368,12 +353,12 @@ H5E_walk2_cb(unsigned n, const H5E_error2_t *err_desc, void *client_data) min_ptr = (H5E_msg_t *)H5I_object_verify(err_desc->min_num, H5I_ERROR_MSG); /* Check for bad pointer(s), but can't issue error, just leave */ - if(!maj_ptr || !min_ptr) + if (!maj_ptr || !min_ptr) HGOTO_DONE(FAIL) - if(maj_ptr->msg) + if (maj_ptr->msg) maj_str = maj_ptr->msg; - if(min_ptr->msg) + if (min_ptr->msg) min_str = min_ptr->msg; /* Get error class info. Don't use the class of the major or minor error because @@ -381,38 +366,38 @@ H5E_walk2_cb(unsigned n, const H5E_error2_t *err_desc, void *client_data) cls_ptr = (H5E_cls_t *)H5I_object_verify(err_desc->cls_id, H5I_ERROR_CLASS); /* Check for bad pointer(s), but can't issue error, just leave */ - if(!cls_ptr) + if (!cls_ptr) HGOTO_DONE(FAIL) /* Print error class header if new class */ - if(eprint->cls.lib_name == NULL || HDstrcmp(cls_ptr->lib_name, eprint->cls.lib_name)) { + if (eprint->cls.lib_name == NULL || HDstrcmp(cls_ptr->lib_name, eprint->cls.lib_name)) { /* update to the new class information */ - if(cls_ptr->cls_name) + if (cls_ptr->cls_name) eprint->cls.cls_name = cls_ptr->cls_name; - if(cls_ptr->lib_name) + if (cls_ptr->lib_name) eprint->cls.lib_name = cls_ptr->lib_name; - if(cls_ptr->lib_vers) + if (cls_ptr->lib_vers) eprint->cls.lib_vers = cls_ptr->lib_vers; HDfprintf(stream, "%s-DIAG: Error detected in %s (%s) ", - (cls_ptr->cls_name ? cls_ptr->cls_name : "(null)"), - (cls_ptr->lib_name ? cls_ptr->lib_name : "(null)"), - (cls_ptr->lib_vers ? cls_ptr->lib_vers : "(null)")); + (cls_ptr->cls_name ? cls_ptr->cls_name : "(null)"), + (cls_ptr->lib_name ? cls_ptr->lib_name : "(null)"), + (cls_ptr->lib_vers ? cls_ptr->lib_vers : "(null)")); /* try show the process or thread id in multiple processes cases*/ #ifdef H5_HAVE_PARALLEL { int mpi_rank, mpi_initialized, mpi_finalized; - MPI_Initialized(&mpi_initialized); + MPI_Initialized(&mpi_initialized); MPI_Finalized(&mpi_finalized); - if(mpi_initialized && !mpi_finalized) { - MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); - HDfprintf(stream, "MPI-process %d", mpi_rank); - } /* end if */ + if (mpi_initialized && !mpi_finalized) { + MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); + HDfprintf(stream, "MPI-process %d", mpi_rank); + } /* end if */ else - HDfprintf(stream, "thread 0"); + HDfprintf(stream, "thread 0"); } /* end block */ #elif defined(H5_HAVE_THREADSAFE) HDfprintf(stream, "thread %lu", (unsigned long)HDpthread_self_ulong()); @@ -423,14 +408,13 @@ H5E_walk2_cb(unsigned n, const H5E_error2_t *err_desc, void *client_data) } /* end if */ /* Check for "real" error description - used to format output more nicely */ - if(err_desc->desc == NULL || HDstrlen(err_desc->desc) == 0) + if (err_desc->desc == NULL || HDstrlen(err_desc->desc) == 0) have_desc = 0; /* Print error message */ - HDfprintf(stream, "%*s#%03u: %s line %u in %s()%s%s\n", - H5E_INDENT, "", n, err_desc->file_name, err_desc->line, - err_desc->func_name, (have_desc ? ": " : ""), - (have_desc ? err_desc->desc : "")); + HDfprintf(stream, "%*s#%03u: %s line %u in %s()%s%s\n", H5E_INDENT, "", n, err_desc->file_name, + err_desc->line, err_desc->func_name, (have_desc ? ": " : ""), + (have_desc ? err_desc->desc : "")); HDfprintf(stream, "%*smajor: %s\n", (H5E_INDENT * 2), "", maj_str); HDfprintf(stream, "%*sminor: %s\n", (H5E_INDENT * 2), "", min_str); @@ -438,7 +422,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5E_walk2_cb() */ - /*------------------------------------------------------------------------- * Function: H5E_print * @@ -458,9 +441,9 @@ done: herr_t H5E_print(const H5E_t *estack, FILE *stream, hbool_t bk_compatible) { - H5E_print_t eprint; /* Callback information to pass to H5E_walk() */ - H5E_walk_op_t walk_op; /* Error stack walking callback */ - herr_t ret_value = SUCCEED; + H5E_print_t eprint; /* Callback information to pass to H5E_walk() */ + H5E_walk_op_t walk_op; /* Error stack walking callback */ + herr_t ret_value = SUCCEED; FUNC_ENTER_NOAPI_NOINIT @@ -468,7 +451,7 @@ H5E_print(const H5E_t *estack, FILE *stream, hbool_t bk_compatible) HDassert(estack); /* If no stream was given, use stderr */ - if(!stream) + if (!stream) eprint.stream = stderr; else eprint.stream = stream; @@ -477,20 +460,20 @@ H5E_print(const H5E_t *estack, FILE *stream, hbool_t bk_compatible) HDmemset(&eprint.cls, 0, sizeof(H5E_cls_t)); /* Walk the error stack */ - if(bk_compatible) { + if (bk_compatible) { #ifndef H5_NO_DEPRECATED_SYMBOLS - walk_op.vers = 1; + walk_op.vers = 1; walk_op.u.func1 = H5E_walk1_cb; - if(H5E_walk(estack, H5E_WALK_DOWNWARD, &walk_op, (void*)&eprint) < 0) + if (H5E_walk(estack, H5E_WALK_DOWNWARD, &walk_op, (void *)&eprint) < 0) HGOTO_ERROR(H5E_ERROR, H5E_CANTLIST, FAIL, "can't walk error stack") -#else /* H5_NO_DEPRECATED_SYMBOLS */ +#else /* H5_NO_DEPRECATED_SYMBOLS */ HDassert(0 && "version 1 error stack print without deprecated symbols!"); #endif /* H5_NO_DEPRECATED_SYMBOLS */ - } /* end if */ + } /* end if */ else { - walk_op.vers = 2; + walk_op.vers = 2; walk_op.u.func2 = H5E_walk2_cb; - if(H5E_walk(estack, H5E_WALK_DOWNWARD, &walk_op, (void*)&eprint) < 0) + if (H5E_walk(estack, H5E_WALK_DOWNWARD, &walk_op, (void *)&eprint) < 0) HGOTO_ERROR(H5E_ERROR, H5E_CANTLIST, FAIL, "can't walk error stack") } /* end else */ @@ -498,7 +481,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5E_print() */ - /*------------------------------------------------------------------------- * Function: H5E_walk * @@ -530,12 +512,11 @@ done: *------------------------------------------------------------------------- */ herr_t -H5E_walk(const H5E_t *estack, H5E_direction_t direction, const H5E_walk_op_t *op, - void *client_data) +H5E_walk(const H5E_t *estack, H5E_direction_t direction, const H5E_walk_op_t *op, void *client_data) { - int i; /* Local index variable */ - herr_t status; /* Status from callback function */ - herr_t ret_value = SUCCEED; /* Return value */ + int i; /* Local index variable */ + herr_t status; /* Status from callback function */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -544,75 +525,75 @@ H5E_walk(const H5E_t *estack, H5E_direction_t direction, const H5E_walk_op_t *op HDassert(op); /* check args, but rather than failing use some default value */ - if(direction != H5E_WALK_UPWARD && direction != H5E_WALK_DOWNWARD) - direction = H5E_WALK_UPWARD; + if (direction != H5E_WALK_UPWARD && direction != H5E_WALK_DOWNWARD) + direction = H5E_WALK_UPWARD; /* Walk the stack if a callback function was given */ - if(op->vers == 1) { + if (op->vers == 1) { #ifndef H5_NO_DEPRECATED_SYMBOLS - if(op->u.func1) { + if (op->u.func1) { H5E_error1_t old_err; status = SUCCEED; - if(H5E_WALK_UPWARD == direction) { - for(i = 0; i < (int)estack->nused && status >= 0; i++) { + if (H5E_WALK_UPWARD == direction) { + for (i = 0; i < (int)estack->nused && status >= 0; i++) { /* Point to each error record on the stack and pass it to callback function.*/ - old_err.maj_num = estack->slot[i].maj_num; - old_err.min_num = estack->slot[i].min_num; + old_err.maj_num = estack->slot[i].maj_num; + old_err.min_num = estack->slot[i].min_num; old_err.func_name = estack->slot[i].func_name; old_err.file_name = estack->slot[i].file_name; - old_err.desc = estack->slot[i].desc; - old_err.line = estack->slot[i].line; + old_err.desc = estack->slot[i].desc; + old_err.line = estack->slot[i].line; status = (op->u.func1)(i, &old_err, client_data); } /* end for */ - } /* end if */ + } /* end if */ else { H5_CHECK_OVERFLOW(estack->nused - 1, size_t, int); - for(i = (int)(estack->nused - 1); i >= 0 && status >= 0; i--) { + for (i = (int)(estack->nused - 1); i >= 0 && status >= 0; i--) { /* Point to each error record on the stack and pass it to callback function.*/ - old_err.maj_num = estack->slot[i].maj_num; - old_err.min_num = estack->slot[i].min_num; + old_err.maj_num = estack->slot[i].maj_num; + old_err.min_num = estack->slot[i].min_num; old_err.func_name = estack->slot[i].func_name; old_err.file_name = estack->slot[i].file_name; - old_err.desc = estack->slot[i].desc; - old_err.line = estack->slot[i].line; + old_err.desc = estack->slot[i].desc; + old_err.line = estack->slot[i].line; status = (op->u.func1)((int)(estack->nused - (size_t)(i + 1)), &old_err, client_data); } /* end for */ - } /* end else */ + } /* end else */ - if(status < 0) + if (status < 0) HGOTO_ERROR(H5E_ERROR, H5E_CANTLIST, FAIL, "can't walk error stack") } /* end if */ -#else /* H5_NO_DEPRECATED_SYMBOLS */ +#else /* H5_NO_DEPRECATED_SYMBOLS */ HDassert(0 && "version 1 error stack walk without deprecated symbols!"); -#endif /* H5_NO_DEPRECATED_SYMBOLS */ - } /* end if */ +#endif /* H5_NO_DEPRECATED_SYMBOLS */ + } /* end if */ else { HDassert(op->vers == 2); - if(op->u.func2) { + if (op->u.func2) { status = SUCCEED; - if(H5E_WALK_UPWARD == direction) { - for(i = 0; i < (int)estack->nused && status >= 0; i++) + if (H5E_WALK_UPWARD == direction) { + for (i = 0; i < (int)estack->nused && status >= 0; i++) status = (op->u.func2)((unsigned)i, estack->slot + i, client_data); } /* end if */ else { H5_CHECK_OVERFLOW(estack->nused - 1, size_t, int); - for(i = (int)(estack->nused - 1); i >= 0 && status >= 0; i--) - status = (op->u.func2)((unsigned)(estack->nused - (size_t)(i + 1)), estack->slot + i, client_data); + for (i = (int)(estack->nused - 1); i >= 0 && status >= 0; i--) + status = (op->u.func2)((unsigned)(estack->nused - (size_t)(i + 1)), estack->slot + i, + client_data); } /* end else */ - if(status < 0) + if (status < 0) HGOTO_ERROR(H5E_ERROR, H5E_CANTLIST, FAIL, "can't walk error stack") } /* end if */ - } /* end else */ + } /* end else */ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5E_walk() */ - /*------------------------------------------------------------------------- * Function: H5E_get_auto * @@ -636,15 +617,14 @@ H5E_get_auto(const H5E_t *estack, H5E_auto_op_t *op, void **client_data) HDassert(estack); /* Retrieve the requested information */ - if(op) + if (op) *op = estack->auto_op; - if(client_data) + if (client_data) *client_data = estack->auto_data; FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5E_get_auto2() */ - /*------------------------------------------------------------------------- * Function: H5E_set_auto * @@ -676,13 +656,12 @@ H5E_set_auto(H5E_t *estack, const H5E_auto_op_t *op, void *client_data) HDassert(estack); /* Set the automatic error reporting info */ - estack->auto_op = *op; + estack->auto_op = *op; estack->auto_data = client_data; FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5E_set_auto() */ - /*------------------------------------------------------------------------- * Function: H5E_printf_stack * @@ -696,17 +675,17 @@ H5E_set_auto(H5E_t *estack, const H5E_auto_op_t *op, void *client_data) *------------------------------------------------------------------------- */ herr_t -H5E_printf_stack(H5E_t *estack, const char *file, const char *func, unsigned line, - hid_t cls_id, hid_t maj_id, hid_t min_id, const char *fmt, ...) +H5E_printf_stack(H5E_t *estack, const char *file, const char *func, unsigned line, hid_t cls_id, hid_t maj_id, + hid_t min_id, const char *fmt, ...) { - va_list ap; /* Varargs info */ + va_list ap; /* Varargs info */ #ifndef H5_HAVE_VASPRINTF - int tmp_len; /* Current size of description buffer */ - int desc_len; /* Actual length of description when formatted */ -#endif /* H5_HAVE_VASPRINTF */ - char *tmp = NULL; /* Buffer to place formatted description in */ - hbool_t va_started = FALSE; /* Whether the variable argument list is open */ - herr_t ret_value = SUCCEED; /* Return value */ + int tmp_len; /* Current size of description buffer */ + int desc_len; /* Actual length of description when formatted */ +#endif /* H5_HAVE_VASPRINTF */ + char * tmp = NULL; /* Buffer to place formatted description in */ + hbool_t va_started = FALSE; /* Whether the variable argument list is open */ + herr_t ret_value = SUCCEED; /* Return value */ /* * WARNING: We cannot call HERROR() from within this function or else we @@ -723,10 +702,10 @@ H5E_printf_stack(H5E_t *estack, const char *file, const char *func, unsigned lin HDassert(min_id > 0); HDassert(fmt); -/* Note that the variable-argument parsing for the format is identical in - * the H5Epush2() routine - correct errors and make changes in both - * places. -QAK - */ + /* Note that the variable-argument parsing for the format is identical in + * the H5Epush2() routine - correct errors and make changes in both + * places. -QAK + */ /* Start the variable-argument parsing */ va_start(ap, fmt); @@ -734,16 +713,16 @@ H5E_printf_stack(H5E_t *estack, const char *file, const char *func, unsigned lin #ifdef H5_HAVE_VASPRINTF /* Use the vasprintf() routine, since it does what we're trying to do below */ - if(HDvasprintf(&tmp, fmt, ap) < 0) + if (HDvasprintf(&tmp, fmt, ap) < 0) HGOTO_DONE(FAIL) -#else /* H5_HAVE_VASPRINTF */ +#else /* H5_HAVE_VASPRINTF */ /* Allocate space for the formatted description buffer */ tmp_len = 128; - if(NULL == (tmp = H5MM_malloc((size_t)tmp_len))) + if (NULL == (tmp = H5MM_malloc((size_t)tmp_len))) HGOTO_DONE(FAIL) /* If the description doesn't fit into the initial buffer size, allocate more space and try again */ - while((desc_len = HDvsnprintf(tmp, (size_t)tmp_len, fmt, ap)) > (tmp_len - 1)) { + while ((desc_len = HDvsnprintf(tmp, (size_t)tmp_len, fmt, ap)) > (tmp_len - 1)) { /* shutdown & restart the va_list */ va_end(ap); va_start(ap, fmt); @@ -753,25 +732,24 @@ H5E_printf_stack(H5E_t *estack, const char *file, const char *func, unsigned lin /* Allocate a description of the appropriate length */ tmp_len = desc_len + 1; - if(NULL == (tmp = H5MM_malloc((size_t)tmp_len))) + if (NULL == (tmp = H5MM_malloc((size_t)tmp_len))) HGOTO_DONE(FAIL) } /* end while */ #endif /* H5_HAVE_VASPRINTF */ /* Push the error on the stack */ - if(H5E_push_stack(estack, file, func, line, cls_id, maj_id, min_id, tmp) < 0) + if (H5E_push_stack(estack, file, func, line, cls_id, maj_id, min_id, tmp) < 0) HGOTO_DONE(FAIL) done: - if(va_started) + if (va_started) va_end(ap); - if(tmp) + if (tmp) H5MM_xfree(tmp); FUNC_LEAVE_NOAPI(ret_value) } /* end H5E_printf_stack() */ - /*------------------------------------------------------------------------- * Function: H5E_push_stack * @@ -793,10 +771,10 @@ done: *------------------------------------------------------------------------- */ herr_t -H5E_push_stack(H5E_t *estack, const char *file, const char *func, unsigned line, - hid_t cls_id, hid_t maj_id, hid_t min_id, const char *desc) +H5E_push_stack(H5E_t *estack, const char *file, const char *func, unsigned line, hid_t cls_id, hid_t maj_id, + hid_t min_id, const char *desc) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ /* * WARNING: We cannot call HERROR() from within this function or else we @@ -813,19 +791,20 @@ H5E_push_stack(H5E_t *estack, const char *file, const char *func, unsigned line, HDassert(min_id > 0); /* Check for 'default' error stack */ - if(estack == NULL) - if(NULL == (estack = H5E_get_my_stack())) /*lint !e506 !e774 Make lint 'constant value Boolean' in non-threaded case */ + if (estack == NULL) + if (NULL == (estack = H5E_get_my_stack())) /*lint !e506 !e774 Make lint 'constant value Boolean' in + non-threaded case */ HGOTO_DONE(FAIL) /* * Don't fail if arguments are bad. Instead, substitute some default * value. */ - if(!func) + if (!func) func = "Unknown_Function"; - if(!file) + if (!file) file = "Unknown_File"; - if(!desc) + if (!desc) desc = "No description given"; /* @@ -833,32 +812,31 @@ H5E_push_stack(H5E_t *estack, const char *file, const char *func, unsigned line, */ HDassert(estack); - if(estack->nused < H5E_NSLOTS) { + if (estack->nused < H5E_NSLOTS) { /* Increment the IDs to indicate that they are used in this stack */ - if(H5I_inc_ref(cls_id, FALSE) < 0) + if (H5I_inc_ref(cls_id, FALSE) < 0) HGOTO_DONE(FAIL) - estack->slot[estack->nused].cls_id = cls_id; - if(H5I_inc_ref(maj_id, FALSE) < 0) + estack->slot[estack->nused].cls_id = cls_id; + if (H5I_inc_ref(maj_id, FALSE) < 0) HGOTO_DONE(FAIL) - estack->slot[estack->nused].maj_num = maj_id; - if(H5I_inc_ref(min_id, FALSE) < 0) + estack->slot[estack->nused].maj_num = maj_id; + if (H5I_inc_ref(min_id, FALSE) < 0) HGOTO_DONE(FAIL) - estack->slot[estack->nused].min_num = min_id; - if(NULL == (estack->slot[estack->nused].func_name = H5MM_xstrdup(func))) + estack->slot[estack->nused].min_num = min_id; + if (NULL == (estack->slot[estack->nused].func_name = H5MM_xstrdup(func))) HGOTO_DONE(FAIL) - if(NULL == (estack->slot[estack->nused].file_name = H5MM_xstrdup(file))) + if (NULL == (estack->slot[estack->nused].file_name = H5MM_xstrdup(file))) HGOTO_DONE(FAIL) - estack->slot[estack->nused].line = line; - if(NULL == (estack->slot[estack->nused].desc = H5MM_xstrdup(desc))) + estack->slot[estack->nused].line = line; + if (NULL == (estack->slot[estack->nused].desc = H5MM_xstrdup(desc))) HGOTO_DONE(FAIL) - estack->nused++; + estack->nused++; } /* end if */ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5E_push_stack() */ - /*------------------------------------------------------------------------- * Function: H5E_clear_entries * @@ -875,9 +853,9 @@ done: static herr_t H5E_clear_entries(H5E_t *estack, size_t nentries) { - H5E_error2_t *error; /* Pointer to error stack entry to clear */ - unsigned u; /* Local index variable */ - herr_t ret_value=SUCCEED; /* Return value */ + H5E_error2_t *error; /* Pointer to error stack entry to clear */ + unsigned u; /* Local index variable */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -886,26 +864,26 @@ H5E_clear_entries(H5E_t *estack, size_t nentries) HDassert(estack->nused >= nentries); /* Empty the error stack from the top down */ - for(u = 0; nentries > 0; nentries--, u++) { + for (u = 0; nentries > 0; nentries--, u++) { error = &(estack->slot[estack->nused - (u + 1)]); /* Decrement the IDs to indicate that they are no longer used by this stack */ /* (In reverse order that they were incremented, so that reference counts work well) */ - if(H5I_dec_ref(error->min_num) < 0) + if (H5I_dec_ref(error->min_num) < 0) HGOTO_ERROR(H5E_ERROR, H5E_CANTDEC, FAIL, "unable to decrement ref count on error message") - if(H5I_dec_ref(error->maj_num) < 0) + if (H5I_dec_ref(error->maj_num) < 0) HGOTO_ERROR(H5E_ERROR, H5E_CANTDEC, FAIL, "unable to decrement ref count on error message") - if(H5I_dec_ref(error->cls_id) < 0) + if (H5I_dec_ref(error->cls_id) < 0) HGOTO_ERROR(H5E_ERROR, H5E_CANTDEC, FAIL, "unable to decrement ref count on error class") /* Release strings */ - if(error->func_name) - H5MM_xfree((void *)error->func_name); /* Casting away const OK - QAK */ - if(error->file_name) - H5MM_xfree((void *)error->file_name); /* Casting away const OK - QAK */ - if(error->desc) - H5MM_xfree((void *)error->desc); /* Casting away const OK - QAK */ - } /* end for */ + if (error->func_name) + H5MM_xfree((void *)error->func_name); /* Casting away const OK - QAK */ + if (error->file_name) + H5MM_xfree((void *)error->file_name); /* Casting away const OK - QAK */ + if (error->desc) + H5MM_xfree((void *)error->desc); /* Casting away const OK - QAK */ + } /* end for */ /* Decrement number of errors on stack */ estack->nused -= u; @@ -914,7 +892,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5E_clear_entries() */ - /*------------------------------------------------------------------------- * Function: H5E_clear_stack * @@ -931,26 +908,26 @@ done: herr_t H5E_clear_stack(H5E_t *estack) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) /* Check for 'default' error stack */ - if(estack == NULL) - if(NULL == (estack = H5E_get_my_stack())) /*lint !e506 !e774 Make lint 'constant value Boolean' in non-threaded case */ + if (estack == NULL) + if (NULL == (estack = H5E_get_my_stack())) /*lint !e506 !e774 Make lint 'constant value Boolean' in + non-threaded case */ HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "can't get current error stack") /* Empty the error stack */ HDassert(estack); - if(estack->nused) - if(H5E_clear_entries(estack, estack->nused) < 0) + if (estack->nused) + if (H5E_clear_entries(estack, estack->nused) < 0) HGOTO_ERROR(H5E_ERROR, H5E_CANTSET, FAIL, "can't clear error stack") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5E_clear_stack() */ - /*------------------------------------------------------------------------- * Function: H5E_pop * @@ -967,7 +944,7 @@ done: herr_t H5E_pop(H5E_t *estack, size_t count) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -976,14 +953,13 @@ H5E_pop(H5E_t *estack, size_t count) HDassert(estack->nused >= count); /* Remove the entries from the error stack */ - if(H5E_clear_entries(estack, count) < 0) + if (H5E_clear_entries(estack, count) < 0) HGOTO_ERROR(H5E_ERROR, H5E_CANTRELEASE, FAIL, "can't remove errors from stack") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5E_pop() */ - /*------------------------------------------------------------------------- * Function: H5E_dump_api_stack * @@ -1001,32 +977,31 @@ done: herr_t H5E_dump_api_stack(int is_api) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) /* Only dump the error stack during an API call */ - if(is_api) { + if (is_api) { H5E_t *estack = H5E_get_my_stack(); HDassert(estack); #ifdef H5_NO_DEPRECATED_SYMBOLS - if(estack->auto_op.func2) - (void)((estack->auto_op.func2)(H5E_DEFAULT, estack->auto_data)); -#else /* H5_NO_DEPRECATED_SYMBOLS */ - if(estack->auto_op.vers == 1) { - if(estack->auto_op.func1) + if (estack->auto_op.func2) + (void)((estack->auto_op.func2)(H5E_DEFAULT, estack->auto_data)); +#else /* H5_NO_DEPRECATED_SYMBOLS */ + if (estack->auto_op.vers == 1) { + if (estack->auto_op.func1) (void)((estack->auto_op.func1)(estack->auto_data)); } /* end if */ else { - if(estack->auto_op.func2) + if (estack->auto_op.func2) (void)((estack->auto_op.func2)(H5E_DEFAULT, estack->auto_data)); } /* end else */ #endif /* H5_NO_DEPRECATED_SYMBOLS */ - } /* end if */ + } /* end if */ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5E_dump_api_stack() */ - |