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/H5Ostab.c | |
parent | 8eef7d295cc3dd134aef0a826f1de4287629996d (diff) | |
download | hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.zip hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.tar.gz hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.tar.bz2 |
Source formatted
Diffstat (limited to 'src/H5Ostab.c')
-rw-r--r-- | src/H5Ostab.c | 195 |
1 files changed, 90 insertions, 105 deletions
diff --git a/src/H5Ostab.c b/src/H5Ostab.c index cf8c96a..a756b01 100644 --- a/src/H5Ostab.c +++ b/src/H5Ostab.c @@ -22,62 +22,59 @@ *------------------------------------------------------------------------- */ -#define H5G_PACKAGE /*suppress error about including H5Gpkg */ -#define H5O_PACKAGE /*suppress error about including H5Opkg */ - -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5FLprivate.h" /* Free lists */ -#include "H5Gpkg.h" /* Groups */ -#include "H5HLprivate.h" /* Local Heaps */ -#include "H5Opkg.h" /* Object headers */ +#define H5G_PACKAGE /*suppress error about including H5Gpkg */ +#define H5O_PACKAGE /*suppress error about including H5Opkg */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5FLprivate.h" /* Free lists */ +#include "H5Gpkg.h" /* Groups */ +#include "H5HLprivate.h" /* Local Heaps */ +#include "H5Opkg.h" /* Object headers */ /* PRIVATE PROTOTYPES */ -static void *H5O_stab_decode(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, - unsigned mesg_flags, unsigned *ioflags, size_t p_size, const uint8_t *p); +static void * H5O_stab_decode(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, unsigned mesg_flags, unsigned *ioflags, + size_t p_size, const uint8_t *p); static herr_t H5O_stab_encode(H5F_t *f, hbool_t disable_shared, uint8_t *p, const void *_mesg); -static void *H5O_stab_copy(const void *_mesg, void *_dest); +static void * H5O_stab_copy(const void *_mesg, void *_dest); static size_t H5O_stab_size(const H5F_t *f, hbool_t disable_shared, const void *_mesg); static herr_t H5O_stab_free(void *_mesg); static herr_t H5O_stab_delete(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, void *_mesg); -static void *H5O_stab_copy_file(H5F_t *file_src, void *native_src, - H5F_t *file_dst, hbool_t *recompute_size, unsigned *mesg_flags, - H5O_copy_t *cpy_info, void *_udata, hid_t dxpl_id); -static herr_t H5O_stab_post_copy_file(const H5O_loc_t *src_oloc, - const void *mesg_src, H5O_loc_t *dst_oloc, void *mesg_dst, - unsigned *mesg_flags, hid_t dxpl_id, H5O_copy_t *cpy_info); -static herr_t H5O_stab_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, - FILE * stream, int indent, int fwidth); +static void * H5O_stab_copy_file(H5F_t *file_src, void *native_src, H5F_t *file_dst, hbool_t *recompute_size, + unsigned *mesg_flags, H5O_copy_t *cpy_info, void *_udata, hid_t dxpl_id); +static herr_t H5O_stab_post_copy_file(const H5O_loc_t *src_oloc, const void *mesg_src, H5O_loc_t *dst_oloc, + void *mesg_dst, unsigned *mesg_flags, hid_t dxpl_id, + H5O_copy_t *cpy_info); +static herr_t H5O_stab_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, FILE *stream, int indent, + int fwidth); /* This message derives from H5O message class */ const H5O_msg_class_t H5O_MSG_STAB[1] = {{ - H5O_STAB_ID, /*message id number */ - "stab", /*message name for debugging */ - sizeof(H5O_stab_t), /*native message size */ - 0, /* messages are sharable? */ - H5O_stab_decode, /*decode message */ - H5O_stab_encode, /*encode message */ - H5O_stab_copy, /*copy the native value */ - H5O_stab_size, /*size of symbol table entry */ - NULL, /*default reset method */ - H5O_stab_free, /* free method */ - H5O_stab_delete, /* file delete method */ - NULL, /* link method */ - NULL, /*set share method */ - NULL, /*can share method */ - NULL, /* pre copy native value to file */ - H5O_stab_copy_file, /* copy native value to file */ - H5O_stab_post_copy_file, /* post copy native value to file */ - NULL, /* get creation index */ - NULL, /* set creation index */ - H5O_stab_debug /*debug the message */ + H5O_STAB_ID, /*message id number */ + "stab", /*message name for debugging */ + sizeof(H5O_stab_t), /*native message size */ + 0, /* messages are sharable? */ + H5O_stab_decode, /*decode message */ + H5O_stab_encode, /*encode message */ + H5O_stab_copy, /*copy the native value */ + H5O_stab_size, /*size of symbol table entry */ + NULL, /*default reset method */ + H5O_stab_free, /* free method */ + H5O_stab_delete, /* file delete method */ + NULL, /* link method */ + NULL, /*set share method */ + NULL, /*can share method */ + NULL, /* pre copy native value to file */ + H5O_stab_copy_file, /* copy native value to file */ + H5O_stab_post_copy_file, /* post copy native value to file */ + NULL, /* get creation index */ + NULL, /* set creation index */ + H5O_stab_debug /*debug the message */ }}; /* Declare a free list to manage the H5O_stab_t struct */ H5FL_DEFINE_STATIC(H5O_stab_t); - /*------------------------------------------------------------------------- * Function: H5O_stab_decode * @@ -96,11 +93,11 @@ H5FL_DEFINE_STATIC(H5O_stab_t); */ static void * H5O_stab_decode(H5F_t *f, hid_t H5_ATTR_UNUSED dxpl_id, H5O_t H5_ATTR_UNUSED *open_oh, - unsigned H5_ATTR_UNUSED mesg_flags, unsigned H5_ATTR_UNUSED *ioflags, - size_t H5_ATTR_UNUSED p_size, const uint8_t *p) + unsigned H5_ATTR_UNUSED mesg_flags, unsigned H5_ATTR_UNUSED *ioflags, + size_t H5_ATTR_UNUSED p_size, const uint8_t *p) { - H5O_stab_t *stab = NULL; - void *ret_value; /* Return value */ + H5O_stab_t *stab = NULL; + void * ret_value; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -109,8 +106,8 @@ H5O_stab_decode(H5F_t *f, hid_t H5_ATTR_UNUSED dxpl_id, H5O_t H5_ATTR_UNUSED *op HDassert(p); /* decode */ - if(NULL == (stab = H5FL_CALLOC(H5O_stab_t))) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") + if (NULL == (stab = H5FL_CALLOC(H5O_stab_t))) + HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") H5F_addr_decode(f, &p, &(stab->btree_addr)); H5F_addr_decode(f, &p, &(stab->heap_addr)); @@ -118,15 +115,14 @@ H5O_stab_decode(H5F_t *f, hid_t H5_ATTR_UNUSED dxpl_id, H5O_t H5_ATTR_UNUSED *op ret_value = stab; done: - if(ret_value == NULL) { - if(stab != NULL) + if (ret_value == NULL) { + if (stab != NULL) stab = H5FL_FREE(H5O_stab_t, stab); } /* end if */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5O_stab_decode() */ - /*------------------------------------------------------------------------- * Function: H5O_stab_encode * @@ -143,7 +139,7 @@ done: static herr_t H5O_stab_encode(H5F_t *f, hbool_t H5_ATTR_UNUSED disable_shared, uint8_t *p, const void *_mesg) { - const H5O_stab_t *stab = (const H5O_stab_t *) _mesg; + const H5O_stab_t *stab = (const H5O_stab_t *)_mesg; FUNC_ENTER_NOAPI_NOINIT_NOERR @@ -159,7 +155,6 @@ H5O_stab_encode(H5F_t *f, hbool_t H5_ATTR_UNUSED disable_shared, uint8_t *p, con FUNC_LEAVE_NOAPI(SUCCEED) } - /*------------------------------------------------------------------------- * Function: H5O_stab_copy * @@ -179,16 +174,16 @@ 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; /* Return value */ FUNC_ENTER_NOAPI_NOINIT /* check args */ HDassert(stab); - if(!dest && NULL == (dest = H5FL_MALLOC(H5O_stab_t))) - HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed"); + if (!dest && NULL == (dest = H5FL_MALLOC(H5O_stab_t))) + HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed"); /* copy */ *dest = *stab; @@ -200,7 +195,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5O_stab_copy() */ - /*------------------------------------------------------------------------- * Function: H5O_stab_size * @@ -221,7 +215,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; /* Return value */ FUNC_ENTER_NOAPI_NOINIT_NOERR @@ -231,7 +225,6 @@ H5O_stab_size(const H5F_t *f, hbool_t H5_ATTR_UNUSED disable_shared, const void FUNC_LEAVE_NOAPI(ret_value) } - /*------------------------------------------------------------------------- * Function: H5O_stab_free * @@ -258,7 +251,6 @@ H5O_stab_free(void *mesg) FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5O_stab_free() */ - /*------------------------------------------------------------------------- * Function: H5O_stab_delete * @@ -274,7 +266,7 @@ H5O_stab_free(void *mesg) static herr_t H5O_stab_delete(H5F_t *f, hid_t dxpl_id, H5O_t H5_ATTR_UNUSED *open_oh, void *mesg) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -283,14 +275,13 @@ H5O_stab_delete(H5F_t *f, hid_t dxpl_id, H5O_t H5_ATTR_UNUSED *open_oh, void *me HDassert(mesg); /* Free the file space for the symbol table */ - if(H5G__stab_delete(f, dxpl_id, (const H5O_stab_t *)mesg) < 0) + if (H5G__stab_delete(f, dxpl_id, (const H5O_stab_t *)mesg) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to free symbol table") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5O_stab_delete() */ - /*------------------------------------------------------------------------- * Function: H5O_stab_copy_file * @@ -306,15 +297,15 @@ done: *------------------------------------------------------------------------- */ static void * -H5O_stab_copy_file(H5F_t *file_src, void *native_src, H5F_t *file_dst, - hbool_t H5_ATTR_UNUSED *recompute_size, unsigned H5_ATTR_UNUSED *mesg_flags, - H5O_copy_t H5_ATTR_UNUSED *cpy_info, void *_udata, hid_t dxpl_id) +H5O_stab_copy_file(H5F_t *file_src, void *native_src, H5F_t *file_dst, hbool_t H5_ATTR_UNUSED *recompute_size, + unsigned H5_ATTR_UNUSED *mesg_flags, H5O_copy_t H5_ATTR_UNUSED *cpy_info, void *_udata, + hid_t dxpl_id) { - 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 */ + 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 */ FUNC_ENTER_NOAPI_NOINIT @@ -323,34 +314,33 @@ H5O_stab_copy_file(H5F_t *file_src, void *native_src, H5F_t *file_dst, HDassert(file_dst); /* Allocate space for the destination stab */ - if(NULL == (stab_dst = H5FL_MALLOC(H5O_stab_t))) - HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") + if (NULL == (stab_dst = H5FL_MALLOC(H5O_stab_t))) + HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") /* Get the old local heap's size and use that as the hint for the new heap */ - if(H5HL_get_size(file_src, dxpl_id, stab_src->heap_addr, &size_hint) < 0) - HGOTO_ERROR(H5E_SYM, H5E_CANTGETSIZE, NULL, "can't query local heap size") + if (H5HL_get_size(file_src, dxpl_id, stab_src->heap_addr, &size_hint) < 0) + HGOTO_ERROR(H5E_SYM, H5E_CANTGETSIZE, NULL, "can't query local heap size") /* Create components of symbol table message */ - if(H5G__stab_create_components(file_dst, stab_dst, size_hint, dxpl_id) < 0) - HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, NULL, "can't create symbol table components") + if (H5G__stab_create_components(file_dst, stab_dst, size_hint, dxpl_id) < 0) + HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, NULL, "can't create symbol table components") /* Cache stab in udata */ - udata->cache_type = H5G_CACHED_STAB; + udata->cache_type = H5G_CACHED_STAB; udata->cache.stab.btree_addr = stab_dst->btree_addr; - udata->cache.stab.heap_addr = stab_dst->heap_addr; + udata->cache.stab.heap_addr = stab_dst->heap_addr; /* Set return value */ ret_value = stab_dst; done: - if(!ret_value) - if(stab_dst) + if (!ret_value) + if (stab_dst) stab_dst = H5FL_FREE(H5O_stab_t, stab_dst); FUNC_LEAVE_NOAPI(ret_value) } /* H5O_stab_copy_file() */ - /*------------------------------------------------------------------------- * Function: H5O_stab_post_copy_file * @@ -364,14 +354,13 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5O_stab_post_copy_file(const H5O_loc_t *src_oloc, const void *mesg_src, - H5O_loc_t *dst_oloc, void *mesg_dst, unsigned H5_ATTR_UNUSED *mesg_flags, - hid_t dxpl_id, H5O_copy_t *cpy_info) +H5O_stab_post_copy_file(const H5O_loc_t *src_oloc, const void *mesg_src, H5O_loc_t *dst_oloc, void *mesg_dst, + unsigned H5_ATTR_UNUSED *mesg_flags, hid_t dxpl_id, H5O_copy_t *cpy_info) { - const H5O_stab_t *stab_src = (const H5O_stab_t *)mesg_src; - H5O_stab_t *stab_dst = (H5O_stab_t *)mesg_dst; - H5G_bt_it_cpy_t udata; /* B-tree user data */ - herr_t ret_value = SUCCEED; /* Return value */ + const H5O_stab_t *stab_src = (const H5O_stab_t *)mesg_src; + H5O_stab_t * stab_dst = (H5O_stab_t *)mesg_dst; + H5G_bt_it_cpy_t udata; /* B-tree user data */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -383,25 +372,24 @@ H5O_stab_post_copy_file(const H5O_loc_t *src_oloc, const void *mesg_src, HDassert(cpy_info); /* If we are performing a 'shallow hierarchy' copy, get out now */ - if(cpy_info->max_depth >= 0 && cpy_info->curr_depth >= cpy_info->max_depth) + if (cpy_info->max_depth >= 0 && cpy_info->curr_depth >= cpy_info->max_depth) HGOTO_DONE(SUCCEED) /* Set up B-tree iteration user data */ - udata.src_oloc = src_oloc; + udata.src_oloc = src_oloc; udata.src_heap_addr = stab_src->heap_addr; - udata.dst_file = dst_oloc->file; - udata.dst_stab = stab_dst; - udata.cpy_info = cpy_info; + udata.dst_file = dst_oloc->file; + udata.dst_stab = stab_dst; + udata.cpy_info = cpy_info; /* Iterate over objects in group, copying them */ - if((H5B_iterate(src_oloc->file, dxpl_id, H5B_SNODE, stab_src->btree_addr, H5G__node_copy, &udata)) < 0) + if ((H5B_iterate(src_oloc->file, dxpl_id, H5B_SNODE, stab_src->btree_addr, H5G__node_copy, &udata)) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "iteration operator failed") done: FUNC_LEAVE_NOAPI(ret_value) } /* H5O_stab_post_copy_file() */ - /*------------------------------------------------------------------------- * Function: H5O_stab_debug * @@ -418,10 +406,10 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5O_stab_debug(H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id, const void *_mesg, FILE * stream, - int indent, int fwidth) +H5O_stab_debug(H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id, const void *_mesg, FILE *stream, + int indent, int fwidth) { - const H5O_stab_t *stab = (const H5O_stab_t *) _mesg; + const H5O_stab_t *stab = (const H5O_stab_t *)_mesg; FUNC_ENTER_NOAPI_NOINIT_NOERR @@ -432,12 +420,9 @@ H5O_stab_debug(H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id, const void HDassert(indent >= 0); HDassert(fwidth >= 0); - HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, - "B-tree address:", stab->btree_addr); + HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, "B-tree address:", stab->btree_addr); - HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, - "Name heap address:", stab->heap_addr); + HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, "Name heap address:", stab->heap_addr); FUNC_LEAVE_NOAPI(SUCCEED) } - |