diff --git a/.gitattributes b/.gitattributes index e05abd7..66d0215 100644 --- a/.gitattributes +++ b/.gitattributes @@ -487,6 +487,7 @@ src/include/h5core/h5_hdf5.h -text src/include/h5core/h5_maps.h -text src/include/h5core/h5_openclose.h -text src/include/h5core/h5_readwrite.h -text +src/include/h5core/h5_syscall.h -text src/include/h5core/h5_types.h -text src/include/h5core/h5b_attribs.h -text src/include/h5core/h5b_model.h -text diff --git a/src/C/H5.c b/src/C/H5.c index 52173c8..3f6aeef 100644 --- a/src/C/H5.c +++ b/src/C/H5.c @@ -64,8 +64,9 @@ h5_err_t H5CloseFile ( h5_file_t* const f /*!< file handle */ ) { - H5_ENTER_API (f, __func__); - return h5_close_file (f); + H5_API_ENTER; + h5_err_t h5err = h5_close_file (f); + H5_API_RETURN (h5err); } /*! @@ -79,8 +80,9 @@ h5_err_t H5CheckFile ( h5_file_t* const f /*!< file handle */ ) { - H5_ENTER_API (f, __func__); - return h5_check_filehandle (f); + H5_API_ENTER; + h5_err_t h5err = h5_check_filehandle (f); + H5_API_RETURN (h5err); } /*! @@ -99,9 +101,9 @@ H5SetStepNameFormat ( const char* name, /*!< Prefix */ const h5_int64_t width /*!< Width of the number */ ) { - H5_ENTER_API (f, __func__); - - return h5_set_stepname_fmt (f, name, width); + H5_API_ENTER; + h5_err_t h5err = h5_set_stepname_fmt (f, name, width); + H5_API_RETURN (h5err); } /*! @@ -119,9 +121,9 @@ H5GetStepNameFormat ( const h5_size_t l_name, /*!< length of buffer name */ int* width /*!< OUT: Width of the number */ ) { - H5_ENTER_API (f, __func__); - - return h5_get_stepname_fmt (f, name, l_name, width); + H5_API_ENTER; + h5_err_t h5err = h5_get_stepname_fmt (f, name, l_name, width); + H5_API_RETURN (h5err); } /*! @@ -137,8 +139,9 @@ H5SetStep ( const h5_id_t step /*!< [in] Step to set. */ ) { - H5_ENTER_API (f, __func__); - return h5_set_step (f, step); + H5_API_ENTER; + h5_err_t h5err = h5_set_step (f, step); + H5_API_RETURN (h5err); } /*! @@ -153,8 +156,9 @@ H5GetStep ( h5_file_t* const f /*!< Handle to open file */ ) { - H5_ENTER_API (f, __func__); - return h5_get_step (f); + H5_API_ENTER; + h5_id_t id = h5_get_step (f); + H5_API_RETURN (id); } /*! @@ -171,8 +175,9 @@ int H5GetNumProcs ( h5_file_t* const f ) { - H5_ENTER_API (f, __func__); - return h5_get_num_procs(f); + H5_API_ENTER; + int nprocs = h5_get_num_procs(f); + H5_API_RETURN (nprocs); } /*! @@ -192,10 +197,9 @@ h5_ssize_t H5GetNumSteps ( h5_file_t* const f ) { - - H5_ENTER_API (f, __func__); - - return h5_get_num_steps(f); + H5_API_ENTER; + h5_ssize_t nsteps = h5_get_num_steps(f); + H5_API_RETURN (nsteps); } /*! @@ -213,10 +217,9 @@ H5HasStep ( h5_file_t* const f, h5_id_t stepno ) { - - H5_ENTER_API (f, __func__); - - return h5_has_step (f, stepno); + H5_API_ENTER; + h5_err_t h5err = h5_has_step (f, stepno); + H5_API_RETURN (h5err); } /*! @@ -230,10 +233,9 @@ h5_err_t H5StartTraverseSteps ( h5_file_t* const f /*!< Handle to open file */ ) { - - H5_ENTER_API (f, __func__); - - return h5_start_traverse_steps (f); + H5_API_ENTER; + h5_err_t h5err = h5_start_traverse_steps (f); + H5_API_RETURN (h5err); } /*! @@ -247,10 +249,9 @@ h5_err_t H5TraverseSteps ( h5_file_t* const f /*!< Handle to open file */ ) { - - H5_ENTER_API (f, __func__); - - return h5_traverse_steps (f); + H5_API_ENTER; + h5_err_t h5err = h5_traverse_steps (f); + H5_API_RETURN (h5err); } /*! @@ -275,10 +276,9 @@ H5SetThrottle ( h5_file_t* f, int factor ) { - - H5_ENTER_API( f, __func__ ); - - return h5_set_throttle( f, factor ); + H5_API_ENTER( f, __func__ ); + h5_err_t h5err = h5_set_throttle( f, factor ); + H5_API_RETURN (h5err); } #endif // PARALLEL_IO diff --git a/src/C/H5Block.c b/src/C/H5Block.c index 6e06d8d..4711f8a 100644 --- a/src/C/H5Block.c +++ b/src/C/H5Block.c @@ -72,10 +72,9 @@ h5_int64_t H5Block3dHasView ( h5_file_t *const f /*!< IN: File handle */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_3d_has_view(f); + H5_API_ENTER; + h5_int64_t retval = h5b_3d_has_view(f); + H5_API_RETURN (retval); } /*! @@ -101,10 +100,9 @@ H5Block3dSetView ( const h5_int64_t k_start, /*!< IN: start index of \c k */ const h5_int64_t k_end /*!< IN: end index of \c k */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_3d_set_view(f, i_start, i_end, j_start, j_end, k_start, k_end); + H5_API_ENTER; + h5_err_t h5err = h5b_3d_set_view(f, i_start, i_end, j_start, j_end, k_start, k_end); + H5_API_RETURN (h5err); } /*! @@ -124,10 +122,9 @@ H5Block3dGetView ( h5_size_t *k_start, /*!< OUT: start index of \c k */ h5_size_t *k_end /*!< OUT: end index of \c k */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_3d_get_view(f, i_start, i_end, j_start, j_end, k_start, k_end); + H5_API_ENTER; + h5_err_t h5err = h5b_3d_get_view(f, i_start, i_end, j_start, j_end, k_start, k_end); + H5_API_RETURN (h5err); } /*! @@ -147,10 +144,9 @@ H5Block3dGetReducedView ( h5_size_t *const k_start, /*!< OUT: start index of \c j */ h5_size_t *const k_end /*!< OUT: end index of \c j */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_3d_get_reduced_view(f, i_start, i_end, j_start, j_end, k_start, k_end); + H5_API_ENTER; + h5_err_t h5err = h5b_3d_get_reduced_view(f, i_start, i_end, j_start, j_end, k_start, k_end); + H5_API_RETURN (h5err); } /*! @@ -168,10 +164,9 @@ H5Block3dSetChunk ( const h5_size_t j, /*!< IN: size of \c j */ const h5_size_t k /*!< IN: size of \c k */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_3d_set_chunk(f, i, j, k); + H5_API_ENTER; + h5_err_t h5err = h5b_3d_set_chunk(f, i, j, k); + H5_API_RETURN (h5err); } /*! @@ -189,10 +184,9 @@ H5Block3dGetChunk ( h5_size_t *const j, /*!< OUT: size of \c j */ h5_size_t *const k /*!< OUT: size of \c k */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_3d_get_chunk(f, field_name, i, j, k); + H5_API_ENTER; + h5_err_t h5err = h5b_3d_get_chunk(f, field_name, i, j, k); + H5_API_RETURN (h5err); } #ifdef PARALLEL_IO @@ -217,10 +211,9 @@ H5Block3dSetGrid ( const h5_size_t j, /*!< IN: dimension in \c j */ const h5_size_t k /*!< IN: dimension in \c k */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_3d_set_grid(f, i, j, k); + H5_API_ENTER; + h5_err_t h5err = h5b_3d_set_grid(f, i, j, k); + H5_API_RETURN (h5err); } /*! @@ -239,10 +232,9 @@ H5Block3dGetGridCoords ( h5_int64_t *j, /*!< OUT: index in \c j */ h5_int64_t *k /*!< OUT: index in \c k */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_3d_get_grid_coords(f, proc, i, j, k); + H5_API_ENTER; + h5_err_t h5err = h5b_3d_get_grid_coords(f, proc, i, j, k); + H5_API_RETURN (h5err); } /*! @@ -263,10 +255,9 @@ H5Block3dSetDims ( const h5_size_t j, /*!< IN: dimension in \c j */ const h5_size_t k /*!< IN: dimension in \c k */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_3d_set_dims(f, i, j, k); + H5_API_ENTER; + h5_err_t h5err = h5b_3d_set_dims(f, i, j, k); + H5_API_RETURN (h5err); } #endif @@ -289,10 +280,9 @@ H5Block3dSetHalo ( const h5_size_t j, /*!< IN: radius in \c j */ const h5_size_t k /*!< IN: radius in \c k */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_3d_set_halo(f, i, j, k); + H5_API_ENTER; + h5_err_t h5err = h5b_3d_set_halo(f, i, j, k); + H5_API_RETURN (h5err); } /*! @@ -306,10 +296,9 @@ h5_size_t H5BlockGetNumFields ( h5_file_t *const f /*!< IN: file handle */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_get_num_fields(f); + H5_API_ENTER; + h5_err_t h5err = h5b_get_num_fields(f); + H5_API_RETURN (h5err); } @@ -340,11 +329,10 @@ H5BlockGetFieldInfo ( h5_size_t *elem_rank, /*!< OUT: element rank */ h5_int64_t *type /*!< OUT: datatype */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_get_field_info (f, + H5_API_ENTER; + h5_err_t h5err = h5b_get_field_info (f, idx, name, len_name, field_rank, field_dims, elem_rank, type); + H5_API_RETURN (h5err); } /*! @@ -364,11 +352,10 @@ H5BlockGetFieldInfoByName ( h5_size_t *elem_rank, /*!< OUT: element rank */ h5_int64_t *type /*!< OUT: datatype */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5b_get_field_info_by_name (f, + H5_API_ENTER; + h5_err_t h5err = h5b_get_field_info_by_name (f, name, field_rank, field_dims, elem_rank, type ); + H5_API_RETURN (h5err); } /********************** reading and writing attribute ************************/ @@ -388,16 +375,15 @@ H5BlockWriteFieldAttribString ( const char *attrib_name, /*!< IN: attribute name */ const char *value /*!< IN: attribute value */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_write_field_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_write_field_attrib ( f, field_name, attrib_name, H5T_NATIVE_CHAR, value, strlen(value) + 1 ); + H5_API_RETURN (h5err); } /*! @@ -415,15 +401,14 @@ H5BlockReadFieldAttribString ( const char *attrib_name, /*!< IN: attribute name */ char *buffer /*!< OUT: attribute value */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_read_field_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_read_field_attrib ( f, field_name, attrib_name, H5_STRING_T, (void*)buffer); + H5_API_RETURN (h5err); } /*! @@ -438,10 +423,9 @@ H5BlockGetNumFieldAttribs ( h5_file_t *const f, /*myproc); - return h5t_get_num_vertices (f, -1); + h5_ssize_t num = h5t_get_num_vertices (f, -1); + H5_API_RETURN (num); } /*! @@ -94,13 +98,14 @@ H5FedGetNumVertices ( \return Number of vertices or error code. */ -h5_size_t +h5_ssize_t H5FedGetNumVerticesCnode ( h5_file_t* const f, const h5_id_t cnode ) { - H5_ENTER_API (f, __func__); - return h5t_get_num_vertices (f, cnode); + H5_API_ENTER; + h5_ssize_t num = h5t_get_num_vertices (f, cnode); + H5_API_RETURN (num); } /*! @@ -111,12 +116,13 @@ H5FedGetNumVerticesCnode ( \return Total number of vertices or error code. */ -h5_size_t +h5_ssize_t H5FedGetNumVerticesTotal ( h5_file_t* const f ) { - H5_ENTER_API (f, __func__); - return h5t_get_num_vertices (f, -1); + H5_API_ENTER; + h5_ssize_t num = h5t_get_num_vertices (f, -1); + H5_API_RETURN (num); } /*! @@ -127,14 +133,15 @@ H5FedGetNumVerticesTotal ( \return Number of elements or error code. */ -h5_size_t +h5_ssize_t H5FedGetNumElements ( h5_file_t* const f ) { - H5_ENTER_API (f, __func__); + H5_API_ENTER; // MLH: can't use field from opaque h5_file_t! - //return h5t_get_num_elems (f, f->myproc); - return h5t_get_num_elems (f, -1); + //h5_ssize_t num = h5t_get_num_elems (f, f->myproc); + h5_ssize_t num = h5t_get_num_elems (f, -1); + H5_API_RETURN (num); } /*! @@ -146,13 +153,14 @@ H5FedGetNumElements ( \return Number of elements or error code. */ -h5_size_t +h5_ssize_t H5FedGetNumElementsCnode ( h5_file_t* const f, const h5_id_t cnode ) { - H5_ENTER_API (f, __func__); - return h5t_get_num_elems (f, cnode); + H5_API_ENTER; + h5_ssize_t num = h5t_get_num_elems (f, cnode); + H5_API_RETURN (num); } /*! Returns the number of elements present in the mesh @@ -162,10 +170,11 @@ H5FedGetNumElementsCnode ( \return Number of elements or error code. */ -h5_size_t +h5_ssize_t H5FedGetNumElementsTotal ( h5_file_t* const f ) { - H5_ENTER_API (f, __func__); - return h5t_get_num_elems (f, -1); + H5_API_ENTER; + h5_ssize_t num = h5t_get_num_elems (f, -1); + H5_API_RETURN (num); } diff --git a/src/C/H5Fed_retrieve.c b/src/C/H5Fed_retrieve.c index 89f45d5..4cd31de 100644 --- a/src/C/H5Fed_retrieve.c +++ b/src/C/H5Fed_retrieve.c @@ -36,12 +36,11 @@ H5FedBeginTraverseEntities ( h5_file_t* const f, const int codim ) { + H5_API_ENTER; h5t_iterator_t* iter; - H5_ENTER_API (f, __func__); - if (h5t_create_leaf_iterator (f, &iter, codim) < 0) { - return (void*)H5_ERR; - } - return iter; + TRY2( iter = h5_calloc (f, 1, sizeof (*iter)) ); + TRY2( h5t_init_leaf_iterator (f, iter, codim) ); + H5_API_RETURN (iter); } h5t_iterator_t* @@ -49,12 +48,11 @@ H5FedBeginTraverseBoundaryFaces ( h5_file_t* const f, const int codim ) { + H5_API_ENTER; h5t_iterator_t* iter; - H5_ENTER_API (f, __func__); - if (h5t_create_boundary_face_iterator (f, &iter, codim) < 0) { - return (void*)H5_ERR; - } - return iter; + TRY2( iter = h5_calloc (f, 1, sizeof (*iter)) ); + TRY2( h5t_init_boundary_face_iterator (f, iter, codim) ); + H5_API_RETURN (iter); } /*! @@ -67,13 +65,14 @@ H5FedBeginTraverseBoundaryFaces ( \return -1, if done \return error code on error */ -h5_id_t +h5_loc_id_t H5FedTraverseEntities ( h5_file_t* const f, h5t_iterator_t* iter ) { - H5_ENTER_API (f, __func__); - return h5t_iterate_entities (f, iter); + H5_API_ENTER; + h5_loc_id_t id = h5t_iterate_entities (f, iter); + H5_API_RETURN (id); } /*! @@ -89,8 +88,9 @@ H5FedEndTraverseEntities ( h5_file_t* const f, h5t_iterator_t* iter ) { - H5_ENTER_API (f, __func__); - return h5t_release_entity_iterator (f, iter); + H5_API_ENTER; + h5_err_t h5err = h5t_release_entity_iterator (f, iter); + H5_API_RETURN (h5err); } @@ -109,8 +109,9 @@ H5FedGetVertexCoordsByIndex ( h5_id_t vertex_index, h5_float64_t P[3] ) { - H5_ENTER_API (f, __func__); - return h5t_get_vertex_coords_by_index (f, vertex_index, P); + H5_API_ENTER; + h5_err_t h5err = h5t_get_vertex_coords_by_index (f, vertex_index, P); + H5_API_RETURN (h5err); } h5_err_t @@ -119,8 +120,9 @@ H5FedGetVertexCoordsByID ( h5_id_t vertex_id, h5_float64_t P[3] ) { - H5_ENTER_API (f, __func__); - return h5t_get_vertex_coords_by_id (f, vertex_id, P); + H5_API_ENTER; + h5_err_t h5err = h5t_get_vertex_coords_by_id (f, vertex_id, P); + H5_API_RETURN (h5err); } h5_err_t @@ -129,8 +131,9 @@ H5FedGetVertexIndicesOfEdge ( h5_id_t entity_id, h5_id_t* vertex_indices ) { - H5_ENTER_API (f, __func__); - return h5t_get_vertex_indices_of_edge (f, entity_id, vertex_indices); + H5_API_ENTER; + h5_err_t h5err = h5t_get_vertex_indices_of_edge (f, entity_id, vertex_indices); + H5_API_RETURN (h5err); } h5_err_t @@ -139,8 +142,9 @@ H5FedGetVertexIndicesOfTriangle ( h5_id_t entity_id, h5_id_t* vertex_indices ) { - H5_ENTER_API (f, __func__); - return h5t_get_vertex_indices_of_triangle (f, entity_id, vertex_indices); + H5_API_ENTER; + h5_err_t h5err = h5t_get_vertex_indices_of_triangle (f, entity_id, vertex_indices); + H5_API_RETURN (h5err); } h5_err_t @@ -149,8 +153,9 @@ H5FedGetVertexIndicesOfTet ( h5_id_t entity_id, h5_id_t* vertex_indices ) { - H5_ENTER_API (f, __func__); - return h5t_get_vertex_indices_of_tet (f, entity_id, vertex_indices); + H5_API_ENTER + h5_err_t h5err = h5t_get_vertex_indices_of_tet (f, entity_id, vertex_indices); + H5_API_RETURN (h5err); } h5_err_t @@ -159,8 +164,9 @@ H5FedGetVertexIndicesOfEntity ( h5_id_t entity_id, h5_id_t* vertex_indices ) { - H5_ENTER_API (f, __func__); - return h5t_get_vertex_indices_of_entity (f, entity_id, vertex_indices); + H5_API_ENTER; + h5_err_t h5err = h5t_get_vertex_indices_of_entity (f, entity_id, vertex_indices); + H5_API_RETURN (h5err); } diff --git a/src/C/H5Fed_store.c b/src/C/H5Fed_store.c index f2c3837..e2ce45d 100644 --- a/src/C/H5Fed_store.c +++ b/src/C/H5Fed_store.c @@ -22,8 +22,9 @@ H5FedAddMesh ( h5_file_t* const f, const h5_oid_t mesh_type_id ) { - H5_ENTER_API (f, __func__); - return h5t_add_mesh (f, mesh_type_id); + H5_API_ENTER; + h5_id_t id = h5t_add_mesh (f, mesh_type_id); + H5_API_RETURN (id); } /*! @@ -46,12 +47,13 @@ H5FedAddMesh ( \c > 0 number of mesh levels */ -h5_id_t +h5t_lvl_idx_t H5FedAddLevel ( h5_file_t* const f ) { - H5_ENTER_API (f, __func__); - return h5t_add_level (f); + H5_API_ENTER; + h5t_lvl_idx_t idx = h5t_add_level (f); + H5_API_RETURN (idx); } h5_err_t @@ -59,8 +61,9 @@ H5FedBeginStoreVertices ( h5_file_t* const f, const h5_size_t num ) { - H5_ENTER_API (f, __func__); - return h5t_begin_store_vertices (f, num); + H5_API_ENTER; + h5_err_t h5err = h5t_begin_store_vertices (f, num); + H5_API_RETURN (h5err); } /*! @@ -72,29 +75,33 @@ H5FedBeginStoreVertices ( \return local vertex id on success \return errno on error */ -h5_id_t +h5_loc_idx_t H5FedStoreVertex ( h5_file_t* const f, /*!< file handle */ const h5_id_t vertex_id, /*!< id from mesher or -1 */ const h5_float64_t P[3] /*!< coordinates */ ) { - H5_ENTER_API (f, __func__); + H5_API_ENTER; + h5_loc_idx_t idx; if (h5t_get_level (f) != 0) { - return h5_error ( + idx = h5_error ( f, H5_ERR_INVAL, "Vertices can be added to level 0 only!"); + goto exit; } - return h5t_store_vertex (f, vertex_id, P); + idx = h5t_store_vertex (f, vertex_id, P); + H5_API_RETURN (idx); } h5_err_t H5FedEndStoreVertices ( h5_file_t* const f ) { - H5_ENTER_API (f, __func__); - return h5t_end_store_vertices (f); + H5_API_ENTER; + h5_err_t h5err = h5t_end_store_vertices (f); + H5_API_RETURN (h5err); } h5_err_t @@ -102,8 +109,9 @@ H5FedBeginStoreElements ( h5_file_t* const f, const h5_size_t num ) { - H5_ENTER_API (f, __func__); - return h5t_begin_store_elems (f, num); + H5_API_ENTER; + h5_err_t h5err = h5t_begin_store_elems (f, num); + H5_API_RETURN (h5err); } /*! @@ -120,50 +128,56 @@ H5FedBeginStoreElements ( \return local tetrahedron id \return \c errno on error */ -h5_id_t +h5_loc_idx_t H5FedStoreElement ( h5_file_t* const f, /*!< file handle */ const h5_id_t local_vids[] /*!< tuple with vertex id's */ ) { - H5_ENTER_API (f, __func__); + H5_API_ENTER; + h5_loc_idx_t idx; if (h5t_get_level (f) != 0) { - return h5_error ( + idx = h5_error ( f, H5_ERR_INVAL, "Elements can be added to level 0 only!"); } - return h5t_store_elem ( f, -1, local_vids ); + idx = h5t_store_elem ( f, -1, local_vids ); + H5_API_RETURN (idx); } h5_err_t H5FedEndStoreElements ( h5_file_t* const f ) { - H5_ENTER_API (f, __func__); - return h5t_end_store_elems (f); + H5_API_ENTER; + h5_err_t h5err = h5t_end_store_elems (f); + H5_API_RETURN (h5err); } h5_err_t H5FedBeginRefineElements ( h5_file_t* const f ) { - H5_ENTER_API (f, __func__); - return h5t_begin_refine_elems (f); + H5_API_ENTER; + h5_err_t h5err = h5t_begin_refine_elems (f); + H5_API_RETURN (h5err); } -h5_id_t +h5_err_t H5FedRefineElement ( h5_file_t* const f, /*!< file handle */ const h5_id_t local_eid /*!< local element id */ ) { - H5_ENTER_API (f, __func__); - return h5t_mark_entity (f, local_eid); + H5_API_ENTER; + h5_err_t h5err = h5t_mark_entity (f, local_eid); + H5_API_RETURN (h5err); } h5_err_t H5FedEndRefineElements ( h5_file_t* const f ) { - H5_ENTER_API (f, __func__); - return h5t_end_refine_elems (f); + H5_API_ENTER; + h5_err_t h5err = h5t_end_refine_elems (f); + H5_API_RETURN (h5err); } diff --git a/src/C/H5Fed_tags.c b/src/C/H5Fed_tags.c index 70e10b4..d6f2e93 100644 --- a/src/C/H5Fed_tags.c +++ b/src/C/H5Fed_tags.c @@ -1,5 +1,5 @@ /* - Copyright 2007-2009 + Copyright 2007-2011 Paul Scherrer Institut, Villigen, Switzerland; Achim Gsell All rights reserved. @@ -29,8 +29,9 @@ H5FedAddMTagset ( char* name, h5_id_t type ) { - H5_ENTER_API (f, __func__); - return h5t_add_mtagset (f, name, type); + H5_API_ENTER; + h5_err_t h5err = h5t_add_mtagset (f, name, type); + H5_API_RETURN (h5err); } /*! @@ -46,8 +47,9 @@ H5FedRemoveMTagset ( h5_file_t* const f, char name[] ) { - H5_ENTER_API (f, __func__); - return h5t_remove_mtagset (f, name ); + H5_API_ENTER; + h5_err_t h5err = h5t_remove_mtagset (f, name ); + H5_API_RETURN (h5err); } /*! @@ -58,13 +60,14 @@ H5FedRemoveMTagset ( \return Number of tagsets or error code */ -h5_size_t +h5_ssize_t H5FedGetMTagsets ( h5_file_t* const f, char** names[] ) { - H5_ENTER_API (f, __func__); - return h5t_get_mtagsets (f, names); + H5_API_ENTER; + h5_ssize_t num = h5t_get_mtagsets (f, names); + H5_API_RETURN (num); } /*! @@ -80,8 +83,9 @@ H5FedGetTypeOfMTagset ( h5_file_t* const f, char name[] ) { - H5_ENTER_API (f, __func__); - return h5t_get_mtagset_type_by_name (f, name); + H5_API_ENTER; + h5_id_t id = h5t_get_mtagset_type_by_name (f, name); + H5_API_RETURN (id); } /*! @@ -103,8 +107,9 @@ H5FedSetMTag ( const size_t dims, void* val ) { - H5_ENTER_API (f, __func__); - return h5t_set_mtag_by_name (f, name, id, dims, val); + H5_API_ENTER; + h5_err_t h5err = h5t_set_mtag_by_name (f, name, id, dims, val); + H5_API_RETURN (h5err); } /*! @@ -126,8 +131,9 @@ H5FedGetMTag ( size_t* dim, void* vals ) { - H5_ENTER_API (f, __func__); - return h5t_get_mtag_by_name (f, name, id, dim, vals); + H5_API_ENTER; + h5_err_t h5err = h5t_get_mtag_by_name (f, name, id, dim, vals); + H5_API_RETURN (h5err); } /*! @@ -143,6 +149,7 @@ H5FedRemoveMTag ( const char name[], const h5_id_t id ) { - H5_ENTER_API (f, __func__); - return h5t_remove_mtag_by_name (f, name, id); + H5_API_ENTER; + h5_err_t h5err = h5t_remove_mtag_by_name (f, name, id); + H5_API_RETURN (h5err); } diff --git a/src/C/H5Part.c b/src/C/H5Part.c index 3069457..e2429f5 100644 --- a/src/C/H5Part.c +++ b/src/C/H5Part.c @@ -49,11 +49,10 @@ H5PartSetNumParticles ( h5_file_t *f, /*!< [in] Handle to open file */ h5_size_t nparticles /*!< [in] Number of particles */ ) { - - H5_ENTER_API( f, __func__ ); - + H5_API_ENTER; h5_size_t stride = 1; - return h5u_set_num_particles( f, nparticles, stride ); + h5_err_t h5err = h5u_set_num_particles( f, nparticles, stride ); + H5_API_RETURN (h5err); } /*! @@ -89,10 +88,9 @@ H5PartSetNumParticlesStrided ( h5_size_t nparticles, /*!< [in] Number of particles */ h5_size_t stride /*!< [in] Stride value (e.g. number of fields in the particle array) */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_set_num_particles( f, nparticles, stride ); + H5_API_ENTER; + h5_err_t h5err = h5u_set_num_particles( f, nparticles, stride ); + H5_API_RETURN (h5err); } /*! @@ -113,10 +111,9 @@ H5PartSetChunk ( h5_file_t *f, h5_size_t size ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_set_chunk( f, size ); + H5_API_ENTER; + h5_err_t h5err = h5u_set_chunk( f, size ); + H5_API_RETURN (h5err); } /*! @@ -151,10 +148,9 @@ H5PartWriteDataFloat64 ( const char *name, /*!< [in] Name to associate array with */ const h5_float64_t *data /*!< [in] Array to commit to disk */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_write_data( f, name, (void*)data, H5T_NATIVE_DOUBLE ); + H5_API_ENTER; + h5_err_t h5err = h5u_write_data( f, name, (void*)data, H5T_NATIVE_DOUBLE ); + H5_API_RETURN (h5err); } /*! @@ -189,10 +185,9 @@ H5PartWriteDataFloat32 ( const char *name, /*!< [in] Name to associate array with */ const h5_float32_t *data /*!< [in] Array to commit to disk */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_write_data( f, name, (void*)data, H5T_NATIVE_FLOAT ); + H5_API_ENTER; + h5_err_t h5err = h5u_write_data( f, name, (void*)data, H5T_NATIVE_FLOAT ); + H5_API_RETURN (h5err); } /*! @@ -227,10 +222,9 @@ H5PartWriteDataInt64 ( const char *name, /*!< [in] Name to associate array with */ const h5_int64_t *data /*!< [in] Array to commit to disk */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_write_data ( f, name, (void*)data, H5T_NATIVE_INT64 ); + H5_API_ENTER; + h5_err_t h5err = h5u_write_data ( f, name, (void*)data, H5T_NATIVE_INT64 ); + H5_API_RETURN (h5err); } /*! @@ -265,10 +259,9 @@ H5PartWriteDataInt32 ( const char *name, /*!< [in] Name to associate array with */ const h5_int32_t *data /*!< [in] Array to commit to disk */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_write_data ( f, name, (void*)data, H5T_NATIVE_INT32 ); + H5_API_ENTER; + h5_err_t h5err = h5u_write_data ( f, name, (void*)data, H5T_NATIVE_INT32 ); + H5_API_RETURN (h5err); } /*! @@ -289,10 +282,9 @@ H5PartReadDataFloat64 ( const char *name, /*!< [in] Name to associate dataset with */ h5_float64_t *data /*!< [out] Array of data */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_read_data ( f, name, data, H5T_NATIVE_DOUBLE ); + H5_API_ENTER; + h5_err_t h5err = h5u_read_data ( f, name, data, H5T_NATIVE_DOUBLE ); + H5_API_RETURN (h5err); } /*! @@ -313,10 +305,9 @@ H5PartReadDataFloat32 ( const char *name, /*!< [in] Name to associate dataset with */ h5_float32_t *data /*!< [out] Array of data */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_read_data ( f, name, data, H5T_NATIVE_FLOAT ); + H5_API_ENTER; + h5_err_t h5err = h5u_read_data ( f, name, data, H5T_NATIVE_FLOAT ); + H5_API_RETURN (h5err); } /*! @@ -337,10 +328,9 @@ H5PartReadDataInt64 ( const char *name, /*!< [in] Name to associate dataset with */ h5_int64_t *data /*!< [out] Array of data */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_read_data ( f, name, data, H5T_NATIVE_INT64 ); + H5_API_ENTER; + h5_err_t h5err = h5u_read_data ( f, name, data, H5T_NATIVE_INT64 ); + H5_API_RETURN (h5err); } /*! @@ -361,10 +351,9 @@ H5PartReadDataInt32 ( const char *name, /*!< [in] Name to associate dataset with */ h5_int32_t *data /*!< [out] Array of data */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_read_data ( f, name, data, H5T_NATIVE_INT32 ); + H5_API_ENTER; + h5_err_t h5err = h5u_read_data ( f, name, data, H5T_NATIVE_INT32 ); + H5_API_RETURN (h5err); } /*! @@ -379,10 +368,9 @@ h5_ssize_t H5PartGetNumDatasets ( h5_file_t *f /*!< [in] Handle to open file */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_get_num_datasets(f); + H5_API_ENTER; + h5_err_t h5err = h5u_get_num_datasets(f); + H5_API_RETURN (h5err); } /*! @@ -402,10 +390,9 @@ H5PartGetDatasetName ( char *name, /*!< [out] Name of dataset */ const h5_size_t len /*!< [in] Size of buffer \c name */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_get_dataset_info(f, idx, name, len, NULL, NULL); + H5_API_ENTER; + h5_err_t h5err = h5u_get_dataset_info(f, idx, name, len, NULL, NULL); + H5_API_RETURN (h5err); } /*! @@ -433,10 +420,9 @@ H5PartGetDatasetInfo ( h5_int64_t *type, /*!< [out] Type of data in dataset */ h5_size_t *nelem /*!< [out] Number of elements. */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_get_dataset_info(f, idx, dataset_name, len_dataset_name, type, nelem); + H5_API_ENTER; + h5_err_t h5err = h5u_get_dataset_info(f, idx, dataset_name, len_dataset_name, type, nelem); + H5_API_RETURN (h5err); } /*! @@ -464,12 +450,10 @@ h5_ssize_t H5PartGetNumParticles ( h5_file_t *f /*!< [in] Handle to open file */ ) { - - H5_ENTER_API( f, __func__ ); - + H5_API_ENTER; CHECK_FILEHANDLE( f ); - - return h5u_get_num_particles( f ); + h5_ssize_t nparticels = h5u_get_num_particles( f ); + H5_API_RETURN (nparticels); } /*! @@ -483,10 +467,9 @@ h5_err_t H5PartResetView ( h5_file_t *f /*!< [in] Handle to open file */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_reset_view ( f ); + H5_API_ENTER; + h5_err_t h5err = h5u_reset_view ( f ); + H5_API_RETURN (h5err); } /*! @@ -502,10 +485,9 @@ h5_err_t H5PartHasView ( h5_file_t *f /*!< [in] Handle to open file */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_has_view ( f ); + H5_API_ENTER; + h5_err_t h5err = h5u_has_view ( f ); + H5_API_RETURN (h5err); } /*! @@ -535,10 +517,9 @@ H5PartSetView ( h5_int64_t start, /*!< [in] Start particle */ h5_int64_t end /*!< [in] End particle */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_set_view ( f, start, end ); + H5_API_ENTER; + h5_err_t h5err = h5u_set_view ( f, start, end ); + H5_API_RETURN (h5err); } /*! @@ -565,10 +546,9 @@ H5PartSetViewIndices ( const h5_id_t *indices, /*!< [in] List of indices */ h5_size_t nelems /*!< [in] Size of list */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_set_view_indices ( f, indices, nelems ); + H5_API_ENTER; + h5_err_t h5err = h5u_set_view_indices ( f, indices, nelems ); + H5_API_RETURN (h5err); } /*! @@ -587,10 +567,9 @@ H5PartGetView ( h5_int64_t *start, /*!< [out] Start particle */ h5_int64_t *end /*!< [out] End particle */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_get_view( f, start, end ); + H5_API_ENTER; + h5_err_t h5err = h5u_get_view( f, start, end ); + H5_API_RETURN (h5err); } /*! @@ -607,9 +586,8 @@ h5_err_t H5PartSetCanonicalView ( h5_file_t *f /*!< [in] Handle to open file */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5u_set_canonical_view( f ); + H5_API_ENTER; + h5_err_t h5err = h5u_set_canonical_view( f ); + H5_API_RETURN (h5err); } diff --git a/src/C/H5_attribs.c b/src/C/H5_attribs.c index c75680b..c76ac08 100644 --- a/src/C/H5_attribs.c +++ b/src/C/H5_attribs.c @@ -20,16 +20,15 @@ H5WriteFileAttribString ( const char *name, /*!< [in] Name of attribute to create */ const char *value /*!< [in] Value of attribute */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_write_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_write_attrib ( f, H5_ATTRIB_FILE, name, H5T_NATIVE_CHAR, value, strlen(value) + 1 ); + H5_API_RETURN (h5err); } /*! @@ -46,16 +45,15 @@ H5WriteStepAttribString ( const char *name, /*!< [in] Name of attribute to create */ const char *value /*!< [in] Value of attribute */ ) { - - H5_ENTER_API ( f, __func__ ); - - return h5_write_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_write_attrib ( f, H5_ATTRIB_STEP, name, H5T_NATIVE_CHAR, value, strlen(value) + 1 ); + H5_API_RETURN (h5err); } /*! @@ -73,16 +71,15 @@ H5WriteFileAttribFloat32 ( const h5_float32_t *values, /*!< [in] Values of attribute */ const h5_size_t nelems /*!< [in] Number of values */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_write_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_write_attrib ( f, H5_ATTRIB_FILE, name, H5T_NATIVE_FLOAT, values, nelems ); + H5_API_RETURN (h5err); } /*! @@ -100,16 +97,15 @@ H5WriteStepAttribFloat32 ( const h5_float32_t *values, /*!< [in] Values of attribute */ const h5_size_t nelems /*!< [in] Number of values */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_write_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_write_attrib ( f, H5_ATTRIB_STEP, name, H5T_NATIVE_FLOAT, values, nelems ); + H5_API_RETURN (h5err); } /*! @@ -127,16 +123,15 @@ H5WriteFileAttribFloat64 ( const h5_float64_t *values, /*!< [in] Values of attribute */ const h5_size_t nelems /*!< [in] Number of values */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_write_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_write_attrib ( f, H5_ATTRIB_FILE, name, H5T_NATIVE_DOUBLE, values, nelems ); + H5_API_RETURN (h5err); } /*! @@ -154,16 +149,15 @@ H5WriteStepAttribFloat64 ( const h5_float64_t *values, /*!< [in] Values of attribute */ const h5_size_t nelems /*!< [in] Number of values */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_write_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_write_attrib ( f, H5_ATTRIB_STEP, name, H5T_NATIVE_DOUBLE, values, nelems ); + H5_API_RETURN (h5err); } /*! @@ -181,16 +175,15 @@ H5WriteFileAttribInt32 ( const h5_int32_t *values, /*!< [in] Values of attribute */ const h5_size_t nelems /*!< [in] Number of values */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_write_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_write_attrib ( f, H5_ATTRIB_FILE, name, H5T_NATIVE_INT32, values, nelems ); + H5_API_RETURN (h5err); } /*! @@ -208,16 +201,15 @@ H5WriteStepAttribInt32 ( const h5_int32_t *values, /*!< [in] Values of attribute */ const h5_size_t nelems /*!< [in] Number of values */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_write_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_write_attrib ( f, H5_ATTRIB_STEP, name, H5T_NATIVE_INT32, values, nelems ); + H5_API_RETURN (h5err); } /*! @@ -235,16 +227,15 @@ H5WriteFileAttribInt64 ( const h5_int64_t *values, /*!< [in] Values of attribute */ const h5_size_t nelems /*!< [in] Number of values */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_write_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_write_attrib ( f, H5_ATTRIB_FILE, name, H5T_NATIVE_INT64, values, nelems ); + H5_API_RETURN (h5err); } /*! @@ -262,16 +253,15 @@ H5WriteStepAttribInt64 ( const h5_int64_t *values, /*!< [in] Values of attribute */ const h5_size_t nelems /*!< [in] Number of values */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_write_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_write_attrib ( f, H5_ATTRIB_STEP, name, H5T_NATIVE_INT64, values, nelems ); + H5_API_RETURN (h5err); } /*** READ ***/ @@ -290,15 +280,14 @@ H5ReadFileAttribString ( const char *name, /*!< [in] Name of attribute to create */ char *buffer /*!< [out] Value of attribute */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_read_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_read_attrib ( f, H5_ATTRIB_FILE, name, H5_STRING_T, (void*)buffer); + H5_API_RETURN (h5err); } /*! @@ -315,15 +304,14 @@ H5ReadStepAttribString ( const char *name, /*!< [in] Name of attribute to create */ char *buffer /*!< [out] Value of attribute */ ) { - - H5_ENTER_API ( f, __func__ ); - - return h5_read_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_read_attrib ( f, H5_ATTRIB_STEP, name, H5_STRING_T, (void*)buffer); + H5_API_RETURN (h5err); } /*! @@ -340,15 +328,14 @@ H5ReadFileAttribInt32 ( const char *name, /*!< [in] Name of attribute to create */ h5_int32_t *buffer /*!< [out] Values of attribute */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_read_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_read_attrib ( f, H5_ATTRIB_FILE, name, H5_INT32_T, (void*)buffer); + H5_API_RETURN (h5err); } /*! @@ -365,15 +352,14 @@ H5ReadStepAttribInt32 ( const char *name, /*!< [in] Name of attribute to create */ h5_int32_t *buffer /*!< [out] Values of attribute */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_read_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_read_attrib ( f, H5_ATTRIB_STEP, name, H5_INT32_T, (void*)buffer); + H5_API_RETURN (h5err); } /*! @@ -390,15 +376,14 @@ H5ReadFileAttribInt64 ( const char *name, /*!< [in] Name of attribute to create */ h5_int64_t *buffer /*!< [out] Values of attribute */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_read_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_read_attrib ( f, H5_ATTRIB_FILE, name, H5_INT64_T, (void*)buffer); + H5_API_RETURN (h5err); } /*! @@ -415,15 +400,14 @@ H5ReadStepAttribInt64 ( const char *name, /*!< [in] Name of attribute to create */ h5_int64_t *buffer /*!< [out] Values of attribute */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_read_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_read_attrib ( f, H5_ATTRIB_STEP, name, H5_INT64_T, (void*)buffer); + H5_API_RETURN (h5err); } /*! @@ -440,15 +424,14 @@ H5ReadFileAttribFloat32 ( const char *name, /*!< [in] Name of attribute to create */ h5_float32_t *buffer /*!< [out] Values of attribute */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_read_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_read_attrib ( f, H5_ATTRIB_FILE, name, H5_FLOAT32_T, (void*)buffer); + H5_API_RETURN (h5err); } /*! @@ -465,15 +448,14 @@ H5ReadStepAttribFloat32 ( const char *name, /*!< [in] Name of attribute to create */ h5_float32_t *buffer /*!< [out] Values of attribute */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_read_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_read_attrib ( f, H5_ATTRIB_STEP, name, H5_FLOAT32_T, (void*)buffer); + H5_API_RETURN (h5err); } /*! @@ -490,15 +472,14 @@ H5ReadFileAttribFloat64 ( const char *name, /*!< [in] Name of attribute to create */ h5_float64_t *buffer /*!< [out] Values of attribute */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_read_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_read_attrib ( f, H5_ATTRIB_FILE, name, H5_FLOAT64_T, (void*)buffer); + H5_API_RETURN (h5err); } /*! @@ -515,15 +496,14 @@ H5ReadStepAttribFloat64 ( const char *name, /*!< [in] Name of attribute to create */ h5_float64_t *buffer /*!< [out] Values of attribute */ ) { - - H5_ENTER_API( f, __func__ ); - - return h5_read_attrib ( + H5_API_ENTER; + h5_err_t h5err = h5_read_attrib ( f, H5_ATTRIB_STEP, name, H5_FLOAT64_T, (void*)buffer); + H5_API_RETURN (h5err); } /*** QUERY ***/ @@ -539,9 +519,9 @@ h5_int64_t H5GetNumFileAttribs ( h5_file_t *const f /*!< [in] Handle to open file */ ) { - H5_ENTER_API( f, __func__ ); - - return h5_get_num_attribs ( f, H5_ATTRIB_FILE ); + H5_API_ENTER; + h5_int64_t nattribs = h5_get_num_attribs ( f, H5_ATTRIB_FILE ); + H5_API_RETURN (nattribs); } /*! @@ -549,15 +529,15 @@ H5GetNumFileAttribs ( Gets the number of attributes bound to the current step. - \return Number of attributes or error code. + \h5_err_t h5err = Number of attributes or error code. */ h5_int64_t H5GetNumStepAttribs ( h5_file_t *const f /*!< [in] Handle to open file */ ) { - H5_ENTER_API( f, __func__ ); - - return h5_get_num_attribs ( f, H5_ATTRIB_STEP ); + H5_API_ENTER; + h5_int64_t nattribs = h5_get_num_attribs ( f, H5_ATTRIB_STEP ); + H5_API_RETURN (nattribs); } @@ -586,13 +566,8 @@ H5GetFileAttribInfo ( h5_int64_t *attrib_type, /*!< [out] Type of value. */ h5_size_t *attrib_nelem /*!< [out] Number of elements */ ) { - - H5_ENTER_API ( f, __func__ ); - - if ( h5_check_filehandle ( f ) != H5_SUCCESS ) - return h5_get_errno ( f ); - - return h5_get_attrib_info ( + H5_API_ENTER; + h5_int64_t h5err = h5_get_attrib_info ( f, H5_ATTRIB_FILE, attrib_idx, @@ -600,6 +575,7 @@ H5GetFileAttribInfo ( len_of_attrib_name, attrib_type, attrib_nelem ); + H5_API_RETURN (h5err); } /*! @@ -626,13 +602,8 @@ H5GetStepAttribInfo ( h5_int64_t *attrib_type, /*!< [out] Type of value. */ h5_size_t *attrib_nelem /*!< [out] Number of elements */ ) { - - H5_ENTER_API ( f, __func__ ); - - if ( h5_check_filehandle ( f ) != H5_SUCCESS ) - return h5_get_errno( f ); - - return h5_get_attrib_info ( + H5_API_ENTER; + h5_int64_t h5err = h5_get_attrib_info ( f, H5_ATTRIB_STEP, attrib_idx, @@ -640,5 +611,6 @@ H5GetStepAttribInfo ( len_of_attrib_name, attrib_type, attrib_nelem ); + H5_API_RETURN (h5err); } diff --git a/src/h5core/Makefile.am b/src/h5core/Makefile.am index af60f1d..9233d8b 100644 --- a/src/h5core/Makefile.am +++ b/src/h5core/Makefile.am @@ -14,6 +14,7 @@ EXTRA_HEADERS = \ ../include/h5core/h5_maps.h \ ../include/h5core/h5_openclose.h \ ../include/h5core/h5_readwrite.h \ + ../include/h5core/h5_syscall.h \ ../include/h5core/h5_types.h \ ../include/h5core/h5u_readwrite.h \ ../include/h5core/h5b_readwrite.h \ diff --git a/src/h5core/h5_core_private.h b/src/h5core/h5_core_private.h index 7f46180..b750fbb 100644 --- a/src/h5core/h5_core_private.h +++ b/src/h5core/h5_core_private.h @@ -1,6 +1,16 @@ #ifndef __H5_CORE_PRIVATE_H #define __H5_CORE_PRIVATE_H +#define H5_CORE_API_ENTER { \ + h5_debug (f, "%s", " "); \ + } \ + +#define H5_CORE_API_RETURN(retval) \ + \ + goto exit; \ + exit: \ + return (retval); \ + /* WARNING! Changing these values will alter the data model and introduce * file incompatibilities with previous versions. */ #define H5_DATANAME_LEN 64 @@ -38,9 +48,6 @@ #include "h5u_errorhandling_private.h" #include "h5u_types_private.h" -#define TRY( func ) \ - if ((int64_t)(ptrdiff_t)(func) <= (int64_t)H5_ERR) \ - return H5_ERR; #ifdef IPL_XT3 # define SEEK_END 2 diff --git a/src/h5core/h5_syscall_private.h b/src/h5core/h5_syscall_private.h index 686988f..9e6bb59 100644 --- a/src/h5core/h5_syscall_private.h +++ b/src/h5core/h5_syscall_private.h @@ -1,25 +1,5 @@ -#ifndef __H5_SYSCALL_H -#define __H5_SYSCALL_H - -void* -h5_alloc ( - h5_file_t* const f, - void* ptr, - const size_t size - ); - -void* -h5_calloc ( - h5_file_t* const f, - const size_t count, - const size_t size - ); - -h5_err_t -h5_free ( - h5_file_t* const f, - void* ptr - ); +#ifndef __H5_SYSCALL_PRIVATE_H +#define __H5_SYSCALL_PRIVATE_H char* h5priv_strdup ( diff --git a/src/h5core/h5t_retrieve.c b/src/h5core/h5t_retrieve.c index b524f25..80e301e 100644 --- a/src/h5core/h5t_retrieve.c +++ b/src/h5core/h5t_retrieve.c @@ -194,6 +194,8 @@ h5t_init_leaf_iterator ( h5t_iterator_t* iter, int codim ) { + H5_CORE_API_ENTER; + h5_err_t h5err = H5_SUCCESS; h5t_leaf_iterator_t* it = (h5t_leaf_iterator_t*)&iter->leaf; it->face_idx = 999; it->elem_idx = -1; @@ -206,30 +208,18 @@ h5t_init_leaf_iterator ( } else if (it->codim == 0) { it->iter = iterate_leaf_elems; } - return H5_SUCCESS; + H5_CORE_API_RETURN (h5err); } h5_err_t -h5t_create_leaf_iterator ( +h5t_init_boundary_face_iterator ( h5_file_t* f, - h5t_iterator_t** iter, + h5t_iterator_t* iter, int codim ) { + H5_CORE_API_ENTER; + h5_err_t h5err = H5_SUCCESS; h5t_leaf_iterator_t* it; - TRY( it = h5_calloc (f, 1, sizeof (h5t_leaf_iterator_t)) ); - TRY( h5t_init_leaf_iterator (f, (h5t_iterator_t*)it, codim) ); - *iter = (h5t_iterator_t*)it; - return H5_SUCCESS; -} - -h5_err_t -h5t_create_boundary_face_iterator ( - h5_file_t* f, - h5t_iterator_t** iter, - int codim - ) { - h5t_leaf_iterator_t* it; - TRY( it = h5_calloc (f, 1, sizeof (h5t_leaf_iterator_t)) ); it->face_idx = 999; // just a high enough number it->elem_idx = -1; it->codim = codim; @@ -244,25 +234,25 @@ h5t_create_boundary_face_iterator ( else if (it->codim > 1) { it->iter = iterate_boundary_faces; } - *iter = (h5t_iterator_t*)it; - return H5_SUCCESS; + H5_CORE_API_RETURN (h5err); } h5_err_t -h5t_create_mtag_iterator ( +h5t_init_mtag_iterator ( h5_file_t* f, - h5t_iterator_t** iter, + h5t_iterator_t* iter, const char* name ) { - h5t_tag_iterator_t* it; - TRY( it = h5_calloc (f, 1, sizeof (*it)) ); - h5t_open_mtagset (f, name, &it->tagset); + H5_CORE_API_ENTER; + h5_err_t h5err = H5_SUCCESS; + h5t_tag_iterator_t* it = (h5t_tag_iterator_t*)iter; + TRY2( h5err = h5t_open_mtagset (f, name, &it->tagset) ); it->elem_idx = -1; it->subentity_idx = 999; it->level_idx = f->t->cur_level; it->iter = iterate_tags; - *iter = (h5t_iterator_t*)it; - return H5_SUCCESS; + h5err = H5_SUCCESS; + H5_CORE_API_RETURN (h5err); } h5_err_t @@ -270,7 +260,9 @@ h5t_release_entity_iterator ( h5_file_t* const f, h5t_iterator_t* iter ) { - return h5_free (f, iter); + H5_CORE_API_ENTER; + h5_err_t h5err = h5_free (f, iter); + H5_CORE_API_RETURN (h5err); } h5_loc_id_t @@ -278,8 +270,10 @@ h5t_iterate_entities ( h5_file_t* const f, h5t_iterator_t* iter ) { + H5_CORE_API_ENTER; h5t_generic_iterator_t* it = (h5t_generic_iterator_t*)iter; - return (it->iter (f, iter)); + h5_err_t h5err = it->iter (f, iter); + H5_CORE_API_RETURN (h5err); } h5_err_t @@ -288,12 +282,14 @@ h5t_end_iterate_entities ( h5t_iterator_t* iter ) { UNUSED_ARGUMENT (f); + H5_CORE_API_ENTER; + h5_err_t h5err = H5_SUCCESS; bzero (iter, sizeof(*iter)); - h5t_leaf_iterator_t* it = (h5t_leaf_iterator_t*)&iter->leaf; + h5t_leaf_iterator_t* it = (h5t_leaf_iterator_t*)iter; it->face_idx = -1; it->elem_idx = -1; it->codim = -1; - return H5_SUCCESS; + H5_CORE_API_RETURN (h5err); } h5_err_t @@ -302,9 +298,11 @@ h5t_get_vertex_coords_by_index ( h5_loc_idx_t vertex_index, h5_float64_t P[3] ) { + H5_CORE_API_ENTER; + h5_err_t h5err = H5_SUCCESS; h5_loc_vertex_t *vertex = &f->t->vertices[vertex_index]; memcpy ( P, &vertex->P, sizeof ( vertex->P ) ); - return H5_SUCCESS; + H5_CORE_API_RETURN (h5err); } h5_err_t @@ -313,9 +311,11 @@ h5t_get_vertex_coords_by_id ( h5_loc_id_t vertex_id, h5_float64_t P[3] ) { + H5_CORE_API_ENTER; + h5_err_t h5err = H5_SUCCESS; h5_loc_idx_t vertex_index; - h5t_get_vertex_index_of_vertex (f, vertex_id, &vertex_index ); - h5t_get_vertex_coords_by_index (f, vertex_index, P); - return H5_SUCCESS; + TRY2( h5err = h5t_get_vertex_index_of_vertex (f, vertex_id, &vertex_index) ); + TRY2( h5t_get_vertex_coords_by_index (f, vertex_index, P) ); + H5_CORE_API_RETURN (h5err); } diff --git a/src/include/H5Fed_inquiry.h b/src/include/H5Fed_inquiry.h index da14385..e97ce5d 100644 --- a/src/include/H5Fed_inquiry.h +++ b/src/include/H5Fed_inquiry.h @@ -18,13 +18,13 @@ #ifndef __H5FED_INQUIRY_H #define __H5FED_INQUIRY_H -h5_size_t H5FedGetNumMeshes ( h5_file_t * const f, const h5_oid_t type_id ); -h5_size_t H5FedGetNumLevels ( h5_file_t * const f ); -h5_id_t H5FedGetLevel ( h5_file_t * const f ); -h5_size_t H5FedGetNumVertices ( h5_file_t * const f ); -h5_size_t H5FedGetNumVerticesCnode ( h5_file_t * const f, const h5_id_t cnode ); -h5_size_t H5FedGetNumVerticesTotal ( h5_file_t * const f ); -h5_size_t H5FedGetNumElements ( h5_file_t * const f ); -h5_size_t H5FedGetNumElementsCnode ( h5_file_t * const f, const h5_id_t cnode ); -h5_size_t H5FedGetNumElementsTotal ( h5_file_t * const f ); +h5_ssize_t H5FedGetNumMeshes ( h5_file_t * const f, const h5_oid_t type_id ); +h5_ssize_t H5FedGetNumLevels ( h5_file_t * const f ); +h5t_lvl_idx_t H5FedGetLevel ( h5_file_t * const f ); +h5_ssize_t H5FedGetNumVertices ( h5_file_t * const f ); +h5_ssize_t H5FedGetNumVerticesCnode ( h5_file_t * const f, const h5_id_t cnode ); +h5_ssize_t H5FedGetNumVerticesTotal ( h5_file_t * const f ); +h5_ssize_t H5FedGetNumElements ( h5_file_t * const f ); +h5_ssize_t H5FedGetNumElementsCnode ( h5_file_t * const f, const h5_id_t cnode ); +h5_ssize_t H5FedGetNumElementsTotal ( h5_file_t * const f ); #endif diff --git a/src/include/H5Fed_store.h b/src/include/H5Fed_store.h index 21b2c96..cd4b534 100644 --- a/src/include/H5Fed_store.h +++ b/src/include/H5Fed_store.h @@ -25,7 +25,7 @@ H5FedAddMesh ( const h5_oid_t mesh_type_id ); -h5_id_t +h5t_lvl_idx_t H5FedAddLevel ( h5_file_t * const f ); diff --git a/src/include/H5Fed_tags.h b/src/include/H5Fed_tags.h index 7f502dd..81e9653 100644 --- a/src/include/H5Fed_tags.h +++ b/src/include/H5Fed_tags.h @@ -11,7 +11,7 @@ H5FedRemoveMTagset ( h5_file_t* const f, char name[] ); -h5_size_t +h5_ssize_t H5FedGetMTagsets ( h5_file_t* const f, char** names[] diff --git a/src/include/h5core/h5_core.h b/src/include/h5core/h5_core.h index 477a016..8cd8d9c 100644 --- a/src/include/h5core/h5_core.h +++ b/src/include/h5core/h5_core.h @@ -3,6 +3,15 @@ #define UNUSED_ARGUMENT(x) (void)x +#define TRY( func ) \ + if ((int64_t)(ptrdiff_t)(func) <= (int64_t)H5_ERR) \ + return H5_ERR; \ + +#define TRY2( func ) \ + if ((int64_t)(ptrdiff_t)(func) <= (int64_t)H5_ERR) \ + goto exit; \ + + #include "h5_types.h" #include "h5_errno.h" @@ -11,6 +20,7 @@ #include "h5_maps.h" #include "h5_openclose.h" #include "h5_readwrite.h" +#include "h5_syscall.h" #include "h5u_readwrite.h" #include "h5u_model.h" diff --git a/src/include/h5core/h5_errorhandling.h b/src/include/h5core/h5_errorhandling.h index 8161b31..996382c 100644 --- a/src/include/h5core/h5_errorhandling.h +++ b/src/include/h5core/h5_errorhandling.h @@ -225,13 +225,15 @@ h5_set_funcname ( const char * const fname ); -static inline void -H5_ENTER_API ( - h5_file_t* const f, - const char* const fname - ) { - h5_set_funcname( f, fname ); - h5_debug (f, "%s", " "); // just print the function name -} +#define H5_API_ENTER { \ + h5_set_funcname( f, __func__ ); \ + h5_debug (f, "%s", " "); \ + } \ + +#define H5_API_RETURN(retval) \ + \ + goto exit; \ + exit: \ + return retval; \ #endif diff --git a/src/include/h5core/h5_syscall.h b/src/include/h5core/h5_syscall.h new file mode 100644 index 0000000..301d059 --- /dev/null +++ b/src/include/h5core/h5_syscall.h @@ -0,0 +1,23 @@ +#ifndef __H5_SYSCALL_H +#define __H5_SYSCALL_H + +void* +h5_alloc ( + h5_file_t* const f, + void* ptr, + const size_t size + ); + +void* +h5_calloc ( + h5_file_t* const f, + const size_t count, + const size_t size + ); + +h5_err_t +h5_free ( + h5_file_t* const f, + void* ptr + ); +#endif diff --git a/src/include/h5core/h5t_retrieve.h b/src/include/h5core/h5t_retrieve.h index 45a9f85..278403f 100644 --- a/src/include/h5core/h5t_retrieve.h +++ b/src/include/h5core/h5t_retrieve.h @@ -54,16 +54,9 @@ h5t_init_leaf_iterator ( ); h5_err_t -h5t_create_leaf_iterator ( +h5t_init_boundary_face_iterator ( h5_file_t* f, - h5t_iterator_t** iter, - const int codim - ); - -h5_err_t -h5t_create_boundary_face_iterator ( - h5_file_t* f, - h5t_iterator_t** iter, + h5t_iterator_t* iter, const int codim );